while与do while
一:循环结构
循环的概念:重复得做某一件事情
举例:
打印50份试卷
沿操场跑10圈
做100道编程题
循环结构的特点:
循环条件 (50,10,100)
循环操作 (打印试卷,沿操场跑圈,做编程题)
while 循环结构:
语法:
while(循环条件){
循环操作
}
特点:
先判断循环条件,再执行循环操作
案例:
实现打印50份试卷
public class Demo01 {
public static void main(String[] args) {
//i:表示当前正在打印第几份试卷
int i=1;
while(i<=50){
//循环操作
System.out.println("正在打印第"+i+"份试卷");
i++;
//i+=2 i=i+2;
}
}
}
流程:
先判断循环条件是否为真,如果为真则执行循环操作,然后改变循环条件i的值进入下一次循环
如果循环条件为假则不会执行循环操作,继续执行循环以外的代码
调试程序:
1.分析错误,设置断点
2.启动调试
3.单步运行
调试启动后,运行到设置断点的代码行将停住
点击F6键可以单步运行程序,观察程序运行过程
4.观察变量
单步运行时可以在“变量”视图中看到变量当前的值
5.发现问题
6.修正代码,重新运行
7.解决问题
8.取消断点
二:do-while 循环结构:
语法:
do {
循环操作
} while ( 循环条件 );
先执行一遍循环操作
while后分号不可少
符合条件,循环继续执行;否则,循环退出
特点:先执行一遍循环操作再判断
案例:
经过几天的学习,老师给张浩一道测试题,
让他先上机编写程序完成,
然后老师检查是否合格。如果不合格,则继续编写
public class Demo05 {
public static void main(String[] args) {
// do-while循环特点:先执行再判断
String pd;
do {
// 循环操作
System.out.println("上机编写程序");
Scanner input = new Scanner(System.in);
System.out.println("是否合格?(y/n)");
pd = input.next();
} while (pd.equals("n"));
System.out.println("大吉大利,今晚学习!");
}
}
while 与 do-while 比较:
1.语法不同
2.执行次序不同
初始情况不满足循环条件时
while 循环一次都不会执行
do-while 循环不管任何情况都至少执行一次
随机推荐
- Android应用第一次启动时的欢迎界面制作
原理是这样,我们在SharedPreferences中存储一个int型数据,用来代表第几次登录,每次启动时都读取出来判断是不是第一次启动,然后依次判断是否要显示欢迎界面, 具体实现如下: 设置一个欢迎 ...
- Java学习之String、StringBuffer、StringBuilder
String 我们知道字符串的分配和其他对象分配一样,是需要消耗高昂的时间和空间的,而且字符串我们使用的非常多.JVM为了提高性能和减少内存的开销,在实例化字符串的时候进行了一些优化:使用字符串常量池 ...
- idea将普通项目转换为maven项目
方式一 1.在项目根目录下,新建文件 pom.xml,并填写好内容. 2.在pom.xml文件上,右键 Add as Maven Project 或 在项目上,右键 Add Framework Sup ...
- java设计模式学习笔记--浅谈设计模式
设计模式的目的 编写软件的过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战.设计模式为了让程序具有更好的 1.代码重用性(即:相同功能的代码,不用多次编写) ...
- mongo shell
mongo shell mongo 连接 本地 mongo # 连接127.0.0.1:27017 远程 mongo "mongodb://mongodb0.example.com:2801 ...
- <a>超链接标签,<button>按钮标签,实现返回跳转
超链接: <a href=”#” onClick=”javascript :history.back(-1);”>返回上一页</a> <a href=”#” onClic ...
- vue-cli莫名其妙的警告
好久没有写笔记了,看着以前写的笔记有很多不合理的地方也没有去改正,这里抽空记录一个vue-cli莫名其妙的警告,虽然现在我也是一脸懵逼,但是还好把问题处理了. 出现的的问题是: 项目运行时出现警告 T ...
- JS格式时间
Date.prototype.format = function(format) { var o = { "M+": this.getMonth() + 1, //month &q ...
- 博客前端live2D实现
1.本来以为没那么简单,结果看了大佬的https://www.cnblogs.com/liuzhou1/p/10813828.html#4431992的简单明了.效果如下,可随鼠标移动. ①这里添加在 ...
- javaweb 使用页面模板CSS或者Js修改失效的解决办法(Tomcat缓存问题)
原因是:浏览器的自动缓存机制导致的. 浏览器会自动缓存静态文件以加快访问速度,但是这导致了他不会再从服务器端接收静态文档了,这就导致我在idea里面改的css和js文档,浏览器根本没下载下来. 所以解 ...