1.为什么需要循环?
同样的操作需要进行许多次,使用循环可以减少
2.什么是while循环?
while ( 循环条件 ) {
循环操作
}
符合条件,循环继续执行;否则,循环退出
循环中被重复执行的操作
举例:
public class Case5 {
public static void main(String[] args) {
//while循环
//3个条件 初始化、判断、改变
int i=0;
while(i<10){
//循环内容
System.out.println("好好学习,天天向上");
i++;
}
}
}
3.while循环特点?
先判断,再执行
4.使用while循环?
1.分析是否存在重复操作
2.使用while循环实现(确定循环条件和循环操作,套用while语法写出代码,检查循环是否能够退出)
举例:学习合格吗?
import java.util.Scanner;
public class Case6 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
//循环条件
boolean isOK=false;
while(!isOK){
System.out.println("学习合格吗?true/false");
isOK=input.nextBoolean();
}
}
}
心得:可以使用boolaen或者string来实现
举例:人数增长
import java.util.Scanner;
public class Case7 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
double a=25;
double b=0.25;
double c=2012;
while(a<=100){
a=a*1.25;
c++;
}
System.out.println("到"+c+"年时达到");
}
}
心得:人数是循环条件
5.为什么需要程序调试?
在编写程序过程中有时也出现错误,但不好发现和定位错误,有没有好的方法呢?
1.通过代码阅读或者加输出语句查找程序错误
2.当程序结构越来越复杂时,需要专门的技术来发现和定位错误,就是“程序调试
6.什么是程序调试?
设置断点
进入debug界面
f5 step into f6 step over
单步运行
观察变量
7.如何进行程序调试?
步骤1:分析错误,设置断点
步骤2:启动调试
步骤3:单步运行
步骤4:观察变量
步骤5:发现问题
步骤6:修正代码,重新运行
步骤7:解决
举例:
import java.util.Scanner;
public class Case8 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
// 程序调试 debug bug
// 1-设置断点
// 2-进入debug
// 3- f5 step into f6 step over
int i=1;
while(i<5){
System.out.println(i);
i++;
}
}
}
8.如果不小心删除图标如何恢复?
Window-->show view-->找到相应的图标恢复 或者 Window-->New window-->恢复出厂设置
9.程序调试的目的?
找出缺陷原因,修正缺陷
训练:计算100以内的偶数之和
public class Case9 {
public static void main(String[] args) {
//100以内奇数相加
double i=0;
double sum=0;
while(i<=100){
if(i%2==0){
sum=sum+i;
}
i++;
}
System.out.println(sum);
}
}
心得:求和使用全局变量
训练:查询商品价格方法一
import java.util.Scanner;
public class Case10 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String sp=null;
double jg=0;
int n=0;
String a="y";
while(a.equals("y")){
System.out.println("*******************************");
System.out.println("请选择购买的商品编号:");
System.out.println("1.T恤 2.网球鞋 3.网球拍");
System.out.println("*******************************");
System.out.println("请输入商品编号:");
n=input.nextInt();
System.out.println("请设置商品名称");
sp=input.next();
System.out.println("请选择商品价格");
jg=input.nextDouble();
System.out.println("您选择的的商品是:");
System.out.println("商品编号 商品名称 商品价格 ");
System.out.println(n+" "+sp+" "+jg+" ");
System.out.println("还要继续购买吗?true/false");
a=input.next();
}
}
}
心得:先把商品名称 价格 编号 定义出来 。(自己进行定义价格)
想要进行循环,就使用wehile循环,boolean进行
训练:查询商品价格方法二
import java.util.Scanner;
public class Case11 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String sp=null;
double jg=0;
int n=0;
String a="y";
while(a.equals("y")){
System.out.println("*******************************");
System.out.println("请选择购买的商品编号:");
System.out.println("1.T恤 2.网球鞋 3.网球拍");
System.out.println("*******************************");
System.out.println("请输入商品编号:");
n=input.nextInt();
switch(n){
case 1:
sp="T恤";
jg=200;
break;
case 2:
sp="网球鞋";
jg=400;
break;
case 3:
sp="网球拍";
jg=600;
break;
default:
break;
}
System.out.println(sp+jg);
System.out.println("是否继续y/n");
a=input.next();
}
System.out.println("退出");
}
}
心得:循环输入商品编号和购买数量,初始值放在case里面
10.为什么需要do-while循环?
满足了该例子,经过几天的学习,老师给张浩一道测试题,让他先上机编写程序完成,然后老师检查是否合格。如果不合格,则继续编写。……
11.什么是do-while循环?
do {
循环操作
} while ( 循环条件 );
循环操作:先执行一遍循环操作
循环条件:符合条件,循环继续执行;否则,循环退出
举例:是否合格
import java.util.Scanner;
public class Case12 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String answer="y";
do{
System.out.println("学习....");
System.out.println("是否合格y/n");
answer=input.next();
}while(!answer.equals("y"));
}
}
12.do-while循环特点?
先执行,再判断
作业:升级购物结算
import java.util.Scanner;
public class Case {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int id=0; //商品编号
String name=null; //商品名称
double price=0;//商品单价
int count=0;//商品数量
double discount=0;//商品折扣
double heji=0;//合计
double cost=0;//实际消费
double pay=0;//实际支付
double change=0;//找零
String isOK="y";//控制循环
while (isOK.equals("y")) {
System.out.println("*******************************************************");
System.out.println("请选择您购买的商品编号");
System.out.println("1-T-shirt;2-tennis shoe;3-tennis pat");
System.out.println("*******************************************************");
System.out.print("请输入商品编号");
id=input.nextInt();
System.out.print("请输入商品数量");
count=input.nextInt();
switch (id) {
case 1 :
name="T-shirt";
price=200;
heji=price*count;
cost=cost+heji;
System.out.println("商品名称:"+name+" 商品单价:"+price+" 商品数量:"+count+"合计:"+heji);
break;
case 2 :
name="tennis shoe";
price=400;
heji=price*count;
cost=cost+heji;
System.out.println("商品名称:"+name+" 商品单价:"+price+" 商品数量:"+count+"合计:"+heji);
break;
case 3 :
name="tennis pat";
price=800;
heji=price*count;
cost=cost+heji;
System.out.println("商品名称:"+name+" 商品单价:"+price+" 商品数量:"+count+"合计:"+heji);
break;
default:
System.out.println("对不起,您的输入有误,请重新输入");
break;
}
System.out.println("是否继续购买");
isOK=input.next();
}
//结算
System.out.println("折扣");
discount=input.nextDouble();
System.out.println("您本次消费:"+cost*disconut);
System.out.println("您付款:");
pay=input.nextDouble();
if (pay>cost*disconut) {
change=pay-cost;
System.out.println("给您找零"+change);
}else {
System.out.println("对不起,您支付的金额不足");
}
}
}
心得:先分析有几个变量。
作业:升级菜单切换
import java.util.Scanner;
public class zouye2 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int sz=0;
boolean a=false;
System.out.println("欢迎使用MyShopping管理系统");
System.out.println("*********************");
System.out.println(" 1.客服信息管理");
System.out.println(" 2.购物结算");
System.out.println(" 3.真情回馈");
System.out.println(" 4.注销");
System.out.println("*********************");
do{
System.out.println("请选择,输入数字:");
sz=input.nextInt();
switch(sz){
case 1:
System.out.println("执行客服信息管理");
a=false;
break;
case 2:
System.out.println("执行购物结算");
a=false;
break;
case 3:
System.out.println("执行真情回馈");
a=false;
break;
case 4:
System.out.println("执行注销");
a=false;
break;
default:
System.out.println("输入错误,请重新输入数字:");
a=true;
break;
}
}while(a);
System.out.println("程序结束!!!");
}
}
心得:可以重复选择使用do while语句,输错就重新输