Random类
什么是Random类
- 此类的实例用于生成伪随机数。
- 例如,以下代码使用户能够得到一个随机数:
Random r = new Random();
int i = r.nextInt();
Random使用步骤
- 注意!备注:创建一个 Random 对象,每次调用 nextInt() 方法,都会生成一个随机数。
小游戏
- 游戏开始时,会随机生成一个1-100之间的整数 number 。玩家猜测一个数字guessNumber ,会与 number 作比较,系统提示大了或者小了,直到玩家猜中,游戏结束。
- 小贴士:先运行程序代码,理解此题需求,经过分析后,再编写代码
package com.zhou;
//生成随机数
import java.util.Random;
import java.util.Scanner;
public class day0818 {
public static void main(String[] args) {
//createRandom();
guessNum();
}
//生成0~10随机十个数字 左闭右开
public static void createRandom() {
Random rd = new Random();
for (int i = 0;i<10;i++) {
int num = rd.nextInt(10);//[0,10)
System.out.println(num);
}
}
//生成一个1~100的数字,猜测数字的小游戏 左闭右开
public static void guessNum() {
Random rd = new Random();
Scanner sc = new Scanner(System.in);
int number = rd.nextInt(100)+1;//[1,100)
int count = 1;
while (true) {
System.out.println("请输入你要猜的数字");
System.out.println("===================");
int guessNum = sc.nextInt();
if (guessNum>number) {
System.out.println("你猜的数字太大了");
System.out.println("===================");
}else if (guessNum<number) {
System.out.println("你猜的数字太小了");
System.out.println("===================");
}else {
System.out.println("恭喜你,只用了"+count+"次就答对了!!!真棒!");
break;
}
count++;
}
}
}
ArrayList类
- 到目前为止,我们想存储对象数据,选择的容器,只有对象数组。而数组的长度是固定的,无法适应数据变化的需 求。为了解决这个问题,Java提供了另一个容器 java.util.ArrayList 集合类,让我们可以更便捷的存储和操作对象数据.
什么是ArrayList类
-
java.util.ArrayList 是大小可变的数组的实现,储存在内的数据称为元素。此类提供一些方法来操作内部储存的元素。ArrayList中可不断添加元素,其大小也自动增加。
-
基本格式
ArrayList<String> list = new ArrayList<String>(); Jdk 7后,右侧泛型的尖括号之内可以留空,但<>仍要写。 ``ArrayList<String> list = new ArrayList<>();
-
成员方法
- public boolean add(E e) 往容器中添加指定类型的数据---将指定元素添加到此集合的尾部。
- public E remove(int index) 删除此集合中指定位置上的元素。
- public E get(int index) 返回此集合中指定位置上的元素。
- public int size():返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
- public set(int index,E element)修改指定位置索引的值
- 小贴士:E:指定类型
package com.zhou.day0819;
//ArrayList
import java.util.ArrayList;
public class Demo01 {
public static void main(String[] args) {
//使用ArrayList API
//ArrayList 成员方法 1.add() 往容器中添加指定类型的数据
ArrayList<Object> objects = new ArrayList<>();//<>表明当前类型可以存放什么类型的数据,如果不指定则什么都能放
objects.add(10);//int
objects.add("aaa");//String
objects.add(1.1);//double
System.out.println("=========");
//2.public E remove(int index) 从容器中删除数据,根据数组的索引编号
Object re = objects.remove(1);
System.out.println(re);//aaa
//3. public int size():返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
int s = objects.size();
System.out.println(s);
for (int i = 0;i<objects.size();i++) {
System.out.println(objects.get(i));
}
System.out.println("=========================");
//4.public E get(int index) 返回此集合中指定位置上的元素。
Object o = objects.get(0);
System.out.println(o);
//5.public set(int index,E element)修改指定位置索引的值
Object se = objects.set(0, "小周真帅!!!");
System.out.println(se);
}
}
如何储存基本数据类型
- ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 **
不能写,但是存储基本数据类型对应的包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:
基本类型 | 基本类型包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Lonf |
float | Float |
double | Double |
char | Character |
boolean | Boolean |