基础篇—if和三元运算的区别

来源:互联网 发布:mac retina 13寸壁纸 编辑:程序博客网 时间:2024/05/23 16:56

今天和大家谈谈关于if判断语句和三元运算符的区别,if判断语句相信大家已经用的不能在熟练了,不过我还是啰嗦下其语法:

if(表达式){

执行语句

  }

  如果条件成立则会进入if的作用域并执行其内容,否则该语句结束

  if(表达式){

执行语句

  }else{

执行语句 

  }

   如果if条件不成立则会进入else的作用域并执行其内容

  if(表达式){

 执行语句

}else if(表达式){

执行语句 

}else if(表达式){

执行语句

}

...........

如果if表达式不成立则会进入下一个 else if 的表达式进行再次判断,成立则进入,否则继续.......

在这注意一点,当发生嵌套if结果时如果条件不成立执行的else是根据谁离我进我执行谁的原则.


说完if来讲讲三元运算符

三元运算符:

表达式 ? 表达式1 : 表达式2

什么意思了?

boolean a =true;

String b = a?"你是true":"抱歉你不是true";

System.out.println(b);

运行结果:

你是true


boolean a =false;

String b = a?"你是true":"抱歉你不是true";

System.out.println(b);

运行结果:

抱歉你不是true

分析:这2段代码中通过设置a的真假分别得到 “你是true” “抱歉你不是true” 因此我们发现如果 a 是true 会执行?后面的数据赋值, 如果是false(条件不满足就会执行)好后面的数据赋值。

int a =5;

int b = (5+3)>8?1:2;

System.out.println(b);

结果:2

也可以这么写

System.out.println((a+3)>8?1:2);

执行流程:如果表达式成立,就执行表达式1,否则执行表示2,是不是和if判断语句很相似,如果条件成立执行XXX否则执行XXX

那么两者有什么区别了?

booelan a = true;

if(a)

System.out.println("true");

else

System.out.println("false");

------------------------------------------------

boolean a = true

String b = a?"true":"false";

System.out.println(a);


分析:这只是简单的判断,我们发现三元运算符在对简单的逻辑判断的代码量比if判断结构少,提高了复用性,并且iif判断语句只是单纯的判断并输出结果判断后的结果,而三元运行符,发生了运算符的赋值动作,也就是运算,而if判断结构没有,简单来说就是三元运算符有运算结果,而if判断结果没有运算结果,如果是相对复杂的逻辑判断,三元运算符则不能替代if判断结果,反之如果是简单的逻辑判断三元运算符更加简洁,根据不同情况来选择。

     if(表达式){

    执行语句

}else{

执行语句 

}

0 0
原创粉丝点击