java从入门到精通-day03、选择语句&循环语句&随机数

day03

一.选择语句


1.选择语句:switch

   格式:

      switch(表达式){

         case 常量值1:

         执行语句1;

         break;

         case 常量值2:

         执行语句2;

         break;

         case 常量值3:

         执行语句3;

         break;

         case 常量值4:

         执行语句4;

         break;

         .....

         default:

         执行语句n;

         break;

      }

   2.执行流程:

         1.拿着我们所填的表达式去和下面每一个case后面的常量值去做匹配,匹配上谁,就走

           对应的执行语句

         2.如果以上所有的case都没有匹配上,直接走default对应的执行语句

   3.注意:case后面的常量值的类型要和我们所填写的表达式的类型一致

       break是结束switch语句结构的

代码演示:

   public class Demo01Switch {

   public static void main(String[] args) {

       int i = 5;

       switch (i) {

           case 1:

               System.out.println("涛哥最帅!");

               break;

           case 2:

               System.out.println("波多小姐最美");

               break;

           case 3:

               System.out.println("大桥也很美!");

               break;

           case 4:

               System.out.println("柳岩也很美!");

               break;

           default:

               System.out.println("他们都挺喜欢涛哥!");

               break;

       }

   }

   ========================================================

练习:

   public static void main(String[] args) {

   //定义月份变量,判断季节

   int month = 6;

   //switch语句实现选择

   switch(month) {

       case 1:

           System.out.println("冬季");

           break;

       case 2:

           System.out.println("冬季");

           break;

       case 3:

           System.out.println("春季");

           break;

       case 4:

           System.out.println("春季");

           break;

       case 5:

           System.out.println("春季");

           break;

       case 6:

           System.out.println("夏季");

           break;

       case 7:

           System.out.println("夏季");

           break;

       case 8:

           System.out.println("夏季");

           break;

       case 9:

           System.out.println("秋季");

           break;

       case 10:

           System.out.println("秋季");

           break;

       case 11:

           System.out.println("秋季");

           break;

       case 12:

           System.out.println("冬季");

           break;

       default:

           System.out.println("你输入的月份数字有误");

           break;

   }

}

}

4.没有break会出现case的穿透性

   如果没有break就一直往下穿透执行,直到遇到break或者程序结束了为止

  代码演示:

   public class Demo03Case {

   public static void main(String[] args) {

       int i = 3;

       switch (i) {

           case 1:

               System.out.println("涛哥最帅!");

           case 2:

               System.out.println("波多小姐最美");

           case 3:

               System.out.println("大桥也很美!");

           case 4:

               System.out.println("柳岩也很美!");

               break;

           default:

               System.out.println("他们都挺喜欢涛哥!");

       }

   }

}

二.for循环

循环之for循环

     1.格式:

        for(初始化变量;比较;变量变值){

           循环体

        }

     2.执行流程:

         1.先初始化变量

         2.拿着这个变量去比较

         3.如果比较成功,返回true,那么直接走循环体

         4.变量的值变化(步进表达式)

         5.接着比较,比较返回true,接着走循环体

         6.接着步进表达式

         7.接着比较,直到比较返回false,那么整个循环结束了


     3.代码演示:

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

           System.out.println("我爱Java");

        }

        或者:

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

           System.out.println("我爱Java");

        }


for循环练习

练习1:求出1-100之间的偶数和

  /*

  1+2+3+4+5+6+7..+100

  需求:1-100之间的偶数和

  步骤:

   1.定义一个变量去接收两个数的和

   2.利用for循环去将1-100之间的数循环出来

   3.拿着循环出来的每一个数去做判断,是否为偶数(数%2==0),如果是余数是0,证明是偶数,相加

     将加完的结果重新赋值给那个变量

   4.输出这个接收和的变量

*/

public class Demo03_ForTest {

   public static void main(String[] args) {

       int sum = 0;

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

           if (i%2==0){

               sum = sum+i;

           }

       }

       System.out.println("和为:"+sum);

   }

}

练习2:求出所有的水仙花数

/*

  求出所有的水仙花数

    水仙花数:3位数

            个位的立方+十位的立方+百位的立方 = 原数

            153:27+125+1=153

            3 = 153%10;

            5 = 153/10%10;

            1 = 153/100

  步骤:

     1.利用for循环去将所有的3位数循环出来

     2.循环的过程中,拿出每一个被循环出来的数去判断

     3.求出循环出来的数的个位  十位   百位

     4.如果个位的立方+十位的立方+百位的立方 == 原数,直接输出

*/

public class Demo04_ForTest {

   public static void main(String[] args) {

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

           int ge = i%10;

           int shi = i/10%10;

           int bai = i/100;

           if (ge*ge*ge+shi*shi*shi+bai*bai*bai==i){

               System.out.println(i);

           }

       }

   }

}

练习3:

  /*

  统计水仙花个数:

     步骤:

        1.定义变量去统计水仙花的个数

        2.利用for循环去将所有的3位数循环出来

        3.循环的过程中,拿出每一个被循环出来的数去判断

        4.求出循环出来的数的个位  十位   百位

        5.如果个位的立方+十位的立方+百位的立方 == 原数,统计个数的变量加1

*/

public class Demo05_ForTest {

   public static void main(String[] args) {

       int count = 0;

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

           int ge = i%10;

           int shi = i/10%10;

           int bai = i/100;

           if (ge*ge*ge+shi*shi*shi+bai*bai*bai==i){

               count++;

           }

       }

       System.out.println("水仙花的个数为:"+count);

   }

}

三.while循环

1.格式:

      初始化变量;

      while(比较){

        循环体;

        步进表达式;

      }

2.执行流程:

        1.初始化变量

        2.比较

        3.如果比较返回true,进入循环体

        4.步进表达式

        5.接着比较,直到比较返回false,while循环结束了!

3.代码演示:

   public class Demo01_While {

   public static void main(String[] args) {

       /*

        循环10次,性感涛哥,在线发牌

        */

       int i = 0;

       while(i<10){

           System.out.println("性感涛哥,在线发牌"+i);

           i++;

       }

   }

}

while循环练习

练习1:

  /*

  需求:求出1-100之前的和利用while循环

*/

public class Demo02_WhileTest {

   public static void main(String[] args) {

       int sum = 0;

       int i = 1;

       while(i<=100){

               sum+=i;//sum = sum+i;

           i++;

       }

       System.out.println(sum);

   }

}

练习2:

/*

  纸的厚度是0.1毫米  珠穆朗玛峰的高度是8844430毫米

  问:折多少次能折出一个珠穆朗玛峰来

  步骤:

      1.定义变量去统计折的次数

      2.定义变量表示纸的厚度

      3.定义变量表示山峰的高度

      4.循环比较,比较纸的厚度是否小于等于山峰的高度,如果符合条件,就折纸  *2

      5.统计次数的变量++

*/

public class Demo03_WhileTest {

    public static void main(String[] args) {

        int count = 0;

        double paper = 0.1;

        double zf = 8844430;

        while(paper<=zf){

          paper*=2;

          count++;

            System.out.println(paper);

        }

        System.out.println(count);


四.死循环

/*

  死循环:一直循环

  条件:一直为true

*/

public class DieFor {

    public static void main(String[] args) {

        /*for (int i = 0;i<10;){

            System.out.println("岳不群自宫了~");

        }*/

        while(true){

            System.out.println("孙悟空是最纯洁的猴");

        }

    }

}

五.嵌套for循环

1.概述:for中有for

2.执行流程:

    先执行外层for循环,再执行内层for循环,内存for循环就一直循环,直到内层for循环结束,外层for循环进行下一次    循环.... 直到外层for循环结束了,那么整个所有的循环都结束了 


3.代码演示:

    public class ForAndFor {

    public static void main(String[] args) {

        for (int fen = 0; fen < 60; fen++) {

            for (int miao = 0;miao<60;miao++){

                System.out.println(fen+"分"+miao+"秒");

            }

        }

    }

}

六.Random随机数

    1.概述:是一个Java自带的类

    2.数据类型:引用数据类型

    3.作用:随机一个数

    4.使用:

          4.1 导包:java.util.Random

          4.2 创建对象:Random 变量名 = new Random();

          4.3 调用方法:

                nextInt()-->是在int型范围内随机

                nextInt(int fanwei):在指定范围内随机一个数

                    0-(fanwei-1)

                需求:从100-999之间随机一个数

                  nextInt(900)+100    (0-899)+100-->整体都加100,所有的数往后挪100位

                      从1-100之间随机: nextInt(100)+1



      5.代码演示

    public class Demo02Random {

      public static void main(String[] args) {

        Random rd = new Random();

        int num = rd.nextInt();

        System.out.println(num);

        System.out.println("------------------------------");

        int result = rd.nextInt(10);

        System.out.println(result);

        System.out.println("------------------------------");

        int result1 = rd.nextInt(900)+100;

        System.out.println(result1); 

    }

}

猜数字小游戏

/*

  猜数字小游戏:随机一个1-100之间的数

      步骤

        1.创建Scanner对象,调用nextInt()方法输入一个整数

        2.创建Random对象,调用nextInt(100)+1

        3.如果我们录入的数和随机的数相等:输出:恭喜你,中奖了

          如果我们录入的数比随机的数大:猜大了!

          如果我们录入的数比随机的数小:猜小了!

*/

public class Demo03RandomTest {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        Random rd = new Random();

        int rdNumber = rd.nextInt(100)+1;

        System.out.println(rdNumber);

        while(true){

            System.out.println("请你输入一个(1-100)之间的数:");

            int scNumber = sc.nextInt();

            //判断

            if (scNumber>rdNumber){

                System.out.println("对不起,您猜大了!");

            }else if(scNumber<rdNumber){

                System.out.println("对不起,您猜小了!");

            }else{

                System.out.println("恭喜你,中奖了");

                break;

            }

        }

    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容