逻辑运算符
符号 |
含义 |
运算规则 |
! |
逻辑非, not, 不 |
求反 |
&& |
逻辑与, and, 并且 |
只有两端都为true结果才为true |
|| |
逻辑或, or, 或者 |
只要有一端为true结果就为true |
注意: 逻辑运算符只对逻辑值(boolean)进行运算, 它的两侧必须是boolean表达式!
运算符优先级
() > ! > 算术运算 > 比较运算 > && > || > 赋值运算符
if结构
if(条件){
代码块
}
后续代码
执行过程: 条件成立则执行里面的代码块,然后执行后续的代码; 条件不成立则跳过代码块, 直接执行后续代码.
if-else结构
if(条件){
代码块1
}else{
代码块2
}
后续代码
条件成立则执行代码块1, 否则执行代码块2.
多重if
if(条件1){
代码块1
}else if(条件2){
代码块2
} ... {
} else {
}
执行过程: 依次判断各个条件, 为真则执行其中的代码块, 然后跳出整个结构.
嵌套if
只要你需要判断(存在如果的逻辑), 大胆写if就好,管它嵌套不嵌套.
String型的等值比较
strA.equals(strB)
switch选择结构
switch( 表达式 ){
case 常量:
代码块
break;
case 常量:
代码块
break;
...
default:
代码块;
break;
}
执行过程: 计算表达式的值, 和case后的常量进行一一等值比较, 如果相等, 执行相应的代码块, 遇到break则跳出整个switch结构; 如果没有匹配的case块, 则执行default中的代码块.
switch的限制:
1.表达式只支持byte,short,int,char,enum(枚举),String(jdk1.8+)类型.
2.只支持等值判断
省略break的特殊情况:
如果某个case匹配上了表达式, 而这个case中没有break, 则无脑向下执行代码, 直到遇到break为止!
注意:
default块不一定要放在最后
多个case后的常量不能相等