API(Application Programming Interface),应用程序编程接口。java API是一本程序员
字典
,是JDK提供给我们的说明文档。这些类将底层的代码封装了起来,我们不需要关心这些类是如何实现的 ,只需要 学习这些类如何使用即可。
API使用步骤:
1、打开帮助文档
2、点击显示,找到索引,看到输入框。
3、你要找谁?再输入框输入,然后回车。
4、看包。java.lang下的类不需要导包,其他需要。
5、看类的解释和说明。
6、学习构造方法。Scanner类是JDK已经提供好的用来键盘输入的类。
导包
import java.util.Scanner;
可以不导包的两种情况
:
A 如果需要使用的类,和当前类,位于同一个包下。
B 如果需要使用的类,直接位于java.lang包下。
- 创建
类名称 对象名 = new 类名称();
Scanner sc = new Scanner(System.in);
备注:System.in
代表从键盘输入。
- 使用
获取键盘输入的int数字:sc.nextInt()
获取键盘输入的String字符串:sc.next()
匿名对象,就是在
new
创建了之后,左边没有名字的对象。1.使用:
new
完了对象之后直接点儿方法就能调用。
2.特点:匿名对象左边没有名字,只能使用唯一一次。
3.使用建议:
如果确定有一个对象,创建之后只会被使用唯一一次,那么就可以使用匿名对象,省去对象名称。
// 类名称 对象名 = new 类名称();
Student stu = new Student("王宝强", 16);
stu.sayHello();
stu.setName("宝强哥");
stu.sayHello();
System.out.println("==============");
new Student("贾乃亮", 17).sayHello();
// 注意:下面这是又new了另外一个对象,上面的对象已经无法二次使用。
new Student("亮亮", 17).sayHello();
直接new一个匿名对象,可以作为方法的参数。
Student stu = new Student("谢霆锋", 30);
method3(stu);
method3(new Student("陈羽凡", 35)); //这两个可以达到的效果相等
直接new一个匿名对象,也可以作为方法的返回值。
public static Student method3() {
// Student stu = new Student("武大郎", 35);
// return stu;
return new Student("武大郎", 35);
}
- Random类
java.util.Random类
是JDK提供好的一个用来生成随机数字的类。 - 导包
-import java.util.Random;
- 创建
-类名称 对象名 = new 类名称();
-Random r = new Random();
- 使用
获取整个int范围之内的随机数字:int num = r.nextInt();
获取指定int范围之内的随机数字:int num = r.nextInt(范围);
范围
:参数如果是10,那么实际上产生的随机int数字范围是左闭右开区间[0,10)。实际上是0~9,短一个数字。
Random r = new Random();
for (int i = 0; i < 20; i++) {
int num = r.nextInt(10) + 1; // 1~10的数字[1,10]
System.out.println(num);
}
- ArrayList类是JDK提供好的一个类,也可以存放多个数据,属于多种集合当中最常用的一种。
ArrayList从效果上来看,长度可变
;但是数组的长度不可以改变
。
导包
-import java.util.ArrayList;
创建
-ArrayList<E> list = new ArrayList<>();
<>
当中代表泛型
:也就是集合当中存储的全都是什么类型。
注意:必须保证集合当中的数据类型统一,只有满足泛型要求的数据才能进来,不一样的数据类型进不来。
备注:泛型只能是引用类型
,不能是基本类型。使用
public boolean add(E e):
向集合当中添加一个元素数据进去,参数就是要添加的数据,返回值代表添加动作是否成功。
备注:对于ArrayList这种集合
来说,add
添加动作一定是成功的,所以返回值也可以不用。
拓展:
特例:ArrayList对象
打印的时候显示的是内容,而不是地址值。因为ArrayList类继承了最高父类Object,并且覆盖重写了其中的toString方法。
- ArrayList常用的方法有:
public boolean add(E e):向集合当中添加一个元素数据进去,参数就是要添加的数据,
返回值代表添加动作是否成功。
public E get(int index):根据索引值获取一个元素。索引值也是从0开始的。
public E remove(int index):根据索引值删除一个元素,返回被删掉的元素。
public int size():获取集合的长度,也就是其中有多少个元素。
- 注意:泛型<>里面必须是引用类型,不能是基本类型。解决方案:使用包装类。
基本类型 对应的包装类(全都位于java.lang包下)
byte Byte
short Short
int Integer 【特殊】
long Long
float Float
double Double
char Character 【特殊】
boolean Boolean
备注:
创建集合的时候,左边的<>
里面指定了泛型
,右边的<>
里面:
如果是JDK 1.6或者更早版本,必须重复也写上和左边一样的<>
如果是JDK1.7或者更新版本,那么右侧的<>
可以留空,但是<>
本身仍然要写,这叫做Diamonds运算符
。
基本数据类型
作为参数和返回值,传递的就是【数据值】;
引用数据类型
作为参数和返回值,传递的就是【地址值】。
package cn.itcast.day07.demo05;
import java.util.ArrayList;
import java.util.Random;
/*
题目要求:
创建一个集合存储20个范围是1-10的随机数字,然后进行筛选,
将其中所有的偶数放到另一个小集合当中,然后遍历小集合。
分析:
1. 首先创建一个大集合,用来存储20个数字。ArrayList<Integer>
2. 创建一个Random用来产生随机数字
3. 需要20个数字,循环20次:for
4. 范围是1-10,那么nextInt(10) + 1;
5. 将随机数字添加到大集合当中:list.add
6. 再创建一个小集合,用来存储偶数。ArrayList<Integer>
7. 需要对大集合当中20个数字,逐一进行检查,遍历:for
8. 判断是不是偶数if (num % 2 == 0)
9. 如果是偶数,那么就添加到小集合当中。add
10. 遍历小集合
*/
public class Demo04ArrayListFilter {
public static void main(String[] args) {
ArrayList<Integer> bigList = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 20; i++) {
int num = r.nextInt(10) + 1; // 1-10
bigList.add(num);
}
System.out.println("大集合:");
System.out.println(bigList);
ArrayList<Integer> smallList = new ArrayList<>();
for (int i = 0; i < bigList.size(); i++) {
int num = bigList.get(i);
if (num % 2 == 0) {
smallList.add(num);
}
}
System.out.println("==========");
System.out.println("小集合:");
for (int i = 0; i < smallList.size(); i++) {
System.out.println(smallList.get(i));
}
}
}