常用API
一、什么是API
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。——百度百科
实际上API就是别人写好的代码,这些代码能实现一定的功能,你如果想用别人的代码去实现你想要实现的功能,不需要自己在写代码,只需要去调用就可以了,这个API可以是某个函数,类,对象。
二、Scanner类
1.什么是Scanner类
java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。
代码:
public class Scanner1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int input = in.nextInt();
}
}
备注:System.in 系统输入指的是通过键盘录入数据。
2.API的使用步骤
导包
使用API前,我们都需要去导包,一般我们不需要自己手动导包,因为你如果使用开发工具,比如IDEA或者eclipse,开发工具会自动帮我们导包,但是这里我们还是说一下导包的步骤。
1.使用import来进行导包的操作,格式是:
import 包名.类名;
举例:
java.util.Scanner;
创建对象
使用该类的构造方法,创建一个该类的对象。 格式:
数据类型 变量名 = new 数据类型(参数列表);
举例:
Scanner sc = new Scanner(System.in);
调用方法
调用该类的成员方法,完成指定功能。 格式:
对象名.方法名();
举例:
int i = sc.nextInt(); // 接收一个键盘录入的整数
3.Scanner类的使用步骤
1.查看类
java.util.Scanner(该类需要import导入后使用。)
2.查看构造方法
public Scanner(InputStream source)
它生成的值是从指定的InputStream(输入流)扫描的。
3.查看类的成员方法
public int nextInt() :将键盘上输入信息的下一个标记扫描为一个int值。
该类还有很多其他方法,这里仅用该方法做个演示,其他方法请自行查看API文档。
使用Scanner类,完成接收键盘录入数据的操作,代码如下:
//1.导包
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
// 2.创建键盘录入数据的对象(Scanner类的对象)
Scanner in = new Scanner(System.in);
// 3.接受数据
System.out.println("请输入一个整数:");
int input = in.nextInt();
//使用类对象in调用nextInt方法来从键盘上获取数值并赋值给input变量。
// 4.输出数据
System.out.println("input:" + input);
}
}
执行结果:
请输入一个整数:
5 //此数值为你自己输入的数字
input:5
练习:取最值
代码:
import java.util.Scanner;
public class Test02Scanner {
public static void main(String[] args) {
// 创建对象
Scanner sc = new Scanner(System.in);
// 接收数据
System.out.println("请输入第一个数据:");
int a = sc.nextInt();
System.out.println("请输入第二个数据:");
int b = sc.nextInt();
System.out.println("请输入第三个数据:");
int c = sc.nextInt();
// 如何获取三个数据的最大值
int temp = (a > b ? a : b);
int max = (temp > c ? temp : c);
System.out.println("max:" + max);
}
}
三、Random类
1.什么是Random类
此类的实例用于生成伪随机数。
例如,以下代码使用户能够得到一个随机数:
Random r = new Random();
int i = r.nextInt();
2.Random类 使用步骤
1.查看类
java.util.Random :该类需要 import导入使后使用。
2.查看构造方法
public Random() :创建一个新的随机数生成器。
3.查看类的成员方法
public int nextInt(int n) :返回一个伪随机数,范围在 0 (包括)和 指定值 n (不包括)之间的int 值。
使用Random类,完成生成3个10以内的随机整数的操作,代码如下:
//1. 导包
import java.util.Random;
public class Demo01_Random {
public static void main(String[] args) {
//2. 创建键盘录入数据的对象
Random r = new Random();
for(int i = 0; i < 3; i++){
//3. 随机生成一个数据
int number = r.nextInt(10);
//4. 输出数据
System.out.println("number:"+ number);
}
}
}
练习
获取随机数
获取1-n之间的随机数,包含n,代码如下:
// 导包
import java.util.Random;
public class Test01Random {
public static void main(String[] args) {
int n = 50;
// 创建对象
Random r = new Random();
// 获取随机数
int number = r.nextInt(n) + 1;
// 输出随机数
System.out.println("number:" + number);
}
}
四、ArrayList类
1. 什么是ArrayList类
java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。 ArrayList 中可不断添加元素,其大小也自动增长。
2.ArrayList使用步骤
1.查看类
java.util.ArrayList < E > :该类需要 import导入使后使用。< E > ,表示一种指定的数据类型,叫做泛型。
E ,取自Element(元素)的首字母。在出现 E 的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。
代码如下:
ArrayList< String >,ArrayList< Student >
2.查看构造方法
public ArrayList() :构造一个内容为空的集合。
基本格式:
ArrayList<String> list = new ArrayList<String>();
在JDK 7后,右侧泛型的尖括号之内可以留空,但是<>仍然要写。简化格式:
ArrayList<String> list = new ArrayList<>();
3.查看成员方法
public boolean add(E e) : 将指定的元素添加到此集合的尾部。
参数 E e ,在构造ArrayList对象时, <E> 指定了什么数据类型,那么 add(E e) 方法中,只能添加什么数据类型的对象。
练习
使用ArrayList类,存储三个字符串元素,代码如下:
public class ArrayListTest {
public static void main(String[] args) {
// 创建学生数组
ArrayList<String> list = new ArrayList<>();
// 创建学生对象
String s1 = "汤姆";
String s2 = "Amy";
String s3 = "小明";
// 打印学生ArrayList集合
System.out.println(list);
// 将学生对象作为元素添加到集合中
list.add(s1);
list.add(s2);
list.add(s3);
//打印学生ArrayList集合
System.out.println(list);
}
}
运行结果:
[]
[汤姆, Amy, 小明]
3.ArrayList常用方法和遍历
对于元素的操作,基本体现在——增、删、查。常用的方法有:
public boolean add(E e) :将指定的元素添加到此集合的尾部。
public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
上代码:
public class Demo01ArrayListMethod {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> list = new ArrayList<String>();
//添加元素
list.add("hello");
list.add("world");
list.add("java");
//public E get(int index):返回指定索引处的元素
System.out.println("get:"+list.get(0));
System.out.println("get:"+list.get(1));
System.out.println("get:"+list.get(2));
//public int size():返回集合中的元素的个数
System.out.println("size:"+list.size());
//public E remove(int index):删除指定索引处的元素,返回被删除的元素
System.out.println("remove:"+list.remove(0));
//遍历输出
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
}
}
4.ArrayList集合如何存储基本数据类型
ArrayList对象不能存储基本类型,只能存储引用类型
比如ArrayList < int > ,这样写是不对的。
想要存储基本类型的数据,必须先将基本类型转换为包装类。
转换对应图:
其中Integer和Character比较特殊,需要特殊记忆,其他类型都是首字母大写。
示例代码:
public class Demo02ArrayListMethod {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
System.out.println(list);
}
}
练习
1、数值添加到集合
生成6个1~20之间的随机整数,添加到集合,并遍历
public class Test1 {
public static void main(String[] args) {
// 创建Random对象
Random random = new Random();
// 创建ArrayList对象
ArrayList<Integer> list = new ArrayList<>();
// 添加随机数到集合
for (int i = 0; i < 6; i++) {
int r = random.nextInt(20) + 1 ;
list.add(r);
}
//遍历集合,打印输出。
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
2、对象添加到集合
Student类
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = 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;
}
}
Test类(测试类)
public class Test2 {
public static void main(String[] args) {
// 创建ArrayList对象
ArrayList<Student> list = new ArrayList<>();
// 创建Student类,并创建Student对象,通过构造器传参。
Student s1 = new Student("小明", 18);
Student s2 = new Student("Amy", 20);
Student s3 = new Student("Tom", 22);
// 把学生对象作为元素添加到集合中
list.add(s1);
list.add(s2);
list.add(s3);
// 遍历集合
for (int i = 0; i < list.size(); i++) {
Student out = list.get(i);
System.out.println("姓名:"+out.getName()+"\t"+"年龄:"+out.getAge());
}
}
}
运行结果:
姓名:小明 年龄:18
姓名:Amy 年龄:20
姓名:Tom 年龄:22
3、打印集合方法
public class Test3 {
public static void main(String[] args) {
// 创建ArrayList对象
ArrayList<String> list = new ArrayList<>();
// 将字符串添加到集合中
list.add("小明");
list.add("Tom");
list.add("Amy");
// 调用方法
printArrayList(list);
}
public static void printArrayList(ArrayList<String> list1){
// 拼接左括号
System.out.print("{");
// 遍历集合
for (int i = 0; i < list1.size(); i++) {
//获取元素,按指定格式输出
if(i == list1.size() - 1){
System.out.print(list1.get(i)+"}");
}else{
System.out.print(list1.get(i)+"@");
}
}
}
}
运行结果:
{小明@Tom@Amy}
4、获取集合方法
public class Test {
public static void main(String[] args) {
//创建Random对象
Random random = new Random();
// 创建ArrayList对象
ArrayList<Integer> list = new ArrayList<>();
// 添加随机数到集合
for (int i = 0; i < 20; i++) {
int r = random.nextInt(1000) +1 ;
list.add(r);
}
// 调用偶数集合的方法
ArrayList<Integer> arrayList = getArrayList(list);
System.out.println(arrayList);
}
public static ArrayList<Integer> getArrayList(ArrayList<Integer> list1 ){
// 创建小集合保存偶数
ArrayList<Integer> smallList = new ArrayList<>();
// 遍历list1
for (int i = 0; i < list1.size(); i++) {
//获取元素
Integer num = list1.get(i);
// 判断num是否为偶数,并添加到集合smallList中
if(num % 2 == 0){
smallList.add(i);
}
}
// 返回包含偶数的集合
return smallList;
}
}