目录
内容介绍
循环结构while【掌握】
循环结构do-while【掌握】
循环结构for【重点掌握】
嵌套循环【了解】
循环控制语句【掌握】
4.循环结构
4.1 循环定义
**定义:**循环是计算机科学运算领域的用语,也是一种常见的控制流程。循环是一段在程序中只出现一次,但可能会连续运行多次的代码。循环中的代码会运行特定的次数,或者是运行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都运行一次。
可以理解位重复的去执行某件事情,但需要有一个终止条件,否则会形成死循环,导致内存溢出;
4.2 循环分类
4.2.1 while循环
基本语法:
while(循环条件){
执行语句;
}
**循环条件:**布尔类型的值或者表达式,需要不断变化,如果是一个常量或者固定不变的值,则称为没有意义的循环或者死循环;
**执行语句:**当循环条件为true时执行语句,false终止循环,不执行语句
执行流程:
- 第一次判断条件true,继续执行
- 第二次判断条件true,继续执行
- 第三次判断条件true,继续执行
- 。。。。。
- 直到第n次判断条件false,终止循环
示例:
/*打印1到10之间的数字*/
int i = 1;
while(i<11){
System.out.println(i);
i++;
}
/*打印1到10之间的偶数*/
int j = 1;
while(i<11){
if(j%2==0){
System.out.println(j);
}
j++;
}
4.2.2 do…while循环
基本语法:
do{
执行语句;
}while(循环条件);
**循环条件:**布尔类型的值或者表达式,需要不断变化,如果是一个常量或者固定不变的值,则称为没有意义的循环或者死循环;
**执行语句:**当循环条件为true时执行语句,false终止循环,不执行语句
执行流程:
- 首先执行do后面结构体中的执行语句
- 判断循环条件是否为true,如果true,执行do后执行语句,如果为false终止循环
示例:
/*打印1到10之间的数字*/
int i =1;
do{
System.out.println(i);
i++;
}while(i<11);
练习:
1.求出10以内2的倍数的数字 和 个数。
2.求出 1-10的所有偶数的和
4.2.3 for循环
基本语法:
for(初始化条件A;判断条件B;循环后语句C){
执行语句D;
}
初始化条件A:初始化一个值,用来作为B中的判断条件
判断条件B:布尔类型的值或者表达式
循环后语句C:循环后执行的代码,目的是为了改变初始条件A的值,使B中条件不是一个固定的值
执行语句D:当B中的判断条件满足,为true执行D,false,则不执行
执行流程:
第一次:A–》B(true)–》D–》C
第二次: B(true)–》D–》C
第三次: B(true)–》D–》C
…
第n次: B(false) 结束整个循环
示例:
/*打印1到10之间的数字*/
for(int i=1;i<11;i++){
System.out.println(i);
}
注意事项:
1.特殊写法:
/*死循环*/
for(;;){
System.out.println("Hello");
}
2.初始条件中变量的作用域
/*打印1到10之间的数字*/
for(int i=1;i<11;i++){
System.out.println(i);
}
System.out.println(i);//报错,i只作用于循环结构体中
练习:
1.用for循环计算1-10的 积(即10的阶乘)
2.以下两个示例中 最后i的值是多少 判断执行了几次 循环几次 代码的最终的输出结果是多少?
(1)
for(int i = 1;i<=10;i+=2){
System.out.println("i="+i);
}
(2)
for(int j = 1;j++<=10;j+=2){
System.out.println("j="+j);
}
4.3 嵌套循环
顾名思义,嵌套循环指的是循环中嵌套一个循环;但最好嵌套不要超过两层,效率太低;
/*需求:需要打印五行*每行五颗 */
System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
//优化1
for(int i=1;i<6;i++){
System.out.println("*****");
}
//优化2
for(int j=1;j<6;j++){
for(int i=1;i<6;i++){
System.out.print("*");
}
System.out.println("");
}
4.4 循环控制语句
4.4.1 定义
对整个循环流程进行控制,可提前终止或跳出循环
4.4.2 控制语句分类
4.4.2.1 break
**作用:**终止当前循环
示例:
/* 一个循环 如果循环中出现了6 则终止循环 后面的也不再执行*/
for(int i=1;i<8;i++){
if(i==6){
break;
}
System.out.println(i);
}
4.4.2.2 continue
**作用:**跳出当前循环
示例:
/* 一个循环 如果循环中出现了6 则跳过循环 后面的继续执行*/
for(int i=1;i<8;i++){
if(i==6){
continue;
}
System.out.println(i);
}
4.4.2.3 return
**作用:**终止当前方法
示例:
/* 一个循环 如果循环中出现了6 终止当前的方法 后面的循环也不会被执行 循环外面的语句也不会被执行到*/
for(int i=1;i<8;i++){
if(i==6){
return;
}
System.out.println(i);
}
System.out.println("www.itsource.cn");
5.课程总结
今天所学知识均为java课程中,非常常用的结构,在日后的工作中需要用到所学结构来处理相关逻辑问题,特别重要。切记每天负债,每天的知识及时消化吸收。
5.1 重点
for循环结构
5.2 难点
for循环结构的执行流程 嵌套循环
6.课后练习
1.今天所有的课堂代码
2.求出20以内3的倍数的数字和个数。
3.求1-5的 的阶乘和(1!+2!+3!+4!+5!)(用for实现)
4.10到30之间所有奇数的和(用for实现)。
7.面试题
return continue break三者的区别是什么?