目录
- 01API概述
- 02Scanner类
- 2.1什么是Scanner类?
- 2.2引用数据类型的一般使用步骤
- 2.3Scanner类的使用步骤
- 2.4匿名对象
- 03Random类
- 3.1什么是Random类?
- 3.2Random使用步骤
- 04ArrayList类
- 4.1 什么是ArrayList类?
- 4.2ArrayList类的使用步骤
- 4.3常用方法
- 4.4如何存储基本数据类型
01API概述
- 概述
API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的字典 ,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。 - 在网上下载一个JDK帮助文档即可
02Scanner类
2.1什么是Scanner类?
一个可以解析基本类型和字符串的简单文本扫描器
2.2引用数据类型的一般使用步骤
- 类,数组,接口都属于引用数据类型
- 引用数据类型的一般使用步骤
1.导包(java.lang包下的类不需要导包)
2.创建:类名称 对象名=new 类名称();
3.使用:对象名.成员方法名();
2.3Scanner类的使用步骤
查看类
- java.util.Scanner :该类需要import导入后使用。
java.lang下的类不需要导包,其他需要
查看构造方法
- public Scanner(InputStream source) : 构造一个新的 Scanner ,它生成的值是从指定的输入流扫描的。
查看成员方法
- public int nextInt() :将输入信息的下一个标记扫描为一个 int 值。
- 使用Scanner类,完成接收键盘录入数据的操作,代码如下:
public class Scanner_test {
public static void main(String[] args) {
//创建一个scanner对象
//System.in代表从键盘输入
Scanner scanner=new Scanner(System.in);
//提示语句
System.out.println("请输入一个数字");
//获取键盘输入的一个int类型的数字使用nextInt方法
//此方法返回值为一个int类型,所以定义一个int类型的变量来接收
int num=scanner.nextInt();
//提示语句
System.out.println("请输入一个字符串");
//接受一个字符串
String str=scanner.next();
//打印结果
System.out.println(num);
System.out.println(str);
}
}
- 我们要先创建一个类的对象,才能使用这个类的方法,在创建对象时可以查看API中的这个类的构造函数,是否被重载多次,选择一个我们需要的构造方法来创建对象。
- 小练习:从键盘输入三个数,然后找出最大的数,打印输出
public class Scanner_test {
public static void main(String[] args) {
//创建一个scanner对象
//System.in代表从键盘输入
Scanner scanner=new Scanner(System.in);
//提示语句
System.out.println("请输入一个数字:");
int num1=scanner.nextInt();
System.out.println("请输入二个数字:");
int num2=scanner.nextInt();
System.out.println("请输入三个数字:");
int num3=scanner.nextInt();
//判断三个数中的最大值,先让两个比较,找出大的
int temp=(num1>num2)?num1:num2;
//将找出的较大的值在于第三个值比较
int max=(temp>num3)?temp:num3;
//打印结果
System.out.println(max);
}
}
2.4匿名对象
- 概念
创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。 - 匿名对象 :没有变量名的对象。
- 格式:
new 类名(参数列表);
- 应用场景
- 创建匿名对象直接调用方法,没有变量名
new Scanner(System.in).nextInt();
- 一旦调用两次方法,就是创建了两个对象,造成浪费,请看如下代码。一个匿名对象只能使用一次。
new Scanner(System.in).nextInt();
new Scanner(System.in).nextInt();
- 匿名对象可以作为方法的参数和返回值
public class Test {
public static void main(String[] args) {
//一般用法
Scanner scanner=new Scanner(System.in);
int num1=scanner.nextInt();
input(num1);
//使用匿名对象
//匿名对象只能在创建的时候使用一次
input(new Scanner(System.in).nextInt());
}
public static void input(int num1){
System.out.println(num1);
}
}
03Random类
3.1什么是Random类?
此类的实例用于生成伪随机数
Random r = new Random();
int i = r.nextInt();
3.2Random使用步骤
查看类
java.util.Random :该类需要 import导入使后使用。
查看构造方法
public Random() :创建一个新的随机数生成器。
查看成员方法
public int nextInt(int n) :返回一个伪随机数,范围在 0 (包括)和 指定值 n (不包括)之间的int 值。
- 使用Random类,完成生成3个10以内的随机整数的操作,代码如下:
public class random {
public static void main(String[] args) {
//创建一个对象
Random random=new Random();
//每调用一次nextInt方法生成一个随机数(该数在0~10之间包括两端)
for(int i=0;i<3;i++) {
int num = random.nextInt(10);
System.out.println(num);
}
}
}
- 猜数字小游戏
/*
猜数字小游戏:
游戏开始时,会随机生成一个1-100之间的整数 number ,
玩家猜测一个数字 guessNumber ,会与 number 作比较,
系统提示大了或者小了,直到玩家猜中,游戏结束
*/
public class random {
public static void main(String[] args) {
//创建一个对象
Random random = new Random();
//生成一个随机数
int number = random.nextInt(100);
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要猜的数:0~100之间");
while (true) {
int guessnumber = scanner.nextInt();
if(number<guessnumber){
System.out.println("大了:请重新输入");
}else if(number>guessnumber){
System.out.println("小了:请重新输入");
}else{
System.out.println("GOOD猜中了:"+number);
break;
}
}
}
}
04ArrayList类
4.1 什么是ArrayList类?
- 概述
java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。 ArrayList 中可不断添加元素,其大小也自动增长。 - 对比数组
之前我们存储数据,选择的都是数组容器,但是数组是一个长度固定的容器,一旦定义无法改变,使用起来不是那么的方便。
数组定义大了浪费空间,定义小了不够用,难搞哦
4.2ArrayList类的使用步骤
查看类java.util.ArrayList <E>
:该类需要 import导入使后使用。<E>
,表示一种指定的数据类型,叫做泛型。 E ,取自Element(元素)的首字母。在出现 E 的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。
- 泛型:暂时理解为模板类型,存什么数据就填写什么类
代码如下:
//存储字符串的ArrayList
ArrayList<String>
查看构造方法
public ArrayList() :构造一个内容为空的集合
基本格式:
//创建一个存储字符串的对象
ArrayList<String> list = new ArrayList<String>();
在JDK 7后,右侧泛型的尖括号之内可以留空,但是<>仍然要写。简化格式:
ArrayList<String> list = new ArrayList<>();
查看成员方法
public boolean add(E e) : 将指定的元素添加到此集合的尾部。
参数 E e ,在构造ArrayList对象时, 指定了什么数据类型,那么 add(E e) 方法中,只能添加什么数据类型的对象。
- 使用ArrayList类,存储三个字符串元素,代码如下:
public class arrayList {
public static void main(String[] args) {
//创建一个存储String类型的集合
ArrayList<String> list=new ArrayList<>();
list.add("AISMALL_01");
list.add("AISMALL_02");
list.add("AISMALL_03");
for (String str:list) {
System.out.println(str);
}
}
}
4.3常用方法
对于元素的操作,基本体现在——增、删、查。常用的方法有:
- public boolean add(E e) :将指定的元素添加到此集合的尾部。
- public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
- public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
- public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界
更多方法参考API文档
4.4如何存储基本数据类型
ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 <int>
不能写,但是存储基本数据类型对应的包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:
基本数据类型 | 基本数据类型的包装类 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
- 实例代码
public class arrayList {
public static void main(String[] args) {
//创建一个存储Integer类型的集合
ArrayList<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
System.out.println(list);
for (Integer integer:list) {
System.out.println(integer);
}
}
}