Java-流程控制语句
顺序语句
分号相隔,自上往下,顺序进行。
分支语句
if - else
if (条件表达式)
语句块;
else
语句块;
//代码示例
public class LeapYear{
public static void main( String args[ ] ){
int year=2003;
if( (year%4==0 && year%100!=0) || (year%400==0) )
System.out.println(year+" is a leap year.");
else
System.out.println(year+" is not a leap year.");
}
}
switch
switch(exp){
case const1:
statement1;
break;
case const2:
statement2;
break;
… …
case constN:
statementN;
break;
[default:
statement_dafault;
break;]
}
//代码示例
public class GradeLevel{
public static void main( String args[ ] ){
System.out.println("\n**** first situation ****");
char grade='C';
switch( grade ){
case 'A' :
System.out.println(grade+" is 85~100");
break;
case 'B' :
System.out.println(grade+" is 70~84");
break;
case 'C' :
System.out.println(grade+" is 60~69");
break;
case 'D' :
System.out.println(grade+" is <60");
break;
default :
System.out.println("input error");
}
}
}
循环语句
for循环
for (init_statement; test_exp; alter_statement){
body_statement;
}
//代码示例
intresult = 0;
for(inti=1; i<=100; i++) {
result += i;
}
System.out.println("result=" + result);
while循环
[init_statement]
while( test_exp){
body_statement;
[alter_statement;]
}
//代码示例
intresult = 0;
inti=1;
while(i<=100) {
result += i;
i++;
}
System.out.println("result=" + result);
do-while循环
[init_statement]
do{
body_statement;
[alter_statement;]
}while( test_exp);
//代码示例
intresult = 0, inti=1;
do{
result += i;
i++;
}while(i<=100);
System.out.println("result=" + result);
break 与 continue
在循环中:break 标号,continue 标号
其中,在循环前面可以用标号来表明是哪重循环
break
//代码示例
public class TestBreak{
public static void main(String args[]){
for(inti= 0; i<10; i++){
if(i==3)
break;
System.out.println(" i=" + i);
}
System.out.println("Game Over!");
}
}
continue
continue语句用于跳过某个循环语句块的一次执行
continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
//代码示例
public class ContinueTest {
public static void main(String args[]){
for (int i = 0; i < 100; i++) {
if (i%10==0)
continue;
System.out.println(i);
}
}
}
public class Prime100Continue{
public static void main( String args[ ] ){
System.out.println(" **** 100--200的质数 ****");
int n=0;
outer: for(int i=101;i<200;i+=2){ //外层循环
for(int j=2; j<i; j++){ //内层循环
if( i%j==0 ) //不是质数,则继续外层循环
continue outer;
}
System.out.print(" "+i);//显示质数
n++; //计算个数
if( n<10 ) //未满10个数,则不换行
continue;
System.out.println( );
n=0;
}
System.out.println( );
}
}