zoukankan      html  css  js  c++  java
  • 第六章 循环结构(二)

    6.1、for循环

      6.1.1、为什么需要for循环

        答:public class whileDemo{

          public static void main(String[]args){

            int i=0;

            while(i<100){

              System.out.println("好好学习,天天向上");

              i++;

           }

         }

       }

      实例二:public class ForDemo{

            public static void main(String[]args){

              for(int i=0;i<100;i++){

                System.out.println("好好学习,天天向上");

            }

          }

        }

      通过对比,我们可以得出,在解决固定循环次数时,可以首选for循环。

      6.1.2、什么是for循环

        答:for(表达式1;表达式2;表达式3){

          //循环体

        }

        结论:for关键字后面的括号的三个表达式必须用";"隔开。

      6.1.3、如何使用for循环

        答:import java.util.*;

          public class AvergeScore{

            public static void main(String[]main){

              int score;

              int sum=0;

              double avg=0.0;

            Scanner input=new Scanner(System.in);

            System.out.println("输入学生姓名:");

            String name=input.next();

            for(int i=0;i<5;i++){

              System.out.println("请输入5门功课中的第"+(i+1)+"门课的成绩:");

              score=input.nextInt();

              sum=sum+score;

            }

            avg=sum/5;

            System.out.println(name+"的平均分是"+avg);  

          }

        }

      6.1.4、上机练习

        答:import java.util.*;

          public class AgeRate{

            public static main(String[]args){

              int young=0;

              int age=0;

              Scanner input=new Scanner(System.in);

              for(int i=0;i<10;i++){

                System.out.println("请输入第"+(i+1)+位顾客的年龄:);

                  age=input.nextInt();

                if(age>0&&age<=30){

                    young++;

                }

            }

            System.out.println("30岁以下的比例是:"+young/10.0*100+"%");

            System.out.println("30岁以上的比例是:"+(1-young/10.0)*100+"%");

          }

        }

    6.2、跳转语句

      6.2.1、break语句

        答:import java.util.*;

          public class BreakDemo{

            public static void main(String[]args){

              int score;int sun=0;int avg;

              boolean isNegative=false;

              Scanner input =new Scanner(System.in);

              System.out.println("学生姓名:");

              String name=input.next();

              for(int i=0;i<5;i++){

                System.out.println("请输入第"+(i+1)+"门课的成绩:");

                  score=input.nextInt();

                  if(score<0){

                    isNegative=true;

                    break;

                }     

                sum=sum+score;

              }

              if(isNegative){

                 System.out.println("输入错误,请重新输入:");

             }else{

                avg=sum/5;

               System.out.println(name+"的平均分是:"+avg);

            }

           }

        }

      6.2.2、continue语句

       答:import java.util.*;

          public class BreakDemo{

            public static void main(String[]args){

              int score;int total;int num=0;

              Scanner input =new Scanner(System.in);

              System.out.println("请输入班级总人数:");

              total=input.nextInt();

              for(int i=0;i<total;i++){

                System.out.println("请输入第"+(i+1)+"为学生的成绩:");

                  score=input.nextInt();

                  if(score<80){

                   continue;

                }     

                num++;

              }

              System.out.println("80分以上的学生人数是:"+num);

               double rate=(double) num/total *100;

              System.out.println("80分以上的学生所占的比例为:"+rate+"%");

           }

        }

    6.3、上机练习

        答:import java.util.*;

          public class AddCustomer{

            public static void main(String[]args){

              System.out.println("欢迎登陆MySopping系统》客户信息管理》添加客户信息");

              int custNo=0;

              String biorthday;

              int points=0;

              Scanner input=new Scanner(System.in);

              for(int i=0;i<3;i++){

                System.out.print("请输入会员号(<4位整数>):");
                   custNo = input.nextInt();
                 System.out.print("请输入会员生日(月/日<用两位整数表示>):");
                   birthday = input.next();
                 System.out.print("请输入会员积分:");
                   points = input.nextInt();

                if(custNo<1000||custNO>9999){

                  System.out.println("客户号" +custNo+ "是无效会员号!");
                     System.out.println("录入信息失败\n");
                        continue;

               }

                System.out.println("您录入的会员信息是:");
                   System.out.println(custNo+ " " +birthday+ " " +points+ "\n");

            }

              System.out.println("程序结束!");

          }

        }

    6.4、循环结构总结

        答:while、do-while和for循环的对比:

          语法不同:

            while(条件){

              //循环体

            }

            do{

              //循环体

           }while(条件);

          for(初始化;条件;迭代){

            //循环体

        }

        执行顺序不同:

          while循环:向进行条件判断,在执行循环体。如果条件不成立,对出循环。

          do-while循环:先执行循环体,在进行条件判断,循环体至少执行一次。

          for循环:先执行初始化部分,在进行条件判断,然后执行循环体,最后进行迭代部分的计算,如果条件不成立跳出循环。

      适用情况不同:

        在解决问题时,对于循环次数确定的情况,通常选用for循环。对由于循环次数比确定的情况,通常选用while或do-while循环。

    本章总结

      答:break语句终止某个循环,程序跳转到循环块外的下一条语句。

        continue语句是跳出本次循环,进入下一次循环。

    本章作业

      答:public class 鸡兔同笼 {
           public static void main(String[]args){
              int num=35;      //头的数量
              int sum=94;      //脚的数量
            for(int i=0,j=(num-i);i<num;i++,j--){
               if(i*2+j*4==sum){     
                  System.out.println("鸡的数量是:"+i);
                  System.out.println("兔子的数量是:"+j);
             }
          }
       }
    }

    实例二:import java.util.Scanner;

        public class LoginCheck {

           /**   * 验证用户名和密码(根据匹配情况执行不同操作)   */  

          public static void main(String[] args) {

              int i = 0;   String userName;   String password;   

             Scanner input = new Scanner(System.in);  

             for(i = 0; i < 3; i++){   

               System.out.print("请输入用户名:");  

                userName = input.next();  

               System.out.print("请输入密码:");   

               password = input.next();   

             if("jim".equals(userName) && "123456".equals(password)){ //匹配     

                  System.out.println("欢迎登录MyShopping系统!");    

                     break;  

            }else{ //不匹配     

               System.out.println("输入错误!您还有" +(2-i)+ "次机会!\n");    

                 continue;

               }   

          }   

          if(i == 3){ //3次都不匹配   

               System.out.println("对不起,您3次均输入错误!");   

          }

        }

    }

  • 相关阅读:
    重构之重新组织函数(ExTract Method)
    设计模式之桥接模式
    设计模式原则之里氏替换原则
    设计模式原则之依赖倒置原则
    设计模式原则之接口隔离原则
    设计模式原则之单一职责原则
    编译php5.6
    wireshark总结
    Blu-Ray BRRip 和 BDRip 的区别
    openwrt虚拟机的network unreachable
  • 原文地址:https://www.cnblogs.com/lanliying/p/2818425.html
Copyright © 2011-2022 走看看