Java常⽤API

1 API

概述
API(Application Programming Interface),应⽤程序编程接⼝。Java API是⼀本程序员的“字 典”,是JDK提供给我们使⽤的类的说明⽂档。这些类将底层的代码实现封装了起来,我们不需要
关⼼这些类是如何实现的,只需要学习这些类如何使⽤即可。所以我们可以通过查询API的⽅
式,来学习Java提供的类,并得知如何使⽤它们。
JDK包结构
为了便于使⽤和维护,JDK类库按照包结构划分,不同功能的类划分在不同的包中;
经常使⽤的包如下表所示:

功能
java.langJava程序的基础类,如字符串、多线程等,该包中的类使⽤的频率⾮常⾼,不
需要import,可以直接使⽤
java.util常⽤⼯具类,如集合、随机数产⽣器、⽇历、时钟等
java.io⽂件操作、输⼊/输出操作
java.net⽹络操作
java.math数学运算相关操作
java.sql数据库访问
java.text处理⽂字、⽇期、数字、信息的格式

2 Scanner类

2.1 什么是Scanner类

⼀个可以解析基本类型和字符串的简单⽂本扫描器。例如,以下代码使⽤户能够从System.in中
读取⼀个数:

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

2.2 引⽤类型使⽤步骤

导包
使⽤import关键字导包,在类的所有代码之前导包,引⼊要使⽤的类型,java.lang包下的所有类
⽆需导⼊。 格式:

java.util.Scanner;

创建对象
使⽤该类的构造⽅法,创建⼀个该类的对象。格式:

数据类型 变量名 = new 数据类型(参数列表);
Scanner sc = new Scanner(System.in);

调⽤⽅法
调⽤该类的成员⽅法,完成指定功能。格式:

变量名.⽅法名();
int i = sc.nextInt(); // 接收⼀个键盘录⼊的整数

2.3Scanner 常用方法

nextInt() 接收⼀个键盘录⼊的整数
nextDouble() 接收⼀个键盘录⼊的浮点数
next() 吸取输入台输入的字符
nextLine() 吸取输入台输入的字符

2.4nextLine()与next 的区别

next() 不会吸取字符前/后 的空格/Tab键,只会吸取字符,开始吸取字符(字符前后不算)直到遇到到空格/Tab键/回车截止吸取;
nextLine() 吸取字符前后的空格/tab键 ,回车结束

public class SystemArraycopy {
    public static void main(String args[]) {
        Scanner reader=new Scanner(System.in);
        System.out.println("nextLine()输入");
        String s1=reader.nextLine();
        System.out.println("next()输入");
        String s2=reader.next();
        System.out.println("输出nextLine():"+s1);
        System.out.println("输出next():"+s2);
    }

}
/*
nextLine()输入
qqq wqw wqw
next()输入
qwqw ewer ewe
输出nextLine():qqq wqw wqw
输出next():qwqw
*/

可以看到next()只吸取了qwqw字符,空格后面的都舍弃了!

3 Random类

3.1 什么是Random类

此类的实例⽤于⽣成伪随机数。
例如,以下代码使⽤户能够得到⼀个随机数:

Random r = new Random();
int i = r.nextInt();

3.2 Random使⽤步骤

查看类

java.util.Random :该类需要import导⼊使后使⽤。

查看构造⽅法

public Random() :创建⼀个新的随机数⽣成器。

查看成员⽅法

public int nextInt(int n) :返回⼀个伪随机数,范围在 0 (包括)和 指定值n (不包 括)之间的 int 值
创建⼀个 Random 对象,每次调⽤ nextInt() ⽅法,都会⽣成⼀个随机数。

3.3 练习 获取随机数

获取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);
 }
}

4 ArrayList类

4.1 什么是ArrayList类

java.util.ArrayList 是⼤⼩可变的数组的实现,存储在内的数据称为元素。此类提供⼀些⽅法
来操作内部存储的元素。 ArrayList 中可不断添加元素,其⼤⼩也⾃动增⻓。

4.2 ArrayList使⽤步骤

查看类
java.util.ArrayList :该类需要import导⼊使后使⽤。
,表示⼀种指定的数据类型,叫做泛型。 E ,取⾃Element(元素)的⾸字⺟。在出现 E 的
地⽅,我们使⽤⼀种引⽤数据类型将其替换即可,表示我们将存储哪种引⽤类型的元素。代码如

ArrayList,ArrayList
查看构造⽅法
public ArrayList() :构造⼀个内容为空的集合。
基本格式:
在JDK 7后,右侧泛型的尖括号之内可以留空,但是<>仍然要写。简化格式:
查看成员⽅法
public boolean add(E e) :将指定的元素添加到此集合的尾部。
参数 E e ,在构造ArrayList对象时, 指定了什么数据类型,那么 add(E e) ⽅法中,只
能添加什么数据类型的对象。
使⽤ArrayList类,存储三个字符串元素,代码如下:

public class Test02StudentArrayList {
 public static void main(String[] args) {
 // 创建学⽣数组
 ArrayList<String> list = new ArrayList<>();
 // 创建学⽣对象
 String s1 = "曹操";
 String s2 = "刘备";
 String s3 = "孙权";
 // 打印学⽣ArrayList集合
 System.out.println(list);
 // 把学⽣对象作为元素添加到集合
 list.add(s1);
 list.add(s2);
 list.add(s3);
 
 // 打印学⽣ArrayList集合
 System.out.println(list);
 }
}

4.3常⽤⽅法和遍历

对于元素的操作,基本体现在 – 增、删、查。
常⽤的⽅法有:
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));
 }
 } }

5 Arrays类

5.1概述

java.util.Arrays 此类包含⽤来操作数组的各种⽅法,⽐如排序和搜索等。其所有⽅法均为静
态⽅法,调⽤起来⾮常简单。

5.2 操作数组的⽅法

public static String toString(int[] a) :返回指定数组内容的字符串表示形式。
public static void sort(int[] a) :对指定的 int 型数组按数字升序进⾏排序。

public static void main(String[] args) {
 // 定义int 数组
 int[] arr = {3, 323,35, 4, 47, 8, 69, 9};
 // 打印数组,输出地址值
 System.out.println(arr); // [I@2ac1fdc4
 //数组按数字升序进⾏排序
  Arrays.sort(arr);
 // 数组内容转为字符串
 String s = Arrays.toString(arr);

 // 打印字符串,输出内容
 System.out.println(s); // [3, 4, 8, 9, 35, 47, 69, 323]
}

public static int[] copyOf(int[] original, int newLength) :复制指定的数组,未赋值的0自动填充

import java.util.Arrays;

public class Demo {
    public static void main(String[] args) {
        // 定义int 数组
        int[] arr = {3, 323, 35, 4, 9};
         数组缩容,⻓度 - 1 
        int[] newArr = Arrays.copyOf(arr, 4);
        String s = Arrays.toString(newArr);
        System.out.println(s);//[3, 323, 35, 4]
        //数组扩容
        int[] newArr1 = Arrays.copyOf(arr, 6);
        //新数组长度=6 ,原数组的长度为5 ,则自动填充0
        String s1 = Arrays.toString(newArr1);
        System.out.println(s1);//[3, 323, 35, 4, 9, 0];
    }
}

注意复制的效率System.arraycopy>clone>Arrays.copyOf>for循环

6 System类

java.lang.System 类中提供了⼤量的静态⽅法,可以获取与系统相关的信息或系统级操作,在
System类的API⽂档中,常⽤的⽅法有:
public static long currentTimeMillis() :返回以毫秒为单位的当前时间。
public static void arraycopy(Object src, int srcPos, Object dest, int destPos,
int length) :将数组中指定的数据拷⻉到另⼀个数组中。

6.1 currentTimeMillis⽅法

实际上,currentTimeMilils⽅法就是获取当前系统时间与1970年01⽉01⽇00:00点之间的毫秒差

import java.util.Date;
public class SystemDemo {
 public static void main(String[] args) {
 //获取当前时间毫秒值
 System.out.println(System.currentTimeMillis()); // 1626531047081
 }
}

6.2 arraycopy⽅法

public static void arraycopy(Object src, int srcPos, Object dest, int destPos,
int length) :将数组中指定的数据拷⻉到另⼀个数组中

参数序号参数名称参数类型参数含义
1srcObject源数组
2srcPosint源数组索引起始的位置
3destObject目标数组
4destPosint目标数组索引起始位置
5lengthint复制的元素个数

将src数组中前3个元素,复制到dest数组的前3个位置上复制元素前:src数组元素[1,2,3,4,5],
dest数组元素[6,7,8,9,10]复制元素后:src数组元素[1,2,3,4,5],dest数组元素[1,2,3,9,10]

public class Arraycopy {
    public static void main(String[] args) {
      
        int[] src = {1, 2, 3, 4, 5};
        int[] dest = {6, 7, 8, 9, 10};
        System.arraycopy(src, 0, dest, 0, 3);
        System.out.print("[");
        for (int arr : dest) {
            System.out.print(arr+" ");
        }
        System.out.println("]");
    }
  //  [1 2 3 9 10 ]
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值