下面代码描述正确的是( )

public class Divide {
    public static void main(String[] args) {
        System.out.println("17.0/0="+17.0/0);  //1        
            System.out.println("17/0="+17/0);      //2
    }
}
A. 编译出错
B. 编译通过,运行时//1和//2均出现异常
C. 编译通过,运行时//1处得到一个无穷大的值,//2出现异常
D. 编译通过,运行时//1出现异常,//2处得到一个无穷大的值

参考答案

C; 因为17.0/0运行先是把int类型的0转换为double类型的0.0,浮点数的除法允许除0.0,结果是无穷大。而2处做的是整数除法,整数是不能除0的,结果会出现java.lang.ArithmeticException异常,故选C项


results matching ""

    No results matching ""