04循环结构(while/do-while/for)
Posted zitian246
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04循环结构(while/do-while/for)相关的知识,希望对你有一定的参考价值。
1.while循环
1.语法:
}
2.用途:while便于处理循环次数确定或者循环次数不确定的情况
3.使用的必要条件
(1)计数器初始化
(2)判断条件
(3)循环体
(4)计数器变化
4.while执行过程
(1)计数器初始化,并且只执行一遍
(2)执行判断条件
(3)如果条件成立 执行的代码
(4)计数器变化
(5)转到第二步继续执行
5.死循环产生的原因
(1)计数器没有变化
(2)条件写为true
package com.qfedu.test1; ? import java.util.Scanner; ? public class Test4 { public static void main(String[] args) { // 每天检查 是否合格 上午阅读理论 下午敲代码 // while循环可以处理循环此固定 和 循环次数不固定的情况 Scanner input = new Scanner(System.in); System.out.println("上午阅读教材"); System.out.println("下午敲代码"); System.out.println("请输入你今天学习任务是否合格了?Y/N"); String answer = input.next(); while(answer.equals("N")) { //循环体 阅读教材 敲代码 System.out.println("上午阅读教材"); System.out.println("下午敲代码"); System.out.println("请输入你今天学习任务是否合格了?Y/N"); answer = input.next(); } System.out.println("恭喜你完成任务"); } }
2.do-while循环
语法:
do {
循环体
} while ( 循环条件 );
1.用途:do-while也可以用于处理循环次数确定或者次数不确定去情况
do-while循环先执行再判断,不管条件是否成立,至少执行一次
2.不管是while循环还是do-while循环不可少的部分 (1)计数器 (2)判断条件 (3)循环体 (4)计数器变化
3.执行过程
(1)执行循环体
(2)计数器变化
(3)判断条件
(4)如果条件成立,继续执行循环体
package com.qfedu.test2; ? import java.util.Scanner; ? public class Test1 { public static void main(String[] args) { // 先上机测试 测试以后再检查是否合格 不合格继续上机 合格的话停止 // do-while 和 while循环 // while是先判断后执行 如果条件不成立 一次都不执行 // do-while 先执行 后判断 不管条件是否成立 至少执行 先斩后奏 Scanner input = new Scanner(System.in); // do { // 循环体 // }while(布尔表达式); String answer; do { System.out.println("上级测试完成……"); System.out.println("请输入是否合格?Y/N"); answer = input.next(); }while(answer.equals("N")); System.out.println("恭喜你完成任务"); } }
3.for循环
语法:
for(计数器初始化; 判断条件 ; 计数器变化) {
循环体;
}
1.for循环执行过程
(1)计数器初始化 int j = 1 最先执行 并且只执行一次
(2)判断条件 j <= 100
(3)循环体 System.out.println("for循环好好学习" + j);
(4)执行变量变化 j++
(5)接着继续执行 判断条件 也就是第二步
package com.qfedu.test4; ? import java.util.Scanner; ? public class Test1 { public static void main(String[] args) { // main alt + / // alt + / 代码提示快捷键 // sout alt + / // syso alt + / Scanner input = new Scanner(System.in); // 需求 循环录入5门成绩你计算平均分 double scoreSum = 0;// 用于存储所有的分数 之和 for(int i = 1; i <= 5 ; i ++) { System.out.println("请输入第" + i + "门成绩"); int score = input.nextInt(); System.out.println("第" + i + "门成绩是" + score); scoreSum += score; } System.out.println("总分数" + scoreSum); System.out.println("平均分是" + scoreSum / 5); ? } }
4.break关键字
使用场景:
(1)switch,表示跳出当前case块0)
(2)循环中,表示跳出当前循环
如果循环中有switch,那么switch中的break依然只是跳出case块,不会跳出循环。
break在循环中通常结合流程控制语句来使用,表示中断循环,没有执行完的循环次数,不再执行。
package com.qfedu.test6; ? import java.util.Scanner; ? public class Test1 { public static void main(String[] args) { // 需求 循环录入成绩 计算平均分 如果输入为负数 那么停止录入 Scanner input = new Scanner(System.in); double sum = 0; int i = 1; for (; i <= 5; i++) { System.out.println("请输入第 " + i + "门成绩"); int score = input.nextInt(); if(score < 0) { System.out.println("分数录入错误,停止录入"); break; } sum += score; } System.out.println("总分数是" + sum); System.out.println("平均分是" + sum / i); } }
5.continue关键字
适用场景:只能在循环中使用
continue表示跳出本次循环,继续执行下一次循环,通常也是结合流程控制语句来使用
注意和break的区别
package com.qfedu.test7; ? import java.util.Scanner; ? public class Test1 { public static void main(String[] args) { // 循环录入5门成绩 统计分数大于80 所占的比例 // 大于80分的人数 除以 总人数 double count = 0; Scanner input = new Scanner(System.in); for (int i = 1; i <= 5; i++) { System.out.println("请输入第"+ i +"门成绩"); int score = input.nextInt(); if(score <= 80) { System.out.println("当前分数不大于80,不进行记录"); continue; } count++; } System.out.println("当前大于80分的人数是" + count); System.out.println("大于80分的人数占比是" + (count / 5 * 100) + "%"); } }
6.debug调试
作用:当我们的程序代码过多,我们无法一眼看完程序的执行结果,可以使用debug,或者当我们的程序产生bug,而我们无法快速定位到出错的代码,可以使用debug
断点:在代码左侧双击打断点,表示我们的程序将在断点停止
以上是关于04循环结构(while/do-while/for)的主要内容,如果未能解决你的问题,请参考以下文章