public class OperateDemo {
public static void main(String[] args) {
int num = 60;
int n1 = num & 15;
if (n1 > 9) {
char c = (char) (n1 - 10 + 'A');
System.out.println(c);
} else
System.out.println(n1);
num = num >> 4;
int n2 = num & 15;
if (n1 > 9) {
char c = (char) (n2 - 10 + 'A');
System.out.println(c);
} else
System.out.println(n2);
}
}
百度了解原因是这样
在表达式中
会以表达式当中的最大数据类型为参考
计算出的结果会隐式转换为那个最大数据类型
三目条件运算符与 if...else 结构性质并不是完全相同的,绝对不是对if else的封装。从效率上来看,一般是if else比较高,因为三目运算的话,可能还会涉及到数据类型转换的问题。
最后 求分分
|