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