循环结构以及循环关键字
循环结构
1. 循环结构特点
任何循环都要求有四个必不可少的条件
1.计数器初始化
2.循环条件
3.循环体
4.计数器变化
2. while循环
while单词:当……
while ( 循环条件 ) {
循环操作
}
package com.qfedu.test1;
import java.util.Scanner;
/*** 需求:老师每天检查赵四的学习任务是否合格,* 如果不合格,则继续进行。* 老师给赵四安排的每天的学习任务为:* 上午阅读教材,学习理论部分,下午上机编程,掌握代码部分**/
public class Test3 {public static void main(String[] args) {Scanner input = new Scanner(System.in);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("恭喜你,完成任务!");}
}
3. do-while循环
while和do-while的区别
do-while循环 先执行后判断 不管条件是否成立 至少执行一次
while循环 先判断后执行 条件不成立 一次都不执行
package com.qfedu.test2;
import java.util.Scanner;
/*** 区别:while和do-while的区别* do-while循环 先执行后判断 不管条件是否成立 至少执行一次* while循环 先判断后执行 条件不成立 一次都不执行* * 需求:经过几天的学习,老师给赵四一道测试题,* 让他先上机编写程序完成,然后老师检查是否合格。如果不合格,则继续编写…… **/
public class Test1 {public static void main(String[] args) {Scanner input = new Scanner(System.in);String answer;do {System.out.println("编写代码,上机测试……");System.out.println("请输入是否合格?y/n");answer = input.next();}while(answer.equals("n"));System.out.println("恭喜完成任务!");}
}
package com.qfedu.test2;
/*** 使用do-while循环打印N遍好好学习**/
public class Test2 {public static void main(String[] args) {int i = 1;do {System.out.println("好好学习" + i);i++;}while(i <= 1000);}
}
4.for循环
单词 为了 ……
第一轮
1.计数器初始化 最先执行 且只执行一次
2.判断条件
3.循环体
4.计数器变换
第二轮
直接从判断条件开始执行
循环次数固定,确定的情况下,for循环比while和do-while书写简洁
package com.qfedu.test3;
/*** for循环 * 单词 为了 ……* for循环执行过程* 第一轮* 1.计数器初始化 最先执行 且只执行一次* 2.判断条件* 3.循环体* 4.计数器变换* 第二轮* 直接从判断条件开始执行 * * 循环次数固定,确定的情况下,for循环比while和do-while书写简洁**/
public class Test1 {public static void main(String[] args) {for(int i = 0;i < 15;i++) {System.out.println("好好学习" + i);}System.out.println("程序结束");}
}
package com.qfedu.test3;
import java.util.Scanner;
/*** 循环输入某同学结业考试的5门课成绩,并计算平均分**/
public class Test2 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入姓名");String name = input.next();double sum = 0;for(int i = 1;i <= 5;i++) {System.out.println("请输入第"+ i +"门成绩");double score = input.nextDouble();sum += score;}System.out.println("总成绩是:" + sum);
System.out.println(name + "同学的平均分是:" + sum / 5);System.out.println("程序结束");}
}
4.1 for循环常见问题
for循环常见问题1 计数器未初始化
package com.qfedu.test4;
/*** for循环常见问题1 计数器未初始化*/
public class Test2 {public static void main(String[] args) {int i = 0;for(;i < 10;i++) {System.out.println(i);}}
}
for循环常见问题2 缺少判断条件
package com.qfedu.test4;
/*** for循环常见问题2 缺少判断条件**/
public class Test3 {public static void main(String[] args) {for(int i = 0;;i ++) {System.out.println(i);}// System.out.println("程序结束"); 因为上边的for循环缺少判断条件 所以代码无法执行到这里}
}
for循环常见问题3 缺少计数器变化
package com.qfedu.test4;
/*** for循环常见问题3 缺少计数器变化**/
public class Test4 {public static void main(String[] args) {for(int i = 0;i < 10;) { // 缺少计数器变化System.out.println(i);}}
}
for循环常见问题4 缺少计数器初始化 、判断条件、计数器变化
package com.qfedu.test4;
/*** for循环常见问题4 缺少计数器初始化 、判断条件、计数器变化**/
public class Test5 {public static void main(String[] args) {for(;;) {System.out.println("hello world");}}
}
5.循环对比和总结
区别
区别1:语法
区别2:执行顺序 while 循环:先判断,再执行 do-while循环:先执行,再判断 for循环:先判断,再执行
区别3:适用场景
循环次数确定的情况,通常选用for循环 循环次数不确定的情况,通常选用while或do-while循环
6.break关键字
适用场景:
1.switch中 表示跳出switch结构
2.3种循环中 表示中断循环结构 没有执行完的循环次数 不再执行
通常结合分支结构使用
package com.qfedu.test5;
/*** 使用do-while循环 break 实现跑步退出**/
public class Test3 {public static void main(String[] args) {int i = 1;do {if(i == 3) {System.out.println("太累了,退出");break;}System.out.println("跑步第"+ i +"圈");i++;
}while(i <= 10);System.out.println("程序结束");}
}
练习
package com.qfedu.test5;
import java.util.Scanner;
/*** 使用循环录入5门成绩 如果输入为负数 停止录入 并且提示**/
public class Test4 {public static void main(String[] args) {Scanner input = new Scanner(System.in);int sum = 0;boolean flag = true;for(int i = 1;i <= 5;i++) {System.out.println("请输入第"+ i +"门成绩");int score = input.nextInt();if(score < 0) {flag = false;System.out.println("分数录入错误,请重新录入");break;}sum += score;}if(flag) { // flag == trueSystem.out.println("平均分是" + sum / 5);}else {System.out.println("分数录入有误,不再计算平均分");} }
}
7. continue关键字
continue 继续
适用场景:只能用在循环中,表示跳出本次循环,继续执行下一次循环
package com.qfedu.test6;
import java.util.Scanner;
/*** continue 继续* 适用场景:只能用在循环中,表示跳出本次循环,继续执行下一次循环* 循环录入Java课的学生成绩,统计分数大于等于80分的学生比例**/
public class Test2 {public static void main(String[] args) {Scanner input = new Scanner(System.in);
System.out.println("请输入人数");int num = input.nextInt();double count = 0;for(int i = 1;i <= num;i++) {System.out.println("请输入第"+ i +"个人的成绩");int score = input.nextInt();if(score <= 80) {continue;}count ++;}System.out.println("大于80分的总人数是:" + count);System.out.println("大于80分人数占比是:" + count / num * 100 + "%");}
}
8.break和continue的区别
使用场合 break用于switch结构和循环结构中 continue用于循环结构中
作用(循环结构中) break语句终止某个循环,程序跳转到循环块外的下一条语句 continue跳出本次循环,进入下一次循环 双重循环亦如此
循环结构以及循环关键字相关推荐
- 一文熟悉 Go 的循环结构 —— for 循环
哈喽大家好,我是陈明勇,今天分享的知识是 Go 的循环结构.如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出! 耐心和持久胜过 ...
- GO学习笔记 - Go 只有一种循环结构—— for 循环。
一,Go 只有一种循环结构-- for 循环. 官方教程:https://tour.go-zh.org/flowcontrol/1 Go 只有一种循环结构-- for 循环. 基本的 for 循环包含 ...
- Julia循环结构_for循环_2020-04-23
# Julia循环结构_for循环_2020-04-23Thursday #@ for循环是一种迭代循环机制,迭代即重复相同的逻辑操作,每次操作都是基于上一次的结果进行的,而while循环是条件循环. ...
- 循环结构--for循环
文章目录 循环结构 一.循环语句分类 1.for 循环 2.For 循环结构的使用 3.for循环练习 练习1 练习2 练习3 遍历100以内的偶数,输出所有偶数的和,输出偶数的个数 练习4 编写程序 ...
- day05循环结构while循环嵌套控制条件语句方法(函数)
循环结构:while循环 语句定义格式: 基本格式: while(判断条件语句){ 循环体语句; ...
- 循环结构-for循环
1.循环结构的4个要素 1.初始化条件 2.循环条件 3.循环体 4.迭代条件 2.语法格式 for (①初始化部分; ②循环条件部分; ④迭代部分){ ③循环体部分; } 3.执行过程 ①-②-③- ...
- 【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )
文章目录 一.MATLAB 流程控制结构 二.for 循环 1.for 循环 2.嵌套 for 循环 三.while 循环 二.分支结构 1.if end 分支结构 2.if else end 分支结 ...
- python for循环结构_循环结构-for循环
我们在上一节提到过计数控制的循环是根据绝对值的次数来进行循环,我们通过for语句来实现计数循环,那么在for循环中一定存在控制次数的对象. 1. for循环 for循环是通过次数的大小来进行循环,通常 ...
- 循环结构_for循环
循环概述 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将 ...
最新文章
- 如何测量智能产品的AI智商水平,论AI的三种智商 |未来研究
- 我的WCF之旅(7):面向服务架构(SOA)和面向对象编程(OOP)的结合——如何实现Service Contract的继承...
- flask + celery
- java set spliterator_Java TreeSet spliterator()方法
- Spring Boot中Starter是什么
- 【slighttpd】基于lighttpd架构的Server项目实战(5)—TCP的TIME_WAIT状态
- android开源项目框架大全:《IT蓝豹》
- PHPer转战Android的学习过程以及Android学习
- hook NSArray 方法在debug模式下会崩溃, 在release模式下会返回nil
- spark java jar 依赖_spark提交依赖jar包的解决方法
- MultiDesk 是一个选项卡(TAB标签)方式的远程桌面连接 (Terminal Services Client)。
- “奋斗者”号下潜10909米:我们为什么要做深海探索?
- 根据IP地址查询所在地
- 动物生存竞争对投资的启示!
- 一维测量助手(尺寸检测、精确定位)
- 一个拖延症晚期患者的锦囊妙计
- MySQL 5.7 OCP考试大纲
- 设计模型概念了解-------------【设计模型】
- 2022.3.11 MATLAB课程作业
- 红旗linux操作系统怎样,红旗linux操作系统应该怎么用
热门文章
- CAN通信数据帧介绍
- Oracle 的行列转换
- html 图片是块元素吗,HTML+CSS:html元素分类之块级元素、内联元素、内联块级元素...
- 钢铁厂计算机相关岗位需要倒班吗,钢铁厂工人倒班的三个阶段,请对号入座!...
- Springboot+mysql+微信小程序校园在线打印预约系统-计算机毕业设计源码91740
- 无线电线路: 5G和你后院的信号塔
- Pruning paper 合集
- 未明学院:7天金融量化分析初阶集训营,紧跟Fintech数据时代潮流!
- 小白如何学操作系统?
- 我这样的情况可以转行做SAP吗?