赋值符
int a = 10;
a += a-= a *= a;
a最后得到的是-80
原理:
赋值符号的左侧的a一直都是初始值
右侧是相应的运算结果
也就是先算到最右边是100
然后是10-100=-90
最后才是10+(-90)=-80
问号表达式,一个面试题目
int a = 10;
double b = 3.3;
System.out.println(a>b?a:b);
问输什么
这个很容易让人想到double与int 的大小关系
以为是3.3或者是10
其实原理是酱紫的
问号表达式的冒号两边类型不一致时,精度低的会向精度高的转换
也就是输出10.0