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

文章目录

Scanner类

一个可以解析基本类型和字符串的简单文本扫描器。

当我们要使用一个java.uitl包中的类的时候我们就需要导包。
想要用什么类就要进行导包

java 复制代码
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);
    }
}


匿名对象:

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

java 复制代码
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类

于生成伪随机数

这里用一个猜数字的小游戏来进行举例:

  • 在程序开始时,设定一个1~100的随机数,利用count来设定猜数的次数,用for循环来进行流程控制。
java 复制代码
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.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。

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

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

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

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

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

代码示例:

java 复制代码
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对象不能存储基本类型,只能存储引用类型的数据。

基本类型 基本类型包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

欢迎java热爱者了解文章,作者将会持续更新中,期待各位友友的关注和收藏。。。

相关推荐
电饭叔20 分钟前
《python程序语言设计》2018版第5章第52题利用turtle绘制sin函数
开发语言·python
weixin_4526006922 分钟前
如何为老化的汽车铅酸电池充电
开发语言·单片机·安全·汽车·电机·电源模块·充电桩
浅念同学1 小时前
算法-常见数据结构设计
java·数据结构·算法
Java资深爱好者1 小时前
如何在std::map中查找元素
开发语言·c++
YCCX_XFF211 小时前
ImportError: DLL load failed while importing _imaging: 操作系统无法运行 %1
开发语言·python
哥廷根数学学派2 小时前
基于Maximin的异常检测方法(MATLAB)
开发语言·人工智能·深度学习·机器学习
杰哥在此3 小时前
Java面试题:讨论持续集成/持续部署的重要性,并描述如何在项目中实施CI/CD流程
java·开发语言·python·面试·编程
Unity打怪升级3 小时前
Laravel: 优雅构建PHP应用的现代框架
开发语言·php·laravel
咖啡煮码4 小时前
深入剖析Tomcat(十五、十六) 关闭钩子,保证Tomcat的正常关闭
java·tomcat
C.C4 小时前
java IO流(1)
java·开发语言