1、final关键字
final: 不可改变。 可以用于修饰类、 方法和变量。
类: 被修饰的类, 不能被继承。
方法: 被修饰的方法, 不能被重写。
变量: 被修饰的变量, 不能被重新赋值。
基本类型
基本类型的局部变量, 被final修饰后, 只能赋值一次, 不能再更改。
引用类型
引用类型的局部变量, 被final修饰后, 只能指向一个对象, 地址不能再更改。 但是不影响对象内部的成员变量值的修改:
2.Random()函数生成随机数介绍
在Java的API帮助文档中,总结了对这个Random()函数功能的描述:
1.java.util.Random类中实现的随机算法是伪随机,也就是有规则的随机,所谓有规则的就是在给定种(seed)的区间内随机生成数字;
2.相同种子数的Random对象,相同次数生成的随机数字是完全相同的(这个后边的代码示例有解释);
3.Random类中各方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的几率均等;
Random()构造方法:
1. Random(): 创建一个新的随机数生成器。(根据你的系统时间生成一个对应的种子数)
2. Random(longseed): 使用单个 long种子创建一个新的随机数生成器。
3.Scanner类
Scanner类用于获取键盘输入(是一个基于正则表达式的文本扫描器),它可以从文件、字符串、输入流中解析出基本类型值和字符串值。Scanner类提供了多个构造器,不同的构造器可以接收文件、字符串和输入流作为数据源,用于从文件、字符串和输入流中解析数据。
Scanner类主要提供了两个方法来扫描输入:
1.hasNextXx():是否还有下一个输入项,其中Xxx可以是Int、Long等代表基本数据类型的字符串。如果只是判断是否包含下一个字符串,则直接使用hasNext()。
2.nextXxx():获取下一个输入项。Xxx的含义同上。
默认情况下,Scanner使用空白(包括空格、Tab空白和回车)作为多个输入项的分隔符。
4.什么是ArrayList类
java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储 的元素。 ArrayList 中可不断添加元素,其大小也自动增长。
ArrayList使用步骤
java.util.ArrayList :该类需要 import导入使后使用。 ,表示一种指定的数据类型,叫做泛型。 E ,取自Element(元素)的首字母。在出现 E 的地方,我们使 用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。代码如下:
ArrayList<String>,ArrayList<Student>
查看构造方法
public ArrayList() :构造一个内容为空的集合。
基本格式:
ArrayList<String> list = new ArrayList<String>();
查看成员方法
public boolean add(E e) : 将指定的元素添加到此集合的尾部。 参数 E e ,在构造ArrayList对象时, 指定了什么数据类型,那么 add(E e) 方法中,只能添加什么数据 类型的对象。
6.ArrayList练习
public static void main(String[] args) {
//使用Arrays.asList创建一个固定数组
List<String> list = Arrays.asList("叶枫", "饶政", "郭汶广", "王志刚", "时力强",
"贠耀强", "齐东豪", "袁文涛", "孙啸聪", "李文彬", "孙赛欧", "曾毅", "付临",
"王文龙", "朱海尧", "史艳红", "赵冉冉", "詹梦", "苏真娇", "张涛", "王浩",
"刘发光", "王愉茜", "牛怡衡", "臧照生", "梁晓声", "孔顺达", "田野", "宫帅龙",
"高亭", "张卓", "陈盼盼", "杨延欣", "李蒙惠", "瞿新成", "王婧源", "刘建豪",
"彭习峰", "胡凯", "张武超", "李炳杰", "刘传", "焦泽国");
//通过构建方法把固定数组的内容添加到新的数组
ArrayList<String> names = new ArrayList<>(list);
//获取键盘输入
Scanner sz = new Scanner(System.in);
//用于创建随机数
Random xh = new Random();
//采用while循环
while (true) {
System.out.println("开始点名请输入S/s");
String impt = sz.next();
if (impt.equals("S") || impt.equals("s")) {
//随机数开启
int zs = xh.nextInt(names.size());
//获取集合中的内容
System.out.println(zs);
//输出
names.remove(zs);
//通过.remove()方法移除掉已出现的内容
} else {
System.out.println("点名结束");
break;
}
}