int x=10000;
int y=12345678;
System.out.println(x*y);
或
int x=10000;int y=12345678;
int z=x*y;
System.out.println(z);
Eclipse运行均未报错,类似的运行结果都是负数或明显不对的正数,为什么?谢谢老师
理解成编译器规则就可以了,int 类型范围是-2,147,483,648 to +2,147,483,647
int a= 2,147,483,647;
那么 a+1 = -2147483648
如果读者在eclipse中,写入“int a = 2147483648;”,eclipse就会报错,把鼠标悬停在红色波浪线处,就会提示“The literal 2147483648 of type int is out of range.”
234499245 发表于2017-04-15 11:08
好的谢谢
David 发表于2017-04-15 15:41