Java支持以下控制结构:
条件控制语句:if,if - else,if - else if,switch
循环语句:while,do - while,for循环,死循环
循环的中断语句:break,continue
条件控制语句
1、if 语句
(1)语法结构:if (单一条件)
if(条件表达式){
执行语句块;
}
(2)执行流程
int a = 1,b = 2;
if ( a < b ) {
System.out.println(a); // 输出结果为 1
}
2、if - else 语句
(1)语法结构:if - else(二选一)
if ( 条件表达式 ) {
执行语句块1;
} else {
执行语句块2;
}
(2)执行流程
int a = 5;
int b = 8;
int c = 6;
if ( a > c ){
System.out.println(a);
} else {
System.out.println(b); //输出结果为 8
}
3、if - else if 语句(多选一)
(1)语法结构:if - else if (多选一)
if ( 条件表达式 1 ) {
执行语句块 1;
} else if (条件表达式 2 ) {
执行语句块 2;
} ···
else if (条件表达式 n ) {
执行语句块 n;
} else {
执行语句块 n+1;
}
(2)执行流程
int a = 88;
int b = 69;
int c = 92;
int avg = (a +b + c)/3;
if(avg >= 90){
System.out.println("A");
}else if (avg >= 80 && avg < 90) {
System.out.println("B"); //输出结果为 B
}else if (avg >= 70 && avg < 80) {
System.out.println("C");
}else if (avg >= 60 && avg < 70) {
System.out.println("D");
}else {
System.out.println("E");
}
4、switch 语句
(1)语法结构:switch
switch ( 条件表达式 ) {
case 常量取值 1 :
执行语句块 1;
break ;
case 常量取值 2 :
执行语句块 2;
break ;
···
case 常量取值 n :
执行语句块 n;
break ;
default :
执行语句块 n+1;
break ;
}
(2)说明
<1> 条件表达式的值只能是byte,short,int,char型,不接受其他类型的值。
<2> 常量值的数据类型必须与条件表达式的数据类型兼容。
<3> 不允许有重复的 case 取值。
<4> 当条件表达式的值不满足所以 case 的取值,则会直接执行 default 块的语句,然后跳出 switch 循环结构。
int a = 95;
int result;
switch (a/10) {
case 10:
System.out.println("A+");
result = a;
break;
case 9:
System.out.println("A");
result = a;
break;
case 8:
System.out.println("B");
result = a;
break;
case 7:
System.out.println("C");
result = a;
break;
case 6:
System.out.println("D");
result = a;
break;
default:
System.out.println("E");
result = a;
break;
}
System.out.println("result = "+result);
// 输出结果为: A
// result = 95;
循环语句:
1、while 循环
(1)语法结构
while ( 循环条件表达式 ) {
执行语句块;
}
(2)执行流程
//while循环
int i = 0;
// (1)判断语句:结果是true或flase
while ( i <= 10 ) {
//(2)执行语句块
System.out.print( i + " ");
i ++; // 循环体
}
//输出结果:0 1 2 3 4 5 6 7 8 9 10
2、do - while
(1)语法结构
do {
执行语句块 ;
} while ( 循环条件表达式 ) ;
(2)执行流程
(3)说明
do-while:循环的次数为1--N次。先执行一次语句,再判断条件。
for / while:循环的次数为0--N次。先判断条件,再执行语句。
// do - while循环
int i = 0;
do {
System.out.print(i + " " );//(1)执行语句块
i++; // 循环体
} while ( i < 10 ); // (2)判断语句:结果是true或flase
//输出结果:0 1 2 3 4 5 6 7 8 9
3、for循环
(1)语法结构
for ( 变量初始化表达式 ; 循环条件表达式 ; 循环后的操作表达式 ) {
执行语句块 ;
}
(2)执行流程
// for 循环
for ( int i = 0 ; i <= 20 ; i = i + 2 ) {
if ( i <= 10 ) {
System.out.print( i + " " );
} else {
System.out.print( 20 - i + " " );
}
}
//输出结果:0 2 4 6 8 10 8 6 4 2 0
4、死循环
(1)语法结构
for ( ; ; ) { // 中间的循环条件表达式的值默认为 true
执行语句块 ;
}
whlie ( true ) {
执行语句块 ;
}
for ( ; ; ) {
System.out.println(" hello java ");
}
//-----------------------------------------------------
int i = 0;
while ( true ) {
System.out.println("hello java");
i++;
}
循环的中断语句:
1、break
break 语句:用于终止某个语句块的执行。用在循环语句体中,可以强制退出当前循环。
“ break ; ” 可以出现在 while 、do - while、for、switch 循环语句体中。
int i = 0;
while (true) {
System.out.println( i + " " );
i++;
if (i==10) {
break;//当循环中执行到了break关键字则马上终止,跳出循环
}
}
//输出结果:0 1 2 3 4 5 6 7 8 9
2、continue
continue 语句:在循环语句体中,用于终止某次循环。当循环中执行到了continue 关键字,则马上停止当前这一次循环,跳过continue关键字后面未执行的语句,继续开始下一次的循环执行。
“ continue ; ” 可以出现在 while 、do - while、for 循环语句体中。
for (int j = 0; j < 10; j++) {
if ( j % 2 ! = 0) {
continue; //当循环中执行到了continue关键字,则马上停止当前这一次循环,继续下一次的循环执行
}
System.out.print( j + " " );
}
//输出结果:0 2 4 6 8