첫째, 판사 문장
1, 그것은 하나의 문을 선고 경우 결정 1--
구문 :
{(관계식)의 경우
, 그 문;
}
구현 과정 :
-
-
- 먼저 표현식이 참인지 거짓 사이의 관계를 결정하는 구조를 보면;
- 문이 몸의 구현에 TRUE 인 경우;
- 문이 몸을 실행하지 않습니다 false 인 경우.
- 먼저 표현식이 참인지 거짓 사이의 관계를 결정하는 구조를 보면;
-
순서도 :
2, 판사 문장 2-- ... else 문 경우
구문 :
경우 (관계식) {
문 본체 (1);.
} {다른 사람의
문장 2;
}
구현 과정 :
-
-
- 우선, 결과가 참 또는 거짓 표시 식의 관계를 결정하고;
- 성명 이행 본체 (1)에 true의 경우;
- 본체 (2)의 구현에 허위 진술하는 경우;
- 우선, 결과가 참 또는 거짓 표시 식의 관계를 결정하고;
-
순서도 :
3, 판사 문장 3 - 경우는 ... 다른 경우 ... else 문
구문 :
경우 (판정 조건 1) {
문 1 실행;
}는 다른 경우 (판정 조건 2) {
명령문이 실행;
}
...
}는 다른 경우 (N-판정 조건) {
N- 문을 실행;
{}는 다른
실행 문 N + 1;
}
구현 과정 :
-
-
- 우선, 결과가 참인지 거짓 확인하기 식 1의 관계를 결정하고;
- 성명 이행 본체 (1)에 true의 경우;
- 이 결과는 참 또는 거짓보고 표현 둘 사이의 관계를 결정하기 위해 계속 false 인 경우;
- 문은 본체 (2)의 구현에 true의 경우;
- 이 표현 사이의 관계를 결정하기 위해 계속 거짓이면 ... 결과가 참인지 거짓 참조;
- .....
- 발현 간의 관계가 참이없는 경우, 문이 실행된다 바디 N + 1
- 우선, 결과가 참인지 거짓 확인하기 식 1의 관계를 결정하고;
-
流程图:
4、if 语句和三元运算符的互换
在某些简单的应用中, 可以使用 if...else 语句和三元运算符互换使用的。这样看起来更简便一些。
Demo:
1 public static void main(String[] args) {
2 int a = 10;
3 int b = 20;
4 //定义变量,保存a和b的较大值
5 int c;
6 if(a > b) {
7 c = a;
8 } else {
9 c = b;
10 }
11 //可以上述功能改写为三元运算符形式
12 c = a > b ? a:b;
13 }
二、选择语句
1、选择语句 -- switch
语句格式:
switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程:
-
-
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
- 首先计算出表达式的值
-
流程图:
注意:switch语句中,表达式的数据类型,可以是byte,short,int,char,enum(枚举),JDK7后可以接收字符串(String)。
2、case 的穿透性
在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束。
Demo:
1 public static void main(String[] args) {
2 int i = 5;
3 switch (i){
4 case 0:
5 System.out.println("执行case0");
6 break;
7 case 5:
8 System.out.println("执行case5");
9 case 10:
10 System.out.println("执行case10");
11 default:
12 System.out.println("执行default");
13 }
14 }
上述程序中,执行case5后,由于没有break语句,程序会一直向后走,不会在判断case,也不会理会break,直接 运行完整体switch。
Tips:在使用 switch 语句时,写上 break 语句是非常有必要的。