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(表达式一;表达式二;表达式三){ 循环操作 } 表达式一:参数初始化 表达式二:条件判断 表达式三:更新循环变量 执行流程: 步骤一:执行表达式一.初始化参数 步骤二 ...
随机推荐
- Java面向对象之内部类(匿名内部类)
一.基础概念 匿名内部类:简化书写的内部类.其实匿名内部类就是一个子类对象. 前提:内部类需要继承或者实现外部的类或者接口. 格式:new 父类或者接口(){定义子类的内容} 二.将内部类定义到局部的 ...
- Python3之random模块
一.简介 ramdom模块提供了一个随机数的函数:random() 它可以返回一个随机生成的实数,范围在[0,1)范围内.需要注意的是random()是不能直接访问的,需要导入模块random才可以使 ...
- php 大文件读取
当你需要处理一个5G的文件里面的数据时,你会怎么做,将文件里面的内容全部读取到一个数组里面去? 显然这种做法对小文件是没有问题的,但是对于大文件还是不行的 这时就需要用到 yield 了 ,注意这是 ...
- 011 Android TabLayout+ViewPager实现顶部滑动效果(多个页面)
1.TabLayout介绍 TabLayout提供了一个水平的布局用来展示Tabs,很多应用都有这样的设计,典型的有网易新闻,简书,知乎等.TabLayout就可以很好的完成这一职责,首先TabLay ...
- C. Magic Ship (思维+二分)
https://codeforces.com/contest/1117/problem/C 你是一个船长.最初你在点 (x1,y1) (显然,大海上的所有点都可以用平面直角坐标描述),你想去点 (x2 ...
- CF F - Tree with Maximum Cost (树形DP)给出你一颗带点权的树,dist(i, j)的值为节点i到j的距离乘上节点j的权值,让你任意找一个节点v,使得dist(v, i) (1 < i < n)的和最大。输出最大的值。
题目意思: 给出你一颗带点权的树,dist(i, j)的值为节点i到j的距离乘上节点j的权值,让你任意找一个节点v,使得dist(v, i) (1 < i < n)的和最大.输出最大的值. ...
- 将Eclipse的Java Project转换为Dynamic Web Project
在用Eclipse做JavaEE开发时经常遇到Web工程被识别为Java工程的问题,导致很多功能无法使用. 只需做以下操作便可解决该问题. 1.右击Java工程选择Properties 2.选择左边目 ...
- EntityFramework 并发处理
转载自:http://www.cnblogs.com/TianFang/p/4439215.html 什么是并发? 并发分悲观并发和乐观并发. 悲观并发:比如有两个用户A,B,同时登录系统修改一个文档 ...
- c语言实现栈的增删查减
#include"stdio.h"#include"stdlib.h"#define STACK_SIZE 100#define STACKINCREMENT ...
- Python中将列表转化成矩阵表示
list1 = [] a = [1,3,4] b = [2,5,6] list1.append(a) list1.append(b) arr = np.array(list1) # 打印arr pri ...