三元运算符

/*
 运算符之六  三元运算符
 (条件表达式)? 表达式1  :表达式2
 2.说明
  条件表达式的结果为boolean类型
  根据条件表达式真或假 决定执行表达式1 还是表达式2
  如果表达式为true  则执行表达式1
  如果表达式为false 则执行表达式2
  表达式1 和表达式2要求是一致的
  三元运算符可以嵌套使用
3.凡是可以使用三元运算符的地方 都可以改写为if-else
反之 不成立
4.如果程序既可以使用三元运算符  又可以使用if-else结构 那么优先选择三元运算符 原因 简介 执行效率高
*/
class  SanYuanTest
{
 public static void main(String[] args)
 {
  //获取两个整数的较大值
  int m=12;
  int n=5;
  int max=(m>n)?m:n;
  System.out.println(max);
  double num=(m >n )?2 : 1.0;
  //(m>n)?2:"n大";//编译错误
  //********************
  n=12;
  String maxStr=(m>n)?"m大":((m==n)?"m和n相等":"n大");
  System.out.println(maxStr);
  //****************************
  //获取三个数的最大值
  int n1=12;
  int n2=30;
  int n3=-43;
  int max1=(n1>n2)?n1:n2;
  int max2=(max1>n3)?max1:n3;
  System.out.println("三个数中的最大值为:"+max2);
       
  //不建议
  int max3=(((n1>n2)?n1:n2)>n3)?((n1>n2)?n1:n2):n3;
  System.out.println("三个数中的最大值为:"+max3);
  
  //改写成if-else
  if(m>n){
   System.out.println(m);
  }else{
   System.out.println(n);
  }
 }
}
posted @ 2019-12-26 18:58  code、sky  阅读(1238)  评论(0编辑  收藏  举报