java三元运算符注意事项

来源:互联网 发布:第六届软件杯 编辑:程序博客网 时间:2024/05/22 00:45

格式: (条件表达式)?表达式1:表达式2

条件表达式:最后结果需要一定为true或者false,如果为null运行后会报错,如果为其他字符代码格式错误,编译器会提示

表达式1:条件表达式为true时执行

表达式2:条件表达式为false时执行

这里表达式1,2可以是一个变量,一个固定的常量,一个方法,是一个可执行的表达式就行.

实例

  String a = "a";Integer b = 3;Boolean c = true;System.out.println(c ? a : b);

结果

a


注意:1.条件表达式最后一定是true或者false才能正确执行

           2.表达式可以为常量变量,一个可执行的方法。

           3.实例中a,b的类型不同,一个为string,一个为Interger   所以如果让    d = c ? a : b的话,需要注意d的类型.


第三点有个规则

     1 如果表达式1和表达式2操作数具有相同的类型,那么它就是条件表达式的类型。

  2 如果一个表达式的类型是byte、short、char类型的,而另外一个是int类型的常量表达式,且它的值可以用类型byte、short、char三者之一表示的,那么条件表达式的类型就是三者之一

  3 否则,将对操作数类型进行二进制数字提升,而条件表达式的类型就是第二个和第三个操作数被提升之后的类型




原创粉丝点击