Java中容易犯错的题

7次阅读

共计 511 个字符,预计需要花费 2 分钟才能阅读完成。


1. 运行以下程序:

    public static void main(String[] args) {
        int s = 2147483647;
        s+=2L;
        System.out.println(s);
    }

不仔细的话很容易就失去了错的答案,因为在 Java 中 int 的取值范畴为: -2^31——2^31-1, 即 -2147483648——2147483647,所以运行失去后果为 -2147483647。


2. 运行程序:

    public static void main(String[] args) {
        int sum = 0;
        for(int x=0;x<10;x++){
            sum+=x;
            if(x % 3 ==0){break;}
        }
        System.out.println(s);
    }

不晓得你是否会失去 6 的后果,都是大意惹得祸,因为当 x 为 0 时循环就会完结,所以 sum 为 0。


3. 运行程序:

    public static void main(String[] args) {
        int i = 1;
        int j = i++;
        if((i==(++j))&&((i++)==j)){i += j;}
        System.out.println(s);
    }

这里将会失去 5:因为 ++ 前置为先将本身加 1 再进行运算,而 ++ 后置为先计算表达式后在进行自加操作。

正文完
 0