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再进行运算,而++后置为先计算表达式后在进行自加操作。