まず、裁判官文
1は、それが単一の文文かどうかが決定されます1--
構文:
{(関係式)であれば
、そのステートメント;
}
実装プロセス:
-
-
- 最初の式が真か偽の間の関係を決定するための構造を見て。
- 声明は、身体の実装にtrueの場合、
- 文がfalseの場合、本体を実行しません。
- 最初の式が真か偽の間の関係を決定するための構造を見て。
-
フローチャート:
2、裁判官の文章2--場合... else文
構文:
IF(関係式){
文体1;
} {他の
文2;
}
実装プロセス:
-
-
- まず、結果が真か偽見るために表現との間の関係を決定します。
- 声明は、実装本体1にtrueの場合、
- 本体2の実施に関する虚偽の陳述の場合、
- まず、結果が真か偽見るために表現との間の関係を決定します。
-
フローチャート:
3、裁判官は文3 - もし...もし他に... else文
構文:
IF(判定条件1){
文1を実行し;
}そうでない場合(判定条件2){
文2を実行;
}
...
}そうであれば(N-決意条件){
N-文を実行し、
{}そうでなければ
実行文のn + 1。
}
実装プロセス:
-
-
- まず、結果が真であるか偽である参照する式1の関係を決定します。
- 声明は、実装本体1にtrueの場合、
- 結果が真か偽見るための式2との間の関係を決定するために継続して偽の場合。
- 声明は、本体2の実装にtrueの場合、
- 表現の間の関係を決定するために続けることがfalseの場合...結果が真か偽参照。
- .....
- 表現の間に関係がない場合は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 语句是非常有必要的。