java基础---循环结构(一)

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恤\n2.网球鞋\n3.网球拍");

  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("商品编号\t商品名称\t商品价格\t");

  System.out.println(n+"\t"+sp+"\t"+jg+"\t");

  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恤\n2.网球鞋\n3.网球拍");

         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+"\t商品单价:"+price+"\t商品数量:"+count+"合计:"+heji);

      break;

        case 2 :

          name="tennis shoe";

          price=400;

          heji=price*count;

          cost=cost+heji;

          System.out.println("商品名称:"+name+"\t商品单价:"+price+"\t商品数量:"+count+"合计:"+heji);

      break;

        case 3 :

          name="tennis pat";

          price=800;

          heji=price*count;

          cost=cost+heji;

          System.out.println("商品名称:"+name+"\t商品单价:"+price+"\t商品数量:"+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语句,输错就重新输

猜你喜欢

转载自www.cnblogs.com/-lyr/p/9557162.html