格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2

运算原理:

布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。

布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。

相关视频教程推荐:java学习

立即学习“Java免费学习笔记(深入)”;

示例如下:

package test;

public class Test {

 public static void main(String[] args) {
     // 方式一
  Object o1 = true ? new Integer(1) : new Double(2.0);
  // 方式二
  Object o2;
  if (true)
   o2 = new Integer(1);
  else
   o2 = new Double(2.0);
  
  System.out.println(o1);
  System.out.println(o2);
  // 方式三
  Integer i = new Integer(1);
  if (i.equals(1))
   i = null;
  Double d = new Double(2.0);
  Object o3 = true ? i : d;    // 空指针异常
  System.out.println(o3);
 }

}
登录后复制

运算结果:

在印象中一和二两种方式应该是等效的,但是得到的结果却不一样。由此可见,三目运算符会在有需要的情况下,对操作数进行类型提升。注意:只是在有需要的时候,否则会抛出空指针异常。

更多相关文章推荐:java编程入门

以上就是java中三目元算符的运算原理的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部