Java基础的重点知识-05-Scanner、Random、ArrayList类

Scanner类(java.util)

一个可以解析基本类型和字符串的简单文本扫描器。
当我们要使用一个java.uitl包中的类的时候我们就需要导包。
想要用什么类就要进行导包

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个参数:");
        int a = scanner.nextInt();
        System.out.println(a);
    }
}

在这里插入图片描述
匿名对象:
我们通过匿名创建对象的时候会不断的在推内存中开辟空间,这时会造成资源浪费。并且在下述代码中,在进行成员变量赋值的时候是赋值不上的,因为每次进行匿名对象的创建时,都是对一个新对象进行赋值,在取值过程也是新对象获取值,当然会取不到值。

package demo01;

public class Student {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student(String name) {
        this.name = name;
    }

    public Student(int age) {
        this.age = age;
    }

    public Student() {
    }

    public static void main(String[] args) {
        new Student().setName("小明");
        new Student().setAge(18);
        System.out.println(new Student().getName());
        System.out.println(new Student().getAge());
    }
}

在这里插入图片描述

Random类(java.util)

于生成伪随机数
这里用一个猜数字的小游戏来进行举例:

  • 在程序开始时,设定一个1~100的随机数,利用count来设定猜数的次数,用for循环来进行流程控制。
public class Main {

    public static void main(String[] args) {
        // 系统产生一个随机数1‐100之间的。
        Random r = new Random();
        int number = r.nextInt(100) + 1;
        int count = 7;
        for (int i = 1; i <= count; i++) {
            // 键盘录入我们要猜的数据
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你要猜的数字(1‐100):");
            int guessNumber = sc.nextInt();
            // 比较这两个数据(用if语句)
            if (guessNumber > number) {
                System.out.println("你猜的数据" + guessNumber + "大了");
            } else if (guessNumber < number) {
                System.out.println("你猜的数据" + guessNumber + "小了");
            } else {
                System.out.println("恭喜你,猜中了");
                break;
            }
            System.out.println("你还有" + count + "次机会");
        }
    }
}

在这里插入图片描述

ArrayList类(java.util)

java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。
在这里插入图片描述

  • <E> ,表示一种指定的数据类型,叫做泛型。 E ,取自Element(元素)的首字母。在出现 E 的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。

  • public boolean add(E e) :将指定的元素添加到此集合的尾部。

  • public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。

  • public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。

  • public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。

代码示例:

import java.util.ArrayList;

public class Student {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student(String name) {
        this.name = name;
    }

    public Student(int age) {
        this.age = age;
    }

    public Student() {
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public static void main(String[] args) {
        ArrayList<Student> studentList = new ArrayList<>();
        Student student1 = new Student("小明", 18);
        Student student2 = new Student("小红", 19);
        Student student3 = new Student("小黄", 20);
        Student student4 = new Student("小张", 21);
        studentList.add(student1);
        studentList.add(student2);
        studentList.add(student3);
        studentList.add(student4);
        for (int i = 0; i < studentList.size(); i++) {
            System.out.println(studentList.get(i));
        }
        studentList.remove(student2);
        for (int i = 0; i < studentList.size(); i++) {
            System.out.println(studentList.get(i));
        }
        System.out.println(studentList);
    }
}


这里我们通过ArrayList中的add()方法将创建的学生对象放入ArrayList中,但是如果没有重写toString()方法的话,输出的就是学生对象的内存地址,重写toString()方法之后就会显示结果。这里我们所使用的是Student类作为泛型,通过size()方法,我们获取了studentList的集合大小,通过remove()方法我们删除了student2这个元素,再对集合进行了遍历。

在这里插入图片描述

重点:
ArrayList对象不能存储基本类型,只能存储引用类型的数据。

基本类型基本类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

欢迎java热爱者了解文章,作者将会持续更新中,期待各位友友的关注和收藏,另外对编程感兴趣的友友们可以加以下群共同学习。群号:127871664

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿胡爱编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值