(true ? x : 0); 这是一个三目运算符,意思就是如果表达式为true则结果为x否则为0 你这个表达式是:true 结果自然是x而x是你上面定义的 char x = "X" 所以结果会显示为X 下面一条类似,由于表达式是false 所以结果是x 自然最后的结果也就是X 所以整个的结果就是:X X ...
java中三目运算符
x? y:z
x是一个boolean类型,若x为true,结果显示y,若x为false,则结果显示z.2008-06-16
(true ? x : 0); 这是一个三目运算符,意思就是如果表达式为true则结果为x否则为0 你这个表达式是:true 结果自然是x而x是你上面定义的 char x = "X" 所以结果会显示为X 下面一条类似,由于表达式是false 所以结果是x 自然最后的结果也就是X 所以整个的结果就是:
X
X2008-06-16
System.out.println(true ? x : 0);
System.out.println(false ? 10 : x);
这2个的写法没有区别 是一样的结果
System.out.println(true ? x : 0);
System.out.println(true ? 10 : x);
就不是一样的了
你没有进行比较与别的运算
是真的 就是你要的结果2008-06-16
问号前面是判断语句 如果为true 则取冒号前的值 为false 取冒号之后的值2008-06-16
当在三目运算符的时候如果两个类型不一样,一个是char/byte/short 另一个是是整形常量就会输出原来的类型 如果是整形变量如false?i:x 就会输出x的ascii码2017-10-26
多看哈书嘛,书上都有的啊2008-06-16