关于while循环和do-while循环
一,循环
1,定义:以环形、回路或轨道运行;沿曲折的路线运行;特指运行一周而回到原处
举例说明:比如 打印50份试卷,在400m跑道上进行1W m赛跑等
解析:循环条件---不足50分试卷就继续打印
循环操作---打印试卷,打印总份增加1.
循环结束---打印足了50份试卷
结论:由此看出循环不是无休止进行的,满足一定条件的时候循环才会继续,成为“循环条件”,循环条件不满足的时候,循环退出;期间进行的反复进行的或类似的一系列操作,称为循环操作。
二,while循环结构
1,特点:先判断后执行。
2,语法:while (循环条件){
//循环操作
}
3,三要素:(1)声明并初始化循环变量,也就是出发点,变量初值。
(2)判断循环条件是否满足,如果满足,则执行循环操作;否则退出循环,即条件表达式,可以理解为变量的区间,活动范围。
(3)执行完循环操作后,再次判断循环条件,决定是否继续执行循环或者退出循环 退出循环即终点
浅谈事例
package cn.text; /** 练习1 * 计算100之内的偶数之和 */ public class text01 { public static void main(String[] args) { int a=0; //初始变量 即起点 int b=0; //累加之和 第一次的值 while(a<=100){ //条件表达式 即终点 if(a%2==0){ //判断是否为偶数 b+=a; //进行累加 } a++; //a的变化值 即从0即开始依次判定 }System.out.println("偶数之和: "+b); } }
三 do-while循环
1,特点:先执行,在判断。
2,语法:do{
//循环操作
}while(循环条件);
3,三步骤:(1)分析循环条件和循环操作
(2)套用do-while语法
(3)检察循环能否退出
浅谈事例
package cn.warbucks; /** 循环输入商品编号和购买数量,系统自动计算每种商品的价钱(单价X购买数量),并累加得到总金额 * 当用户输入"n"时,,表示需要结账,则退出循环开始结账 * 结账时,根据折扣(假设享受八折优惠)计算应付金额,输入实付金额,计算找零 */ import java.util.Scanner; //导包语句 否则计算机不认识Scanner 是干嘛的 public class text { public static void main(String args[]){ System.out.println("********************"); System.out.println(""); System.out.println("请选择购买商品编号:"); System.out.println("1.T恤(¥245.0) 网球鞋(¥570.0) 网球拍(¥500.0)"); System.out.println("********************"); System.out.println(""); double s=0; //累加金额初值 String d; do{ System.out.println("请输入商品编号:"); Scanner input=new Scanner(System.in); int a=input.nextInt(); if(a==1){ System.out.println("请输入购买数量:"); int b=input.nextInt(); //商品数量 double c=245*b; //商品总价 System.out.println("T恤¥245.0 数量:"+b+" "+"合计:"+c); s=s+c; //累加金额 } else if(a==2){ System.out.println("请输入购买数量:"); int b=input.nextInt(); double c=570*b; System.out.println("网球鞋¥570.0 数量:"+b+" "+"合计:"+c); s=s+c; } else if(a==3){ System.out.println("请输入购买数量:"); int b=input.nextInt(); double c=500*b; System.out.println("网球拍¥500.0 数量:"+b+" "+"合计:"+c); s=s+c; } else {System.out.println("无此商品");} System.out.println("否继续(y/n)"); d=input.next(); //d为在控制台输入的值 }while(d.equals("y")); System.out.println("===========付款==========="); System.out.println("=====输入金额====="); Scanner input=new Scanner(System.in); int x=input.nextInt(); //x为输入付款的金额 double m=s*0.8; //实际的合计商品支付金额 System.out.println("折扣:0.8"); System.out.println("应付金额:"+m); System.out.println("实际金额:"+x); double p=x-m; //找钱 System.out.println("找钱:"+p); } }
时间: 2024-10-06 10:41:45