public class Test04 {
public static void main(String[] args) {
int x = 4;
int y = (--x)+(x--)+(x*10);
System.out.println("x = " + x + ",y = " + y);
int a = 10;
int b = 20;
System.out.println((a++) + (++a) + (b--) + b * 10);
}
}
这段代码打印结果不会算
已解决:关键在于变量x和y在计算的过程中在做自增运算,也就是说((a++) + (++a) + (b--) + b * 10)的运算应该是10+12+20+19*10
byte i = 3 +4
这个定义并不会做自动提升
如果是初始值是整数,系统会自动检查是否在byte范围内,如果运算结果在byte内,系统会直接把运算结果赋值给左边。
已解决
关于&&和||的问题
如果左边成立,右边不会运算
举例:
a=10;//
b=20;//
System.out.println((a++)>10&&(b++>10));
System.out.println(a);
System.out.println(b);
打印结果
False
11
20
已解决:因为&&左边是false所以b不会自增
如何把一个整数的个十百千位的数单独取出来
已解决:举例:1234 1234/1000%10,因为int类型的整数做除法得到的结果只能是整数,所以1234/1000的结果本来是1.234,就会转换为1
|
|