zoukankan      html  css  js  c++  java
  • day05生成随机数、do-while循环、for循环、循环流控(break和continue)、循环嵌套

    复习

    1.多重if

      一个条件触发的情况在3种或以上时

      if(<条件1>){

          //条件1为真时运行

      }else if(<条件2>){

          //条件1为假,条件2为真时运行

      }else if(<条件3>){

          //条件1,2为假,条件3为真时运行

      }else{

          //条件1,2,3均为假时运行

      }

    2.switch结构

      switch(<整数表达式>){

      case 1:

         //整数表达式结果为1时运行

         break;

      case 2:

         //整数表达式结果为2时运行

         break;

      ....

      default:

         //整数表达式没有匹配结果时运行

      }

    3.多种结构的优缺点

    1)范围判断用多重if

    2)等值判断用switch

    4.循环结构

    1)什么是循环

      反复运行相同或相似的代码

    2)为什么使用循环

      减少代码冗余,提高程序的可维护性

    3)循环的要素

      3.1)循环变量

      3.2)循环条件

      3.3)循环操作

      3.4)变量更新

    5.while循环

      while(<条件>){

         //条件为真时运行的代码

      }

    笔记

    1.生成随机数

      1.1)import java.util.Random;

      1.2)Random ran=new Random();

      1.3)生成整数

          int xxx=ran.nextInt(<随机范围>);

          xxx可能出现的数值是

          0  ~  随机范围-1

          例如ran.nextInt(10)

          可能产生的数值就是0~9

    2.do-while循环

      语法

      do{

         //条件为真时运行的代码

      }while(<条件>);

    3.whiledo-while循环的区别

    1)while循环:

      先判断,后执行

      初始条件不满足,一次都不执行

    2)do-while循环:

      先执行,后判断

      初始条件不满足,也会至少执行一次

    3)理解时,理解为:

      while循环比do-while循环

      多判断一次

    4.for循环

    1)for循环语法

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

          //循环体

      }

      1.1)

      表达式1:声明循环变量

      表达式2:循环条件

      表达式3:变量的更新

      1.2)

      表达式1,2,3,均可以省略

      表达式2省略默认为true

      但是两个 ; 不能省略

      

      1.3)

      表达式1中可以声明多个变量,

                           ,分隔

      表达式3中可以多个变量的更新

                           ,分隔

      1.4)for循环适合处理

          循环次数固定的循环

    5.循环结构小结

    1)循环次数确定的使用for

    2)循环次数不确定的使用

                  while或do-while

      2.1)当......的时候

          使用while

      2.2)直到.....的时候

          使用do-while

    6.循环流控

    1)break关键字

      switch中的break能终止switch结构

      循环结构中的break能终止循环结构

      while,do-while,for均可以使用

    2)continue关键字

      只能使用在循环结构中

      循环中运行到continue的效果是:

      跳过本次循环没有运行的代码

      继续运行下次循环

    7.循环嵌套

    1)什么是循环嵌套

      一个循环结构中

      又包含另一个完整的循环结构

    2)循环嵌套的注意事项

      2.1)外层循环循环一次

          内存循环循环一遍

      2.2)流控关键字(break,continue)

          在内层循环中

          只影响内层循环

      2.3)whiledowhilefor

          能够随意相互嵌套

      2.4)循环嵌套层次不限

          应该避免过多层次的嵌套

    作业

    1)机票价格按照淡季旺季、

    头等舱和经济舱收费、

    输入机票原价、月份和1头等舱或2经济舱,

    其中旺季(5-10月)

    头等舱9折,经济舱85折,

    淡季(11月到来年4月)

    头等舱7折,经济舱65折,

    最终输出机票价格

            Scanner scan=new Scanner(System.in);
            System.out.println("请输入机票原价");
            double price=scan.nextDouble();
            System.out.println("请输入月份");
            int month=scan.nextInt();
            System.out.println("舱级(1.头等舱 2.经济舱)");
            int level=scan.nextInt();
            //旺季
            if(month>=5 && month<=10) {//头等舱
                if(level==1) {
                    price*=0.9;
                }else {//经济舱
                    price*=0.85;
                }
            }else {//淡季
                if(level==1) {//头等舱
                    price*=0.7;
                }else {
                    price*=0.65;
                }
            }
            System.out.println("折后机票价格为:"+price);
    View Code

    do-while

    1)使用do-while循环编写

      小明第一个月工资4000

      以后每个月比上个月多200

      计算12个月小明总共能拿到多少工资

            int sum=0;
            int i=1;
            int sal=4000;
            do {
                sum+=sal;
                sal+=200;
                i++;
            }while(i<=12);
            System.out.println(sum);
    View Code

    2)使用do-while循环编写

      小明第一个月工资4000

      以后每个月比上个月多200

      当小明总共拿到的工资超过

      150000时需要多少个月

            int i=1;
            int sum=0;
            int sal=4000;
            do {
                sum+=sal;
                System.out.println("sum:"+sum+",i:"+i+",sal:"+sal);
                sal+=200;
                i++;
            }while(sum<150000);
            
            System.out.println(i-1);
    View Code

    for循环练习

    1)用户在循环中输入5个学生的成绩

      计算他们的平均分

            Scanner scan=new Scanner(System.in);
            int sum=0;
            for(int i=1;i<=5;i++) {
                System.out.println("请输入第"+i+"位学生成绩");
                int score=scan.nextInt();
                sum+=score;
            }
            double avg=1.0*sum/5;
            System.out.println("平均分为:"+avg);
    View Code

    break

    1)编写一个循环      提示:

    循环中用户输入      while(true){

    数字如果用户输入的      ...                  while(true){

    数字是负数          }

      循环结束          

            Scanner scan=new Scanner(System.in);
            //用户输入负数循环退出
            while(true) {
                System.out.println("请输入数字");
                int num=scan.nextInt();
                if(num<0) {
                    //num小于0,退出
                    break;
                }
                
            }
    View Code

    2)编写一个循环

      循环中用户输入密码(int类型)

      如果用户输入的是123456(正确)

      循环结束

      并输出循环了几次

            Scanner scan=new Scanner(System.in);
            int i=1;
            do {
                System.out.println("请输入密码");
                int pwd=scan.nextInt();
                //密码正确循环退出
                if(pwd==123456) {
                    break;
                }
                System.out.println("密码错误,重新输入");
                i++;
            }while(true);
            System.out.println("总共输入了"+i+"次");
    View Code

    循环嵌套

    1)使用循环嵌套实现输出

      九九乘法表

            for(int i=1;i<=9;i++) {
    
                for(int j=1;j<=i;j++) {
                    System.out.print(
                            j+"×"+i+"="+i*j+" ");
                }
                System.out.println();
            }
    View Code
  • 相关阅读:
    根据会员权限显示指定字段教程与源码
    关键字替换排除HTML标签属性字符
    C# 图片处理(压缩、剪裁,转换,优化)
    点击按钮后表单自动提交的问题
    浏览器中添加收藏当前网页
    Javascript基础知识整理
    JS中不同类型的值比较问题
    ACM训练场
    sencha/extjs 动态创建grid表格
    sencha 报错问题汇总
  • 原文地址:https://www.cnblogs.com/hxun/p/11541202.html
Copyright © 2011-2022 走看看