4、控制执行流程
Java使用了C的所有流程控制语句。
Java涉及的关键字包括if-else、while、do-while、for、return、break、switch
Java并不支持goto。 有一种类似goto的跳转,然后有了很多的限制。
4.1 true和false
通过 == ,然后相等返回true,如果不相等返回false
4.2 if-else
if (表达式1){
//语句
}else{
//语句
}
if (表达式1){
//语句
}else if{
//语句
}else{
// ..
}
注:如果只有一条语句,{}可以省略
4.3 迭代、循环
while、do-while和for用来控制循环,将他们划分为迭代语句
while(表达式){
//循环体
}
4.3.1 do-while
do{
//循环体
}while(判断语句)
4.3.2 for
for(初始化;结束条件; 更新步长){
// 语句
}
for(int i=0; i<10 ; i++){
}
4.3.3 逗号操作符
Java里唯一用到逗号操作符的地方就是for循环的控制表达式
for(int i=1, j=i+10 ; i<5 ; i++ , j=i*2){
// 循环体
}
4.4 Foreach语法,增强for循环
在Java SE5中引入了一种更加简洁的for语法。
int[] list = new int[]{1,2,3,4,5,6,7,8,9,10};
for(int i : list) {
System.out.println(i);
}
4.5 return
return关键字有两方面的用途
(1) 指定一个方法返回什么值
(2)导致当前的方法退出,并返回那个值
public static int test(int a){
if(a == 1){
return 1;
}
System.out.println("hello");
return 0;
}
4.6 break和continue
break和continue都可以控制循环的流程
break:强制退出循环
continue:停止执行当前迭代,开始下一轮迭代
4.7 臭名昭著的goto
java中仍然保留goto关键字,但是不起作用。
label1:
while(...){
while(...){
continue; // 只会操作内部循环
continue label1; //操作外部循环
break label1; //操作外部循环
}
}
label1:
while(true) {
while(true) {
System.out.println("hello");
break label1; //当初最外面的循环
}
}
4.8 switch
switch(integral-selector){
case x: ... ; break;
case y:... ; break;
default : ... ; break;
}
其中integral-selector是一个可以产生整数的表达式,如(int、char、byte、short)
在JavaSE5中emum可以和switch协调工作。来弥补其他类型的不可以使用switch的不足。