Java语句
-------关键语句介绍
一、while语句
一般形式:
while(条件表达式) {
语句体………
}
执行过程:
条件表达式为真,执行语句体。否则,退出!
二、do while语句
一般形式:
do {
语句体…….
} while(条件表达式);
执行过程:
先执行一次语句体,判断条件表达式是否为真,为真再执行do语句中的语句体。为假,退出。
需要注意:与while语句区别
1. while(条件表达式) 后面有分号;
2. 不管条件表达式是否为真,语句体均会执行一次。
三、for语句
一般形式:
for( 子句1; 子句2; 子句3) {
语句体……
}
执行过程:
四、break、continue语句
break 退出所在循环:
int stopHere = 5; for(int i=1; i<8; i++) { if(i == stopHere) { break; } System.out.println("i = " + i); } //打印结果:5,6,7,8均没有打印出来。 i = 1 i = 2 i = 3 i = 4
需要注意的一个问题:
int stopHere = 5; for(int i=1; i<8; i++) { if(i == stopHere) { //语句体 } break; System.out.println("i = " + i); }
这个时候编译器会报错:无效的System.out输出语句。
冷静分析一下:呵呵!
break语句会结束循环,所以不会再去执行System.out输出语句。编译会认为你在多此一举,sorry报个错!
continue 退出本次循环,不会退出整个循环:
int skipHere = 5; for(int i=1; i<8; i++) { if(i == skipHere) { continue; } System.out.println("i = " + i); } //打印结果:除了5没有打印出来。 i = 1 i = 2 i = 3 i = 4 i = 6 i = 7
五、switch语句
一般形式:
switch(常量) { case 表达式1:语句体1; break; case 表达式2:语句体2; break; ...... default: 语句体n; break; }
执行过程:
case根据自己的表达式看是否匹配常量,如果匹配就执行语句体,否则执行default语句。
case执行类似于并行操作,不是顺序操作。所以各个表达式的值不可以相同。哪个case匹配常量就会执行自己的语句体,不会再去寻找其他case语句。
注意:
<1> case穿透:省去break关键字
int i = 10; switch (i) { case 10: System.out.println("A"); //break; case 5: System.out.println("B"); //break; case 7: System.out.println("C"); //break; default: System.out.println("error"); break; }//打印结果:A B C error
<2> 在Java编程中switch括号中的常量的数据类型只可以为int类型或者是byte、 char、 short(因为byte、 char、 short可以自动提升为int),常量类型不可以是long、float和double等数
据类型。
<3> 多个case可以合并,相当于"或",例如下面i等于10、5、7都可以执行打印语句。
int i = 5; switch (i) { case 10: case 5: case 7: System.out.println("C"); break; default: System.out.println("error"); break; }//打印结果:C
<4> default语句可以省,但是不推荐,他后面的break可省
<5> case或者default子句中可以写多条语句
case 7: System.out.println("C"); if(i == 5) { System.out.println("i= " +i); } break;
<6> case或者default子句中还可以嵌套switch或者其他语句
六、return语句
终止方法的运行并指定要返回的数据。
两种形式:
<1> return 表达式;
<2> return;没有任何数据直接返回,结束函数(方法)的执行。
七、if语句
一般形式:
1.if(条件表达式) {语句体}
2.if(条件表达式) {语句体} else{语句体}
3.if(条件表达式1)
{语句体} else if(条件表达式2)
{语句体}else
{语句体}
特别注意:形式3,else与其最近的上个if配对。例子:
public class TestIF { public static void main(String[] args) { int i = 30; if(i < 20) { System.out.println("<20"); } else if (i < 50) { System.out.println("<50"); } else if (i < 80) { System.out.println("<80"); } else System.out.println(">=80"); System.out.println("我是单独的一句话!"); } } //<50 //我是单独的一句话!