模块四--Scanner/Random/Switch/if/for/while--尚硅谷Java笔记总结

模块四重点:

1.会使用scanner和random

2.会使用switch以及知道case的穿透性

3.会使用if

4.会使用for循环,while循环,嵌套循环

第一章.scanner键盘录入:

1.概述:是java定义好的一个类

2.作用:将数据通过键盘录入得形式放到代码中参与运行

3.位置:java.util

4.scanner的使用

1.导包:

通过导包的方式找到要使用的类->导包的位置:类上

import java.util,Scanner->导入的是哪个包下面的哪个类

2.创建对象:

Scanner 变量名=new Scanner(System.in);

3.调用方法,实现键盘录入

变量名.nextInt()输入整数int型的

变量名.next()输入字符串 String型的

有时候IDEA(等开发工具)会帮我们做很多事情,包括导入包,所以这里我们不用导入Scanner这个类的包:import java.util,Scanner

变量名.next():录入字符串—>遇到空格和回车就结束录入了

变量名.nextLine():录入字符串—>遇到回车才结束录入(遇到空格继续录入)

原因:录入的数据和要求的数据类型不一致

第二章.Random随机数:

学习random和学习Scanner方式方法一样

1.概述:java自带的一个类

2.作用:可以在指定的范围内随机一个整数

3.位置:java.util

4.使用:

a.导包:import java.util.Random

b.创建对象:

Random 变量名=new Random()

c.调用方法,生成随机数:

变量名.nextInt()->有int的取值范围内随机一个整数

Random的使用:

三步骤,导包,创建对象,调用方法:

package xyf1117;
import java.util.Random;

import org.w3c.dom.ls.LSOutput;

public class test1 {
    public static void main(String[] args) {
        //创建对象
        Random rd=new Random();
        int data=rd.nextInt();//nextInt()说明范围是整数范围
        System.out.println("data="+data);

    }
}

在指定范围内随机一个数:
/*
nextInt(int bound)->在0-(bound-1)

 跟最小值和最大值有关
a.nextInt(10)-> 0-9
b.在1-10之间随机一个数:nextInt(10)+1->(0-9)+1 -> 1-10
c.在1-100之间随机一个数:nextInt(100)+1->(0-99)+1 -> 1-100
d.在100-999之间随机一个数:nextInt(900)+100->(0-899)+1 -> 100-999

 */

package xyf1117;
import java.util.Random;

public class test2 {
  
    public static void main(String[] args) {
        //创建对象
        Random rd=new Random();
        //在1-100之间随机:
        int data1=rd.nextInt(100)+1;
        System.out.println("data1="+data1);

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

        //100-999之间随机一个数
        int data2=rd.nextInt(900)+100;
        System.out.println("data2="+data2);
    }
}

第三章.switch(选择语句)流程语句

1.switch的基本使用

1.格式:
switch(变量){
    case 常量值1:
         执行语句1;
         break;
    case 常量值2:
         执行语句2;
         break;
    case 常量值3:
         执行语句3;
         break;
     case 常量值4:
         执行语句4;
         break;
         ...
     default:
         执行语句n;
         break;
}

2.执行流程:

用变量接收的值和下面case后面的常量值匹配,匹配上哪个case就执行哪个case对应的执行语句

如果以上所有case都没有匹配上,就走default对应的执行语句n

3.break关键字:代表的是结束switch语句。如果去掉break,程序就会从用户输入的那个值开始往下执行,直到遇到了break或者switch代码执行完毕了,就停止了,这个叫case的穿透性

4.注意:switch可以匹配什么类型的数据:

byte short int char 枚举类型 String类型(!无浮点型,这个浮点型有精度损失问题)

package xyf1117;
import java.util.Scanner;

public class test3 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//创建一个读取用户输入数据的对象
        System.out.println("请您输入一个整数:");
        int data=sc.nextInt();
        switch(data){
            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;
        }
    }


}
package xyf1117;
import java.util.Scanner;

public class test4 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int month=sc.nextInt();
        switch(month){
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            default:
                System.out.println("什么情况?你家有这个月份");
        }
    }
}

第四章.分支语句

switch和if的区别:

1.switch会直接跳到相匹配的case

2.if从上到下挨个判断 -> 实际开发主要用if做判断,灵活

for循环的使用

while循环:

练习:一张纸的厚度0.1mm,珠穆朗玛峰的高度是8844430mm,这张纸要折多少次才能折成珠穆朗玛峰的高度

package xyf1117;

public class test8 {
    public static void main(String[] args) {
        //thickness表示折纸的厚度,n表示折叠的次数
        double thickness=0.1;
        int n=0;
        while(thickness<=8844430){
            n++;
            thickness*=2;
        }
        System.out.println("要折叠"+n+"次才能折成珠穆朗玛峰的高度");
    }
}
package xyf1117;

public class test8 {
    public static void main(String[] args) {
        //thickness表示折纸的厚度,n表示折叠的次数
        double thickness=0.1;
        int n=0;
        while(thickness<=8844430){
            n++;
            //Math.pow(a,b)表示a的b次方
            double p=Math.pow(2,n);
            thickness=0.1*p;
        }
        System.out.println("要折叠"+n+"次才能折成珠穆朗玛峰的高度");
    }
}

dowhile循环(了解)

3.特点:至少循环一次

循环控制语句:

需要俩关键字:

1.break:

在switch中代表结束switch语句

在循环中代表结束循环


2.continue:

结束当前循环,直接进入下一次循环,直至条件为false停止

死循环:

1.概述:

一直循环

2.什么情况下:

比较条件一直为true

嵌套循环:

1.概述:循环中还有循环(套娃)

2。先执行外层循环,再执行内层循环。内层循环一直执行,直到循环结束,外层循环再进入下一层循环,直到外层循环都结束了,整体结束

猜数字小游戏:

package xyf1117;
import java.util.Scanner;
import java.util.Random;

public class 猜数字小游戏 {
    public static void main(String[] args) {

        //1.创建Scanner和Random对象
        Scanner sc=new Scanner(System.in);
        Random rd=new Random();
        //2.调用Random中的nextInt(100)+1,在1-100之间随机一个数  rdNumber
        int rdNumber=rd.nextInt(100)+1;

        while(true){
            //3.调用Scanner中的nextInt()方法 键盘录入一个要猜的数    scNumber
            System.out.println("请您猜一个数:");
            int scNumber=sc.nextInt();
            //4.如果scNumber大于rdNumber,证明猜大了
            if (scNumber>rdNumber){
                System.out.println("猜大了");
            }else if(scNumber<rdNumber){
                System.out.println("猜小了");
            }else{
                System.out.println("恭喜您,猜对了");
                break;
            }
        }


    }
}

模块四总结:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值