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(表达式一;表达式二;表达式三){ 循环操作 } 表达式一:参数初始化 表达式二:条件判断 表达式三:更新循环变量 执行流程: 步骤一:执行表达式一.初始化参数 步骤二 ...
随机推荐
- Spark操作—aggregate、aggregateByKey详解
https://blog.csdn.net/u013514928/article/details/56680825 1. aggregate函数 将每个分区里面的元素进行聚合,然后用combine函数 ...
- 【Thread】线程工厂-ThreadFactory
ThreadFactory---线程工厂 在apollo源码中有这么一段代码 ExecutorService m_longPollingService = Executors.newSingleThr ...
- python3+Django1.11+mysql5.7 MySQL DB API Drivers
The Python Database API is described in PEP 249. MySQL has three prominent drivers that implement th ...
- P4855 MloVtry的idea
$ \color{#0066ff}{ 题目描述 }$ MloVtry是一个脑洞很大的人,它总会想出一些奇奇怪怪的idea. 可问题是,MloVtry作为一个蒟蒻,很多时候都没办法解决自己提出的问题,所 ...
- iOS的本地推送删除不了解决方法
最近在研究苹果推送,当测试本地推送的时候,发现一个问题,就是一旦你添加了一个本地推动的通知,当你修改代码,删除应用,当你再次运行app,它还是会在横幅上面弹出推送,尼玛怎么搞都删除不了,近乎崩溃了,开 ...
- IOS中NSUserDefaults的用法
NSUserDefaults适合存储轻量级本地数据,比如要保存用户登陆的用户名.密码,使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的 ...
- JUnit4.13环境配置
Junit 4.13环境配置 JUnit是一个强大的单元测试工具.它可以针对某一个特定类的所有方法进行精确打击.这个东西具体怎么使用,留在以后说.这次给大家说说idea下配置JUnit环境的方法. 1 ...
- 洛谷 P3191 [HNOI2007]紧急疏散EVACUATE(网络最大流)
题解 二分答案+Dinic最大流 二分答案\(mid\) 把门拆成\(mid\)个时间点的门 相邻时间的门连一条\(inf\)的边 预处理出每个门到每个人的最短时间 为\(dis[k][i][j]\) ...
- POJ_1019 Number Sequence 【递推】
题目: A single positive integer i is given. Write a program to find the digit located in the position ...
- 自动生成缓存Key值的CacheKeyHelper
/// <summary> /// CacheKeyHelper /// </summary> public class CacheKeyHelper { /// <su ...