习题1:
System.out.println('0'+"ak"+47);
System.out.println('0'+47+"ak");
答案:
0ak47
95ak
遇到字符串之前,数据参与运算;遇到字符串后,数据与字符串相连接,组成新字符串。
1)0的ascii码是48
2)""与数字相加为""
3)''与数字相加为ascii码与数字之和的ascii码
4)''为char,""为String
习题2:
float f=5+5.5
变量f是float类型,5+5.5的结果是double类型,将double 赋值给float 会出现损失进度问题
习题3:
short s = 1;
s = s + 1;
和
short s = 1;
s+=1;
1)1为int型,s+1运算结果为int型,int比short范围广,大范围到小范围要强转.
2)s+=1是先把s+1进行运算,将得到的结果强制转换后赋值给s
习题4:
int a = 10;
int b = (--a)+(a--)+(a*10);
System.out.println(a);
System.out.println(b);
1)--a 9 参与运算,结果为9
2)a-- 9 参与运算,结果为8
3)a*10 a=8参与运算,结果为80
4)(a--)或(a++)中括号是在a++运算后再起作用
|
|