2016-06-19 9 views
-1

JVMがこれらの2つのケースで異なる結果をもたらす理由、なぜコード1に「無限」を与えていないのですか?Java(0/0)と(0/0.0)の出力比較

コード1:CODE1の

class A { 
    public static void main(String args[]) { 
    System.out.println(0/0); 
    } 
} 

出力:スレッドで例外 "メイン" java.lang.ArithmeticException

コード2:

class B { 
    public static void main(String args[]) { 
    System.out.println(0/0.0); 
    } 
} 

CODE2の出力:インフィニティ

答えて

-1

System.out.println(0/0);が第一の動作は、整数の間で行われ、それは整数を返すことができるという理由だけでSystem.out.println(0/0.0); と同じではありません...

用Doubleを使用している2番目の操作は、 positive or negative Infinity,NaN (not a number)など

などを生成することができます
関連する問題