文章目录
- Scanner类
- Random类
- ArrayList类
Scanner类
一个可以解析基本类型和字符串的简单文本扫描器。
当我们要使用一个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类
于生成伪随机数
这里用一个猜数字的小游戏来进行举例:
- 在程序开始时,设定一个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.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对象不能存储基本类型,只能存储引用类型的数据。
基本类型 | 基本类型包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
欢迎java热爱者了解文章,作者将会持续更新中,期待各位友友的关注和收藏。。。