• 【day7】Scanner类、Random类、ArrayList类


    01_API概述和使用步骤

    在这里插入图片描述
    在这里插入图片描述

    02_Scanner概述及其API文档的使用

    在这里插入图片描述
    在这里插入图片描述
    java.lang包下的内容不需要导包,其他的包都需要import语句
    在这里插入图片描述

    03_Scanner的使用步骤

    在这里插入图片描述
    next():是字符串
    nextInt():是将输入的字符串数字转换成了对应的int类型

    在这里插入图片描述
    在这里插入图片描述

    package day_07_Scanner;
    
    import java.util.Scanner;   //1.导包
    
    /*
    Scanner类的功能:可以实现键盘输入数据,到程序当中
    引用类型的一般使用步骤:
    
    1.导包
    import 包路径.类名称;
    如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
    只有java.lang包下的内容不需要导包,其他的包都需要import语句
    
    2.创建
    类名称 对象名 = new 类名称();
    
    3.使用
    对象名.成员方法名()
    
    获取键盘输入的一个int数字,int num = sc.nextInt();
    获取键盘输入的一个字符串:String str=sc.next();
    
    */
    public class DemoScanner {
        public static void main(String[] args) {
            //2.创建
            // 备注:System.in代表从键盘进行输入
            Scanner sc=new Scanner(System.in);
    
            // 3.获取键盘输入的int数字
            int num=sc.nextInt();
            System.out.println("输入的int数字是:"+num);
    
            //4.获取键盘输入的字符串
            String str=sc.next();
            System.out.println("输入的字符串是:"+str);
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    04_Scanner练习一_键盘输入两个数字求和

    在这里插入图片描述
    在这里插入图片描述

    05_Scanner练习二_键盘输入三个数字求最大值

    在这里插入图片描述
    三个不能同时比较,我们两两比较
    在这里插入图片描述
    下面其实可以使用数组来实现(自己写的)

    package day_07_Scanner;
    
    import java.util.Scanner;
    
    public class DemoScanner01 {
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            int a[]=new int[3];
            System.out.println("向数组中输入数字:");
            for (int i = 0; i < a.length; i++) {
                a[i]=sc.nextInt();
                System.out.println("第"+(i+1)+"次输入的数据是:"+a[i]);
            }
            System.out.println("数组中的数字为:");
            for (int i = 0; i < a.length; i++) {
                System.out.println(a[i]);
            }
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    06_匿名对象的说明

    一般情况下,当我们创建一个对象总要给它取一个名字,那么在有些情况下,这个名字可以省略掉。那么没有名字的对象就叫做匿名对象。
    匿名对象要用只能用一次,反过来说有些对象只用一次就可以用匿名对象。
    在这里插入图片描述
    在这里插入图片描述
    代码当中写了3个new,则有3个对象
    在这里插入图片描述
    注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。
    使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
    在这里插入图片描述

    07_匿名对象作为方法的参数和返回值

    此前我们说过任何数据类型都能作为方法的参数和返回值。匿名对象也可以作为参数和返回值。

    在这里插入图片描述
    只想输入一次num,可以使用匿名类,匿名类只能用一次。

    在这里插入图片描述
    在这里插入图片描述

    08_Random概述和基本使用

    Random用来产生随机数字(产生的数字没有规律)

    Random在生成随机数字的时候总是要短一个,因为它是从0开始,写上一个10代表的是0到9
    在这里插入图片描述

    09_Random生成指定范围的随机数

    在这里插入图片描述
    在这里插入图片描述

    10_Random练习一_生成1-n之间的随机数

    在这里插入图片描述

    11_Random练习二_猜数字小游戏

    在这里插入图片描述
    在这里插入图片描述
    如果只能猜10次,这里可以使用for循环语句

    12_对象数组

    在这里插入图片描述
    存储Person类型的对象:
    在这里插入图片描述

    package day_07_对象数组;
    /*
    题目:
    定义一个数组,用来存储3个Person对象。
    
    数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变。
     */
    public class Demo01Array {
        public static void main(String[] args) {
            //首先创建一个长度为3的数组,里面用来存放Person类型的对象
            //之前的数组定义:int[] array=new int[3];
            Person[] array=new Person[3];
            //System.out.println(array[0]);//null
    
            Person one=new Person("迪丽热巴",18);
            Person two=new Person("古力娜扎",28);
            Person three =new Person("赵丽颖",38);
    
            //名字 one、two、three保存的是地址值。如何把这3个人放到数组中?
            // 将one当中的地址值赋值到数组的0号元素位置
            array[0]=one;
            array[1]=two;
            array[2]=three;
    
            System.out.println(array[0]);//地址值
            System.out.println(array[1]);//地址值
            System.out.println(array[2]);//地址值
    
            /*
            Person person=array[1];
            System.out.println(person.getName());
            */
            System.out.println(array[1].getName());//古力娜扎
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    13_ArrayList集合概述和基本使用

    数组的长度不可以发生改变。但是ArrayList集合的长度是可以随意变化的。
    注意:泛型只能是引用类型,不能是基本类型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    package day_07_ArrayList;
    
    import java.util.ArrayList;
    
    public class Demo01Array {
        /*
        数组的长度不可以发生改变。但是ArrayList集合的长度是可以随意变化的。
    
        对于Arraylist来说,有一个尖括号代表泛型。
        泛型:也就是装在集合当中的所有元素,全都是统一的什么类型
        注意:泛型只能是引用类型,不能是基本类型
    
        注意事项:
        对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
        如果内容是空,得到的是空的中括号:[]
    
        */
        public static void main(String[] args) {
            // 创建了一个ArrayList集合,集合的名称是list,里面装的全都是String字符串类型的数据
            // 备注:从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的
            ArrayList<String> list=new ArrayList<>();
            //尖括号当中写的是String类型,你就要写
            System.out.println(list);   // [] 里面没有东西,所以只是个中括号,没有内容在中括号里面
    
            //向集合当中添加一些数据,需要用到add方法。
            list.add("赵丽颖");
            System.out.println(list);//[赵丽颖]
    
            list.add("迪丽热巴");
            list.add("古力娜扎");
            list.add("马尔扎哈");
            System.out.println(list); //[赵丽颖, 迪丽热巴, 古力娜扎, 马尔扎哈]
    
            // list.add(100); //错误写法!因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素就必须都是字符串才行。
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    14_ArrayList集合的常用方法和遍历

    在这里插入图片描述
    对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。add()返回值代表添加是否成功。但对于其他集合来说,add添加动作不一定成功。
    对于ArrayList集合
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这是之前数组遍历的for循环方式,但是现在是ArrayList集合,它的for循环遍历方式其实也差不多
    在这里插入图片描述
    在这里插入图片描述

    15_ArrayList集合存储基本数据类型

    注意事项:泛型必须是引用类型,不能是基本类型。其实集合里面保存的都是地址值,但是基本类型的数据没有地址值,所以你要是想往里面存储一个int类型是不允许的
    如何解决不能向集合当中存储int类型的数据?
    答:如果希望向集合ArrayList当中存储基本类型的数据,必须使用基本类型对应的“包装类”
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Integer就把它当做int来用就行,只不过泛型的写法变了一下,变成了包装类。这些主要针对基本数据类型的ArrayList

    16_ArrayList练习一_存储随机数字

    在这里插入图片描述
    在这里插入图片描述

    17_ArrayList练习二_存储自定义对象

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    放进去的是一个学生,拿出来的还应该是一个学生。
    在这里插入图片描述

    18_ArrayList练习三_按指定格式遍历集合字符串

    在这里插入图片描述
    集合也是可以作为方法的参数的,当集合作为方法的参数的时候,传递进来的这个参数就是地址值,根据地址值就可以.get()拿元素,.size()拿长度。
    在这里插入图片描述

    19_ArrayList练习四_筛选集合中的随机数

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    可以让集合当做方法的参数,还能让集合当做方法的返回值。如果是参数,传递进去的就是地址值;如果是返回值,返还回来的也是地址值。

  • 相关阅读:
    hadoop大数据原理与应用-----初识hadoop习题集
    AI类APP上线需要注意的问题
    30天黑客(网络安全)自学
    TensorFlow开发者认证通过心得
    相同的 key, Nacos 配置一定会覆盖 application.yaml 吗?
    面了个腾讯拿28k跳槽出来的,真正见识到了跳槽天花板
    SAP 灵活工作流邮件通知
    Flink / Scala - 使用 Jedis、JedisPool 作为 Source 读取数据
    踩坑笔记 NFS坑-2个pod读写文件延迟问题
    SQL优化记录
  • 原文地址:https://blog.csdn.net/qq_44636569/article/details/126154407