第八章 循环语句
循环语句
8.1 循环语句1 --for
-
for 循环语句格式:
for(初始化表达式1;布尔表达式2;步进表达式4){ 循环体3; } 循环结构的基本组成部分,一般可分为四部分: 1.初始化语句:在循环开始最初执行,而且只做一次。 2.条件判断:如果成立,则循环继续;如果不成立,则循环退出/ 3.循环体:重复要做的事情,若干行语句 4.步进语句:每次循环之后都要进行的扫尾工作,
-
执行流程:
执行顺序1234 > 234 >234...2不满足为止 1负责完成循环变量初始化 2负责判断是否满足循环条件 3具体执行语句 4循环后,循环条件所涉及的变量变化情况
public class Demo09For{
public static void main(String[] args){
for(int i = 1; i <= 100; i++){
System.out.println("我爱编程!" + i);
}
}
}
8.2 循环语句2 --while
-
while 循环语句格式:
初始化表达式1; while(布尔表达式2){ 循环体3; 步进表达式4; } while循环有一个标准格式,还有一个扩展格式。 标准格式: while(条件判断){ 循环体 } 扩展格式: 初始化语句; while(条件判断){ 循环体; 步进语句; }
-
执行流程:
执行顺序 1234>234...2不满足为止 1负责循环变量初始化 2负责判断是否满足循环条件 3具体执行语句 4循环后,循环变量的变化情况
public class Demo10While{
public static void main(String[] args){
for(int i = 1; i <= 10; i++){
System.out.println("我爱编程!" + i);
}
System.out.println("======");
int i = 1;//初始化语句
while(i <= 10){ //条件判断语句
System.out.println("我爱编程!" + i);//循环体
i++;//步进语句
}
}
}
8.3 循环语句3 --do…while
-
do-while 循环语句格式:
初始化表达式1; do{ 循环体2; 步进表达式3; }while(布尔表达式4); 不管满足不满足条件,先执行一次 do-while循环标准格式: do{ 循环体 }while(条件判断); 扩展格式: do{ 循环体 步进语句 }while(条件判断);
-
执行流程:
执行顺序 134>234>234...2不满足为止 1负责循环变量初始化 2负责判断是否满足循环条件 3具体执行语句 4循环后,循环变量的变化情况
public class Demo11DoWhile{
public static void main(String[] args){
for(int i = 1; i <= 10; i++){
System.out.println("我爱编程!" + i);
}
System.out.println("======");
int i = 1;//1.初始化语句
do {
System.out.println("我爱编程!" + i);//3循环体
i++;//4步进语句
}while(i <= 10);//2条件判断语句
}
}
-
练习
题目要求:求出1-100之间的偶数和
public class Demo12HundredSum{
public static void main(String[] args){
int sum = 0;
/*for循环
for(int i = 1; i <= 10; i++){
if(i % 2 == 0){
sum = sum + i;
}
}
*/
/* while 循环
int i = 1;
while(i <= 10){
if(i % 2 == 0){
sum += i;
}
i++;
}
*/
//do-while 循环
int i = 1;
do{
if(i % 2 == 0){
sum += i;
}
i++;
}while(i <= 10);
System.out.println("偶数和是" + sum);
}
}
8.4 三种循环语句的区别
三种循环的区别:
1.如果条件判断从来没有满足过,那么for循环和while循环将执行0次,do-while循环至少一次
2.for循环的变量在小括号内定义。只有循环内部可以使用,while和do-while,初始化语句在循环外,循环之后还可以使用
8.5 跳出语句
break
break 关键字的用法有常见的两种;
1.可以用在switch语句当中,一旦执行,整个switch语句立刻结束
2.还可以用在循环语句当中,一旦执行,整个循环语句立刻结束,打断循环
凡是次数确定的场景常用for。否则用while
public class Demo14Break{
public static void main(String[] args){
for(int i = 1; i <= 10; i++){
if(i == 4){//如果当前是第四次
break;//打断当前循环
}
System.out.println("hello" + i);
}
}
}
continue
另一种循环是continue
一旦执行,立刻跳过当前循环剩余内容,马上开始下一次循环
public class Demo15Continue{
public static void main(String[] args){
for(int i = 1; i <= 10; i++){
if(i == 4){//如果当前是第四层
continue;//跳过当前循环
}
System.out.println(i + "层到了" );
}
}
}
8.6 死循环
永远停不下来的循环,叫做死循环
死循环的标准格式:
while(true){
循环体
}
ctrl + c 退出死循环
死循环后的语句访问不到,会报错
public class Demo16DeadLoop{
public static void main(String[] args){
while(true){
System.out.println("我爱java");//无限循环
}
//System.out.println("hello");//死循环后的语句访问不到,会报错
}
}
8.6 循环嵌套
-
循环嵌套格式:
-
for(初始化表达式1;循环条件2;步进表达式7){ for(初始化表达式3;循环条件4;步进表达式6) { 执行语句5; } }
-
循环嵌套执行流程
执行顺序123456>456>723456>456 外循环一次,内循环多次 比如跳绳,一共跳五组,每组10个。5组就是外循环,10个就是内循环
-
练习
输出几点几分
public class Demo17LoopHourAndMinute{
public static void main(String[] args){
for(int hour = 0; hour < 24;hour++){//外行控制小时
for(int minute = 0;minute < 60; minute++){//内行控制分钟
System.out.println(hour + "点" + minute + "分");
}
}
}
}