Java循环结构之while和do-while循环
循环结构知识点
本章技能目标
1理解循环的含义
2会使用while循环
3会使用do-while循环
4会使用调试解决简单的程序错误
一、 循环的含义
循环就是重复的做……(Java程序中的循环结构有三种实现方式:while循环结构、do-while循环结构、for循环结构)
程序循环的特点:
1、 循环不是无休止进行的,满足一定条件的时候循环才会继续,称为“循环条件”;
2、 循环不满足的时候,循环退出;
3、 循环结构是反复进行相同的或者类似的一系列操作,称为“循环操作”。
二、 while循环
语法:
While(循环条件){
//循环操作
}
流程图:

举例:
Int i=1;
While(i<=100){
System.out.println(“好好学习!”);
I= i+1;
}
★练习--升级购物系统
1.循环输入商品编号和购买数量,系统自动计算每种商品的价钱(单价*购买数量),并累加得到总金额。
2.当用户输入‘n’时,表示需要结账,则退出循环结账。
3.结账时,根据折扣(八折)计算应付金额,输入实付金额,计算找零。
import java.util.Scanner;
public class Test03 {
public static void main(String[] args) {
//打印菜单
System.out.println("MyShopping管理系统>购物结算\n");
System.out.println("***********************************************");
System.out.println("请选择购买的商品编号:");
System.out.println("1.T恤\t2.网球鞋\t3.网球拍");
System.out.println("***********************************************");
//从键盘接收
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
//初始化商品信息
String name = " ";//商品名称
double price = 0;//商品价格
double pay = 0;//应付金额
double Pay = 0;//购物总额
//while循环
String conti = "y";
while(conti.equals("y")){
System.out.print("请输入商品编号:");
int id = input.nextInt();
switch(id){
case 1:
name = "T恤";
price = 245;
break;
case 2:
name = "网球鞋";
price = 570;
break;
case 3:
name = "网球拍";
price = 320;
break;
default:
name = "--";
System.out.println("选择错误!");
break;
}//switch
//购买数量
System.out.print("请输入购买数量:");
int num = input.nextInt();//数量
pay = price*num;
Pay = Pay+pay;
System.out.println(name+":¥"+price+"\t数量:"+num+"\t合计:¥"+pay);
//询问是否继续循环
System.out.println("是否继续(y/n)?");
conti = input.next();
}
/*System.out.println("程序结束!");*/
//添加变量
double dis = 0.8;
System.out.println("\n折扣:"+dis);
System.out.println("应付金额:¥"+Pay);
System.out.print("实付金额:¥");
int money = input.nextInt();
double change = money-Pay;
System.out.println("找钱:¥"+change);
}
}
常见错误
使用while循环结构解决问题时,经常会遇到下面的一些错误。
1、 没有为循环变量赋初值
2、 缺少{}
三、do-while循环
语法:
do{
//循环操作
}while(循环条件)
流程图:

举例:
int i = 1;
do{
System.out.println("好好学习!");
i++;
}while(i<=100);
★练习--升级菜单切换
import java.util.Scanner;
public class Test04 {
public static void main(String[] args) {
//打印菜单界面
System.out.println("欢迎使用MyShopping管理系统\n");
System.out.println("***********************************************");
System.out.println("\t\t1.客户信息管理");
System.out.println("\t\t2.购物结算");
System.out.println("\t\t3.真情回馈");
System.out.println("\t\t4.注销");
System.out.println("***********************************************");
//键盘接收数据
System.out.print("\n请选择,输入数字:");
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
int num;
//添加do-while循环
do{
num = input.nextInt();
//switch
switch(num){
case 1:
System.out.println("执行客户信息管理");
break;
case 2:
System.out.println("执行购物结算");
break;
case 3:
System.out.println("执行真情回馈");
break;
case 4:
System.out.println("执行注销");
break;
default:
System.out.print("输入错误,请重新输入数字:");
break;
}//switch
}while(num<1||num>4);
System.out.println("\n程序结束");
}
}
四、 本章总结:
1、循环结构由循环条件和循环操作构成。只要满足循环条件,循环操作就会反复执行。
2、使用循环结构解决问题的步骤:
分析循环条件和循环操作,
套用循环结构的语法写出代码,
检查循环能否退出。
3、编写循环结构代码时需注意:
循环变量的初值、循环操作中对循环变量值的改变和循环条件三者之间的关系;确保循环次数正确,不要出现“死循环”。
4、while循环结构的特点是:先判断,后执行;
do-while循环结构的特点是:先执行,再判断。
附:程序调试
Java循环结构之while和do-while循环的更多相关文章
- 循环结构——while、do-while、for循环
1.while循环 语法格式: while(条件判断){ 循环体 } 解释: (1)关键字while后的小括号中的内容时循环条件. (2)循环条件是一个布尔表达式,它的值为布尔类型 "真&q ...
- [Java基础]循环结构3
[Java基础]循环结构3 break 与 continue 中断循环... /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:BreakTest.java 编写时间:2016/6 ...
- [java基础]循环结构2
[java基础]循环结构2 写了几个循环结构练习~记录一下~~ 1:99乘法表 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:GameForFor.java 编写时间:2016 ...
- 【Java】流程控制 - 顺序结构、 选择(分支)结构(单分支、双分支、多分支、嵌套)、循环结构(for、while、do...while)、跳转语句(break、continue)
流程控制语句结构 文章目录 流程控制语句结构 一. 顺序结构 1. 输出语句 2. 输入语句 3.code 二.复合语句 三. 分支结构 1. 条件判断 1.单分支结构 2.双分支结构 3.多分支结构 ...
- Java程序设计基础笔记 • 【第5章 循环结构】
全部章节 >>>> 本章目录 5.1 while循环结构 5.1.1 循环简介 5.1.2 while循环 5.1.3 while循环的使用 5.1.4 while循环的注 ...
- Java基础语法Day_02-03(数据类型、运算符、方法、循环结构)
第5节 数据类型转换 day02_01_数据类型转换_自动转换 day02_02_数据类型转换_强制转换 day02_03_数据类型转换_注意事项 day02_04_ASCII编码表 第6节 运算符 ...
- JAVA循环结构示例
本文章主要是帮助大家学习循环结构.学习循环时,最重要的是理清思路,那些最经典算法实际中我们并不会单拿出来用,而是会用到当时做这个算法时的思想.如果把这个思路想明白了,那么实际中用到他的时候自然而然就想 ...
- Java中的循环结构
1.while循环结构 语法: while(循环条件){ //循环操作 } while循环结构流程图: 举例: int i = 1; while(i <= 100){ System.out.pr ...
- 小白的java学习之路 “ 循环结构(二)”
一.for 循环 语法: for(表达式一;表达式二;表达式三){ 循环操作 } 表达式一:参数初始化 表达式二:条件判断 表达式三:更新循环变量 执行流程: 步骤一:执行表达式一.初始化参数 步骤二 ...
随机推荐
- 通过 js 修改 html 的文本内容或者样式
通过 js 修改 html 的文本内容 <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...
- 【BZOJ3589】动态树 树链剖分+线段树
Description 别忘了这是一棵动态树, 每时每刻都是动态的. 小明要求你在这棵树上维护两种事件 事件0: 这棵树长出了一些果子, 即某个子树中的每个节点都会长出K个果子. 事件1: 小明希望你 ...
- luoguP4213 [模板]杜教筛
https://www.luogu.org/problemnew/show/P4213 同 bzoj3944 考虑用杜教筛求出莫比乌斯函数前缀和,第二问随便过,第一问用莫比乌斯反演来做,中间的整除分块 ...
- Java面向对象之关键字super 入门实例
一.基础概念 (一)super关键字 super关键字的用法和this相似.this代表的是当前对象.super代表的是父类中内存空间. 子父类中是不会出现同名属性的情况. (二)继承中.成员变量问题 ...
- MySQL索引的索引长度问题
转自:http://samyubw.blog.51cto.com/978243/223773 MySQL的每个单表中所创建的索引长度是有限制的,且对不同存储引擎下的表有不同的限制. 在MyISAM表中 ...
- 【智能算法】变邻域搜索算法(Variable Neighborhood Search,VNS)超详细解析和TSP代码实例以及01背包代码实例
喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 00 目录 局部搜索再次科普 变邻域搜索 造轮子写代码 01 局部搜索科普三连 虽然之前做的很多篇启发式的算法都有跟大家提过局部 ...
- 牛客挑战赛30-T3 小G砍树
link 题目大意: n个节点的带标号无根树.每次选择一个度数为1的节点并将它从树上移除.问总共有多少种不同的方式能将这棵树删到只剩 1 个点.两种方式不同当且仅当至少有一步被删除的节点不同. 题解: ...
- 【BZOJ3417】[POI2013]MOR-Tales of seafaring (最短路SPFA)
[POI2013]MOR-Tales of seafaring 题目描述 一个n点m边无向图,边权均为1,有k个询问 每次询问给出(s,t,d),要求回答是否存在一条从s到t的路径,长度为d 路径不必 ...
- 运用CSS高斯模糊添加图片加载效果
<!DOCTYPE html> <html> <head> <title>大图片加载从模糊到清晰</title> </head> ...
- JS 创建元素的三种方法
1.动态创建元素一 document.write() 例如向页面中输出一个 li 标签 <pre class="html" name="code"> ...