1.理论知识
1.循环不是无休止进行的,满足一定条件的时候循环才会继续,称为“循环条件”,循环结构是反复进行
相同的或类似的一系列操作,称为“循环操作”。
2.循环结构由循环条件和循环操作构成。只要满足循环条件,循环操作就会反复执行代码;
while:先判断条件是否成立 如果成立才会去执行{ }里面的代码;
do..while 无论如何都会执行一次,先执行{ }里面的代码 再去判断。
3.使用循环解决问题的步骤:分析循环条件和循环操作,套用循环语法写出代码,检查循环能否退出。
4.while的循环结构的执行顺序:
1.声明并初始化循环变量;2.判断循环条件是否满足,如果满足则执行循环操作;否则退出循环;
3.执行循环完循环操作后,再次判断循环条件,决定继续执行循环或退出循环。
5.程序调试
1.分析错误,设置断点;2.启动调试,单步执行。
6.编写循环结构代码时需注意:循环变量的初始值、循环操作中对循环变量值的改变和
循环条件三者关系;确定循环次数正确,不要程序“死循环”。
2.操作题
1.上机练习1
package DoceCode;
import java.util.Scanner;
public class DoceA {
public static void main(String[ ] args) {
int bag = 0;
int bus = 2;
while (bus <= 100) {
bag = bag + bus;
bus = bus + 2;
}
System.out.println("100以内的偶数之和为:"+bag);
}
}
2.上机练习2
package DoceCode;
import java.util.Scanner;
public class DoceA {
public static void main(String[ ] args) {
String name = "";
double nice = 0.0;
int good = 0;
System.out.println("MyShopping管理系统 > 购物结算\n");
System.out.println("**********************************************");
System.out.println("请选择购买的商品编号:");
System.out.println("1.T 恤 2.网球鞋 3.网球拍");
System.out.println("**********************************************");
Scanner look = new Scanner(System.in);
String bag = "y";
while ("y".equals(bag)) {
System.out.print("请输入商品编号:");
good = look.nextInt();
switch (good) {
case 1:
name = "T 恤";
nice = 245.0;
break;
case 2:
name ="网球鞋";
nice = 570.0;
break;
case 3:
name = "网球拍";
nice = 320.0;
break;
}
System.out.println(name + "\t" + "¥"+ nice +"\n");
System.out.print("是否继续(y/n)");
bag = look.next();
}
System.out.println("程序结束");
}
}
3.上机练习3
package DoceCode;
import java.util.Scanner;
public class DoceA {
public static void main(String[ ] args) {
System.out.println("**********************************************\n");
System.out.println("请选择购买的商品编号:");
System.out.println("1.T 恤 2.网球鞋 3.网球拍");
System.out.println("**********************************************");
System.out.println();
String name = "";
double price = 0.0;
int goodsno = 0;
int amount = 0;
double discount = 0.8;
double total = 0.0;
double payment = 0.0;
Scanner look = new Scanner(System.in);
String pig = "y";
while (pig.equals("y")) {
System.out.print("请输入商品编号:");
goodsno = look.nextInt();
switch (goodsno) {
case 1:
name = "T 恤";
price = 245.0;
break;
case 2:
name = "网球鞋";
price = 570.0;
break;
case 3:
name = "网球拍";
price = 320.0;
break;
}
System.out.print("请输入购买数量:");
amount = look.nextInt();
System.out.println(name+"¥"+price+"\t"+"数量"+amount+"\t合计¥"+price*amount);
System.out.print("是否继续(y/n)");
pig = look.next();
}
System.out.println("");
System.out.println("折扣:"+discount);
double sdf = price * amount;
double apple = sdf *discount;
System.out.println("应付金额:"+apple);
System.out.print("应付金额:");
payment = look.nextDouble();
while (payment-sdf *discount<0) {
System.out.println("您输入的金额不足,请重新输入:");
payment = look.nextDouble();
}
double jkd = payment - apple;
System.out.println("找钱:"+jkd);
}
}
4.上机练习4
package DoceCode;
import java.util.Scanner;
public class DoceA {
public static void main(String[ ] args) {
System.out.println("欢迎使用MyShopping管理系统\n");
System.out.println("************************************");
System.out.println("1.客户信息管理");
System.out.println("2.购物结算");
System.out.println("3.真情回馈");
System.out.println("4.注销");
System.out.println("************************************");
System.out.println();
boolean nice;
int bus;
int boy;
System.out.print("请选择,输入数字:");
Scanner good = new Scanner(System.in);
if(good.hasNextInt()){
do{
bus = good.nextInt();
nice = true;
if(bus==1){
switch (bus) {
case 1:
System.out.println("执行客户信息管理\n");
break;
case 2:
System.out.println("执行购物结算\n");
break;
case 3:
System.out.println("执行真情回馈\n");
break;
case 4:
System.out.println("执行注销\n");
break;
default:
System.out.print("输入错误,请重新输入数字:");
nice = false;
break;
}
}while(!nice);
System.out.println("程序结束\n");
}else{
System.out.println("请输入正确的数字");
}
}
}