基础篇—if和三元运算的区别
今天和大家谈谈关于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{
执行语句
}
if(表达式){ 执行语句 }else{ 执行语句 }