逻辑运算符
- 逻辑运算符包含 & | ^(不同为true,相同为false) !
- && ||
位运算符
- & | ^ ~ >> >>> <<
- & 有0则0
- | 有1则1
- ^ 相同则0,不同则1
- ~ 按位取反
- <<左移
- .>>右移
- .>>>无符号右移
三元运算符的用法
- 三元运算符的表达式 (关系表达式)?表达式1:表达式2;
流程控制语句
流程控制语句的分类
- 顺序结构
- 选择结构
- 循环结构
选择结构的分类
if语句 (三种格式)
格式1
if(比较表达式){ 语句体 }
- 无论比较表达式简单还是复杂,结果必须是boolean类型
- if语句控制的语句体如果是一句话,大括号可以省略,如果是多条语句就不能省略(如:int x = 10;是两句话)
- 一般来说有左大括号就没有分号,有分号就没有左大括号
- 格式2
if(比较表达式){ 语句体1; }else{ 语句体2; }
能用三元运算符的一定能用if语句,反之不成立(如比较后执行输出语句)
- 格式3
if(比较表达式){ 语句体; }else if { 语句体; } .... else{ 语句体n+1 }
switch语句
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
switch的注意事项
- case后面只能是常量,不能是变量,而且多个case后面的值不能出现相同的
- default可以省略,但不建议
- default不一定在最后
- switch语句结束条件 1遇到break 2遇到switch右大括号
注意case穿透
看程序写结果
```python
int x = 2;
int y = 3;
switch(x){
default:
y++;
break;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
```
(4)
```python
int x = 2;
int y = 3;
switch(x){
default:
y++;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
```
(6)
switch 语句和 if 语句各自使用场景
- switch建议判断固定值的时候用
- if建议判断范围值的时候用
条件判断测试题
键盘录入月份,输出对应季节
3,4,5春季6,7,8夏季9,10,11秋季12,13,14冬季
import java.util.Scanner;
class Test3_SwitchIf {
publicstatic void main(String[] args){
Scanner sc = new Scanner(System.in);
int month = se.nextInt();
case 3:
case 4:
case 5:
System.out.println(month + "月是春季");
break;
case 6:
case 7:
case 8:
System.out.println(month + "月是夏季");
break;
case 9:
case 10:
case 11:
System.out.println(month + "月是秋季");
break;
case 12:
case 1:
case 2:
System.out.println(month + "月是秋季");
break;
default:
System.out.println("对不起,没有这个季节!");
break;
}
}
````
用if语句来完成月份对应的季节
<div class="se-preview-section-delimiter"></div>
```python
if(month>12||month<1){
System.println("对不起,没有这个季节!");
}else if(month>=3 && month<=5){
System.out.println(month+"月是春季");
}else if(month>=6 && month<=8){
System.out.println(month+"月是夏季");
}else if(month>=9 && month <=11){
System.out.println(month+"月是秋季");
}else {
System.out.println(month+"月是冬季")
}