您的位置:首页 > 编程语言 > Java开发

java基础教程:循环流程控制(11)

2017-06-12 11:02 489 查看
上两节课里给大家讲了分支流程和循环流程,那么,随着我们的编码能力提升,可能会提出如下问题:

1、如果我想在循环当中发现问题或已经得到答案,想停止循环怎么办?

2、如果我想发现了问题,跳过这一次循环怎么办?

java是万能的,它提供了解决方案。

break关键字能跳出循环,continue关键字跳过这一次循环的后续内容。

今天的内容就是:循环和流程控制

1、break

2、continue

3、return

第一部分:break

break语句可以跳出一个循环或一个switch分支。

就一个关键字,那我们直接看用法。

1、循环:得到数组当中数值为5的元素。

分析:遍历这个数组,如果找到第一个结果为5的元素,那么直接跳出循环,返回该值。

int[] arr = {1,2,5,7,9};

示例:

int result = 0;
for(int i:arr){
if(arr[i]==5){//找到了改值
result = arr[i];//用循环的外部变量接收这个值
break;//跳出循环
}
}


break也适用于while,使用while实现上面的问题

int result = 0,i=0;
while(i<arr.length){
if(arr[i]==5){
result = 5;
break;
}
i++;
}


2、switch分支:跳出switch的分支。

在switch当中,如果进入到某一分支,该分支结尾没有break,那么,会在本分支语句执行完继续判断是否符合下一分支。

所以,按照实际情况来说,不会发生同时两个分支的值都成立的情况。

因此建议大家必须在每个分支后面加上break,提高效率,减少无用的判断。

我们看例子。判断数字的值,如果是0代表男,1代表女,打印男女信息。

public static void printSex(int x){
switch(x){
case 0:System.out.println("男");break;
case 1:System.out.println("女");break;
}
}


需要注意的是:break只能跳出一层循环,当存在外层循环的话,只能跳出离他最近的一层循环。

第二部分:continue

continue用于跳过本次循环的后续内容,直接进入下一次循环(如果下一次条件成立)。

我们看例子,打印1-10的偶数。

分析:循环1-10的数字,如果是奇数,跳过打印,直接下一个数字。

代码:

for(int i=1;i<=10;i++){
if(i%2==1){//如果是奇数
continue;//跳过后面的循环语句(打印),直接进入下一次循环
}
System.out.println(i);
}


当然,continue也是适用于while的.使用while实现

int i =1;
while(i<=10){

if(i%2==1){
continue;
}

System.out.println(i);

i++;
}


需要注意的是,continue也只能跳过一层循环,如果存在外层循环的话,只能跳过离他最近的循环。





第三部分:return

return关键字是作为方法的返回结果用的,但是它也有循环控制的效果。

当使用return关键字后,方法直接返回结果,不继续执行后面的代码,不管所属的代码是否是循环还是普通流程代码。

同时,return还可以作为void的方法返回,只不过不需要结果。

我们看看例子。

1、判断一个数字是否是2的正倍数。

public static boolean isTowTimes(int i){

if(i==2){
return true;//如果是2,肯定是,直接返回不判断
}

if(i>0 && i%2==0){
return true;//其他情况判断除以2的余数,且不为0或负数
}

return false;
}


2、break的例子,获取数组中5的元素。for循环中也可以直接返回

public static int getFive(int[] arr){

for(int i :arr){
if(i==5){
return i;//如果某个元素是5,直接返回
}
}

return -1;//如果没有返回-1
}


3、void方法的返回控制。例如打印字符串。

public static void printString(String s){

if(null == s){
return;//如果字符串为空对象,不打印直接返回
}

if("".equals(s)){
return ;//如果字符串为空值,不打印直接返回
}

System.out.println(s);
}


以上,就是我们的循环控制。

break:跳出所属的最近一层循环。

continue:跳过所属的最近一层循环的后续代码。直接进入下一次循环。

return:直接返回结果,无论何种代码结构。void也支持。

are you get it?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java基础教程 java