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};
示例:
break也适用于while,使用while实现上面的问题
2、switch分支:跳出switch的分支。
在switch当中,如果进入到某一分支,该分支结尾没有break,那么,会在本分支语句执行完继续判断是否符合下一分支。
所以,按照实际情况来说,不会发生同时两个分支的值都成立的情况。
因此建议大家必须在每个分支后面加上break,提高效率,减少无用的判断。
我们看例子。判断数字的值,如果是0代表男,1代表女,打印男女信息。
需要注意的是:break只能跳出一层循环,当存在外层循环的话,只能跳出离他最近的一层循环。
第二部分:continue
continue用于跳过本次循环的后续内容,直接进入下一次循环(如果下一次条件成立)。
我们看例子,打印1-10的偶数。
分析:循环1-10的数字,如果是奇数,跳过打印,直接下一个数字。
代码:
当然,continue也是适用于while的.使用while实现
需要注意的是,continue也只能跳过一层循环,如果存在外层循环的话,只能跳过离他最近的循环。
第三部分:return
return关键字是作为方法的返回结果用的,但是它也有循环控制的效果。
当使用return关键字后,方法直接返回结果,不继续执行后面的代码,不管所属的代码是否是循环还是普通流程代码。
同时,return还可以作为void的方法返回,只不过不需要结果。
我们看看例子。
1、判断一个数字是否是2的正倍数。
2、break的例子,获取数组中5的元素。for循环中也可以直接返回
3、void方法的返回控制。例如打印字符串。
以上,就是我们的循环控制。
break:跳出所属的最近一层循环。
continue:跳过所属的最近一层循环的后续代码。直接进入下一次循环。
return:直接返回结果,无论何种代码结构。void也支持。
are you get it?
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基础教程-12:Java基本语句之2-循环控制语句for
- java基础-第三节 流程控制-循环
- JAVA基础——初识JAVA(五)(流程控制、分支语句、循环语句、特殊流程控制语句)
- 《黑马程序员》 java基础巩固之流程控制中的循环结构
- Java基础语法(一)---数据、数值类型、运算符、程序流程控制语句和循环结构
- 黑马程序员——Java基础(流程控制语句、选择结构、循环结构、方法)
- JAVA基础之流程控制语句:循环结构
- Java自学之路-Java基础教程-13:Java基本语句之3-循环控制语句while和do while
- Java基础教程(9)--流程控制
- java基础 流程控制和条件语句,循环语句
- Java自学之路-Java基础教程-11:Java基本语句之1-条件控制语句if和else
- java基础--流程控制(循环结构)for循环
- I学霸官方免费教程六:Java基础之流程控制
- 智渔课堂官方免费教程六:Java基础之流程控制
- Java编程——表达式、流程控制基础
- Java基础_流程控制语句
- 黑马程序员_java的语言基础组成进阶(对第三课程序流程控制的总结)
- 黑马程序员-Java基础知识预备之Java流程控制与数组
- 黑马程序员_java基础复习三流程控制
- 【PHP】基础笔记 08 —— 流程控制 之 循环语句