Java笔记 --- 常用的API

这篇博客详细介绍了Java JDK API,涵盖JDK包结构、匿名对象、Scanner、Random、String、ArrayList、Arrays、Math和System类的常用方法。讲解了如何创建匿名对象,Scanner的使用步骤,Random类的随机数生成,String的特点与常用操作,ArrayList的元素操作,Arrays的数组操作,以及Math和System类提供的系统级功能。
摘要由CSDN通过智能技术生成

JDK API

1.什么是JDK API

JDK中包含大量的API类库,所谓API(Application Programming Interface,应用程序编程接口)就是一些已写好,可供直接调用的功能(在Java语言中,这些功能以类的形式封装)。

JDK API包含的类库功能强大,经常使用的有:字符串操作、集合操作、文件操作、输入输出操作、网络操作、多线程等等。

JDK包结构

为了便于使用和维护,JDK类库按照包结构划分,不同功能的类划分在不同的包中;

功能
java.langJava程序的基础类,如字符串,多线程等,该包中的类使用频率非常高,不需要import,可直接使用
java.util常用工具类,如集合、随机数产生器、日历、时钟等
java.io文件操作、输入/输出操作
java.net网络操作
java.math数学运算相关操作
java.security安全相关操作
java.sql数据库访问
java.text处理文字、日期、数字、信息的格式

匿名对象

创建匿名对象

1.直接调⽤⽅法,没有变量名。如:

new Scanner(System.in).nextInt();

2.一个匿名对象只能使用一次,一旦调用两次方法就是创建了两个对象

new Scanner(System.in).nextInt();
new Scanner(System.in).nextInt();

3.匿名对象可以作为⽅法的参数和返回值。

1.作为参数值
class Test {
  public static void main(String[] args) {
    // 普通⽅式
    Scanner sc = new Scanner(System.in);
    input(sc);
    // 匿名对象作为⽅法接收的参数
    input(new Scanner(System.in));
  }
  public static void input(Scanner sc) {
    System.out.println(sc);
  }
}

2.作为返回值
class Test2 {
  public static void main(String[] args) {
  // 普通⽅式
    Scanner sc = getScanner();
  }
  public static Scanner getScanner() {
  // 普通⽅式
  // Scanner sc = new Scanner(System.in);
  // return sc;
  // 匿名对象作为⽅法返回值
    return new Scanner(System.in);
  }
}

Scanner 类

作用

⼀个可以解析基本类型和字符串的简单⽂本扫描器。

如:

Scanner sc = new Scanner(System.in);//System.in 指的是通过键盘录入数据
int i = sc.nextInt();

使用步骤

由于Scanner类是个引用数据类型,需要导包(除了在java.lang包下的不用导,其他都要导) java.util.Scanner

创建步骤:

数据类型 变量名 = new 数据类型(参数列表);

如:

Scanner scanner = new Scanner(System.in);

构造方法

构造⼀个新的 Scanner ,它⽣成的值是从指定的输⼊流扫描的。

public Scanner(InputStream source)

常用方法

方法描述
int nextInt()将输入信息的下一个标记扫描为一个 int
String nextLine()此扫描器执行当前行,并返回跳过的输入信息
String next()查找并返回来自此扫描器的下一个完整标记

Random 类

作用

此类的实例⽤于⽣成伪随机数。

用法:

//得到了一个随机数
Random r = new Random();
int i = r.nextInt();

构造方法

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

常用方法

方法描述
public int nextInt(int n)返回⼀个伪随机数,范围在[0,n)之间

创建了一个Random对象,每次调用nextInt()方法都会生成一个随机数

String 类

描述

String字符串类类 String 中包括⽤于检查各个字符串的⽅法,⽐如⽤于⽐较字符串,搜索字符串提取⼦字符串以及创建具有翻译为⼤写或⼩写的所有字符的字符串的副本。

特点

1.符串在初始化后字符串的值不能被更改

String s1 = "abc";
s1 += "d";
System.out.println(s1); // "abcd"
内存中有"abc","abcd"两个对象,s1初始化时指向"abc",在做+="d"时改变指向,指向了新字符串"abcd"。但是字符串"abc"没变,变的是地址的引用.

2.因为String对象是不可变的,所以它们可以被共享。

String s1 = "abc";
String s2 = "abc";

内存中只有⼀个"abc"对象被创建,同时被s1和s2共享。因为在创建s1时会在String的常量池中寻找"abc"这个对象,如果没有,就创建,如果有就指向"abc"

3.“abc” 等效于 char[] data = {‘a’ , ‘b’ , ‘c’} 。

因为String的底层是由字符数组实现的

常用的方法

方法描述
public boolean equals(Object anObject)将此字符串与指定对象进⾏⽐较
public int length()返回此字符串的⻓度。
public String concat(String str)将指定的字符串连接到该字符串的末尾。
public char charAt(int index)返回指定索引处的char值。
public int indexOf(String str)返回指定⼦字符串第⼀次出现在该字符串内的索引。
public String substring(int beginIndex)返回⼀个⼦字符串,从beginIndex开始截取字符串到字符串结尾。
public String substring(int beginIndex, int endIndex)返回⼀个⼦字符串,从beginIndex到endIndex截取字符串。含beginIndex,不含endIndex
public char[] toCharArray()将此字符串转换为新的字符数组。
public byte[] getBytes()使⽤平台的默认字符集将该String编码转换为新的字节数


public String replace(CharSequence target, CharSequence replacement) |将与
target匹配的字符串使⽤replacement字符串替换
public String[] split(String regex) |将此字符串按照给定的regex(规则)拆分为字符串数组

ArrayList 类

描述

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

构造方法

方法描述
public ArrayList()构造⼀个内容为空的集合
ArrayList<String> list = new ArrayList<String>();

基本格式:

ArrayList<String> list = new ArrayList<String>(); 

//JDK7后,右侧的尖括号之内可以留空,但是<>仍要写:
ArrayList<String> list = new ArrayList<>();

常用方法和遍历

对于元素的操作,基本体现在 – 增、删、查

方法描述
public boolean add(E e)将指定的元素添加到此集合的尾部。
public E remove(int index)移除此集合中指定位置上的元素。返回被删除的元素。
public E get(int index)返回此集合中指定位置上的元素。返回获取的元素。
public int size()返回此集合中的元素数。遍历集合时,可以控制索引范围,防⽌越界。

Arrays 类

描述

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

常用的方法

方法描述
public static String toString(int[] a)返回指定数组内容的字符串表示形式
public static void sort(int[] a)对指定的 int 型数组按数字升序进⾏排序
public static int[] copyOf(int[] original, int newLength)复制指定的数组,如有必要,⽤零填充。

Math 类

描述

包含⽤于执⾏基本数学运算的⽅法,如初等指数、对数、平⽅根和三⻆函数。类似这样的⼯具类,其所有⽅法均为静态⽅法,并且不会创建对象,调⽤起来⾮常简单。

常用的方法

方法描述
public static double abs(double a)返回 double 值的绝对值
public static double ceil(double a)返回⼤于等于参数的最⼩的整数。
public static double floor(double a)返回⼩于等于参数最⼤的整数。
public static long round(double a)返回最接近参数的 long。(相当于四舍五⼊⽅法)

System 类

描述

类中提供了⼤量的静态⽅法,可以获取与系统相关的信息或系统级操作

常用的方法

CurrentTimeMillis方法

currentTimeMillis⽅法就是获取当前系统时间与1970年01⽉01⽇00:00点之间的毫秒差值

方法描述
public static long currentTimeMillis()返回以毫秒为单位的当前时间
import java.util.Date;
public class SystemDemo {
 public static void main(String[] args) {
  //获取当前时间毫秒值
  System.out.println(System.currentTimeMillis()); 
 }
}

循环打印0-9999所需要的时间(毫秒)

public class SystemTest1 {
public static void main(String[] args) {
long start = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println("共耗时毫秒:" + (end - start));
}
}

arraycopy⽅法

数组的拷⻉动作是系统级的,性能很⾼。System.arraycopy⽅法具有5个参数,含义分别为:

参数序号参数名称参数类型参数含义
1srcObject源数组
2srcPosint源数组索引起始位置
3destObject目标数组
4destPosint目标数组索引起始位置
5lengthint复制元素个数
方法描述
public static void arraycopy(Object src, int srcPos, Object dest, int destPos,int length)将数组中指定的数据拷⻉到另⼀个数组中
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值