java中有一些关键词用来控制执行流程,如return,break,continue.
首先在三个关键字语句之后不能再添加任何语句
1,首先介绍return关键词,return有两个作用,一是可以退出当前方法,二是可以返回指定的值(若方法为void没有返回值,则return不返回任何东西)
public class Person {
public int age;
public Person(int age) {
this.age = age;
}
public Person getPerson(int age ){
return new Person(age);//返回一个值并退出方法
}
private void changAge(){
if (age == 1){
return;//返回值为空,并退出方法,age++语句不再执行
}
age++;
}
}
2,break关键字,强行退出循环
private static void mTest(){
System.out.println("mTest begin--- ");
for (int i = 0; i < 10; i++) {
System.out.println("for start-- i = " + i);
if (i == 3){
System.out.println("break-- i = " + i);
break;
}
System.out.println("for end= " + i);//如果满足break条件,该句不执行
}
System.out.println("mTest-- end = ");//break条件满足时,该句仍执行
}
当i==3时,for循环会被break即中断,for循环中break之后的语句不再执行,但是for循环外方法体的语句还会执行
3,continue关键字,结束当前的迭代,继续下一个
在person类中添加如下方法:
public void getI(int[] arr){
for (int i = 0; i < arr.length; i++) {
if (i == 3){
break;//结束循环
}
Log.i("TAG","i = "+i+",");
}
}
public void getJ(int[] arr){
for (int j = 0; j < arr.length; j++) {
if (j == 3){
continue;//当j==3时,不执行continue以后循环内的句子,从j=4开始进行下一次循环
}
Log.i("TAG","j = "+j+",");
}
}
并在MainActivity.java中调用getI和getJ方法,所获得的结果如下:
01-04 15:11:02.061 13321-13321/com.project.fang.mystatic I/TAG﹕ i = 0,
01-04 15:11:02.061 13321-13321/com.project.fang.mystatic I/TAG﹕ i = 1,
01-04 15:11:02.061 13321-13321/com.project.fang.mystatic I/TAG﹕ i = 2,
01-04 15:11:02.062 13321-13321/com.project.fang.mystatic I/TAG﹕ j = 0,
01-04 15:11:02.062 13321-13321/com.project.fang.mystatic I/TAG﹕ j = 1,
01-04 15:11:02.062 13321-13321/com.project.fang.mystatic I/TAG﹕ j = 2,
01-04 15:11:02.062 13321-13321/com.project.fang.mystatic I/TAG﹕ j = 4,
01-04 15:11:02.062 13321-13321/com.project.fang.mystatic I/TAG﹕ j = 5,
break和continue可以和标签一块儿使用,控制标签对应的循环