1.各种类
1.System.out
System.out 是 Java 中的标准输出流,属于 PrintStream 类。它主要用于在控制台输出数据。System.out 提供了许多方法,可以输出各种类型的数据。以下是 System.out 所在的 PrintStream 类的常用方法:
常用方法:
-
print():- 输出数据但不换行。
- 支持多种数据类型:
print(boolean b)print(char c)print(char[] s)print(double d)print(float f)print(int i)print(long l)print(Object obj)print(String s)
-
println():- 输出数据并自动换行。
- 支持同样多种数据类型:
println(): 输出空行(只换行)println(boolean b)println(char c)println(char[] s)println(double d)println(float f)println(int i)println(long l)println(Object obj)println(String s)
-
printf():- 格式化输出,类似于 C 语言的
printf。 - 支持格式化字符串,适用于多种类型的输出。
- 语法:
printf(String format, Object... args) - 常用的格式化符号:
%d: 输出整数%f: 输出浮点数%s: 输出字符串%n: 换行%c: 输出字符
- 格式化输出,类似于 C 语言的
-
format():format()和printf()类似,用于格式化输出。- 语法:
format(String format, Object... args)
-
append():- 将字符或字符串追加到输出流中。
- 支持几种不同类型:
append(char c)append(CharSequence csq)append(CharSequence csq, int start, int end)
-
write():- 将字节数据写入输出流,不常用于普通文本输出,主要用于字节流输出。
- 支持以下形式:
write(byte[] b, int off, int len)write(int b)
-
flush():- 强制将缓冲区中的数据输出。
System.out是带缓冲的输出流,有时为了确保数据被立即输出,可以调用flush()。
-
close():- 关闭输出流,释放相关资源。在程序执行时通常不需要显式调用,因为 JVM 会自动管理
System.out的生命周期。
- 关闭输出流,释放相关资源。在程序执行时通常不需要显式调用,因为 JVM 会自动管理
2.Scanner
在 Java 中,Scanner 类用于从输入流(如控制台、文件等)读取各种类型的数据。以下是 Scanner 类常用的方法及其作用:
1. 基本输入方法:
next(): 读取下一个单词(以空格或换行符为分隔)。nextLine(): 读取一整行,直到换行符为止。nextInt(): 读取下一个整数。nextFloat(): 读取下一个浮点数(float类型)。nextDouble(): 读取下一个双精度浮点数(double类型)。nextBoolean(): 读取下一个布尔值(true或false)。nextByte(): 读取下一个字节(byte类型的整数)。nextShort(): 读取下一个短整数(short类型)。nextLong(): 读取下一个长整数(long类型)。nextBigInteger(): 读取一个大整数(BigInteger类型)。nextBigDecimal(): 读取一个大浮点数(BigDecimal类型)。
2. 检查输入是否存在:
hasNext(): 检查是否还有下一个输入。hasNextLine(): 检查是否还有下一行。hasNextInt(): 检查是否有下一个整数。hasNextFloat(): 检查是否有下一个float值。hasNextDouble(): 检查是否有下一个double值。hasNextBoolean(): 检查是否有下一个布尔值。hasNextByte(): 检查是否有下一个字节。hasNextShort(): 检查是否有下一个短整数。hasNextLong(): 检查是否有下一个长整数。
3. 跳过输入:
skip(String pattern): 跳过当前输入中匹配指定正则表达式的部分。next(String pattern): 读取匹配指定正则表达式的下一个输入。
4. 关闭 Scanner:
close(): 关闭Scanner,释放其占用的资源。
5. 其他实用方法:
findInLine(String pattern): 从当前行找到并返回匹配指定正则表达式的文本。findWithinHorizon(String pattern, int horizon): 在给定的范围内查找匹配指定正则表达式的文本。useDelimiter(String pattern): 设置输入的分隔符,默认是空格和换行符。
3.Arrays
-
排序
Arrays.sort(): 对数组进行升序排序。
import java.util.Arrays;
public class ArraysSortExample {
public static void main(String[] args) {
int[] numbers = {5, 2, 8, 1, 3};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // 输出:[1, 2, 3, 5, 8]
}
}
-
搜索
Arrays.binarySearch(): 在已排序的数组中进行二分查找,返回元素的索引或负值(表示元素不存在)。
import java.util.Arrays;
public class ArraysBinarySearchExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 5, 8};
int index = Arrays.binarySearch(numbers, 5);
System.out.println("Index of 5: " + index); // 输出:Index of 5: 3
}
}
-
填充
Arrays.fill(): 将数组的所有元素填充为指定的值。
import java.util.Arrays;
public class ArraysFillExample {
public static void main(String[] args) {
int[] numbers = new int[5];
Arrays.fill(numbers, 10);
System.out.println(Arrays.toString(numbers)); // 输出:[10, 10, 10, 10, 10]
}
}
-
比较
Arrays.equals(): 比较两个数组的内容是否相同。
import java.util.Arrays;
public class ArraysEqualsExample {
public static void main(String[] args) {
int[] array1 = {1, 2, 3};
int[] array2 = {1, 2, 3};
boolean isEqual = Arrays.equals(array1, array2);
System.out.println("Arrays equal: " + isEqual); // 输出:Arrays equal: true
}
}
-
转换为字符串
Arrays.toString(): 将一维数组转换为字符串表示。Arrays.deepToString(): 将多维数组转换为字符串表示。
import java.util.Arrays;
public class ArraysToStringExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(numbers)); // 输出:[1, 2, 3, 4, 5]
}
}
import java.util.Arrays;
public class ArraysDeepToStringExample {
public static void main(String[] args) {
int[][] numbers = {{1, 2}, {3, 4}};
System.out.println(Arrays.deepToString(numbers)); // 输出:[[1, 2], [3, 4]]
}
}
-
复制
Arrays.copyOf(): 复制数组的一部分或全部内容到一个新数组中。Arrays.copyOfRange(): 复制数组的指定范围到一个新数组中
import java.util.Arrays;
public class ArraysCopyOfExample {
public static void main(String[] args) {
int[] original = {1, 2, 3, 4, 5};
int[] copy = Arrays.copyOf(original, 3);
System.out.println(Arrays.toString(copy)); // 输出:[1, 2, 3]
}
}
import java.util.Arrays;
public class ArraysCopyOfRangeExample {
public static void main(String[] args) {
int[] original = {1, 2, 3, 4, 5};
int[] copy = Arrays.copyOfRange(original, 1, 4);
System.out.println(Arrays.toString(copy)); // 输出:[2, 3, 4]
}
}
-
设定数组的指定位置的值
Arrays.setAll(): 使用指定的函数设置数组的每个元素的值。
import java.util.Arrays;
public class ArraysSetAllExample {
public static void main(String[] args) {
int[] numbers = new int[5];
Arrays.setAll(numbers, i -> i * 2);
System.out.println(Arrays.toString(numbers)); // 输出:[0, 2, 4, 6, 8]
}
}
4.ArrayList
添加元素
add(E e): 在列表末尾添加元素。add(int index, E element): 在指定位置插入元素。addAll(Collection<? extends E> c): 将指定集合中的所有元素添加到列表末尾。addAll(int index, Collection<? extends E> c): 从指定位置开始,将指定集合中的所有元素添加到列表。
访问和修改元素
get(int index): 返回指定位置的元素。set(int index, E element): 用指定元素替换指定位置的元素。
删除元素
remove(Object o): 删除首次出现的指定元素。remove(int index): 删除指定位置的元素。removeAll(Collection<?> c): 删除列表中所有与指定集合相同的元素。removeIf(Predicate<? super E> filter): 删除所有与给定条件匹配的元素。clear(): 删除所有元素。
查找和检查
contains(Object o): 检查列表是否包含指定元素。indexOf(Object o): 返回列表中首次出现指定元素的索引。lastIndexOf(Object o): 返回列表中最后一次出现指定元素的索引。isEmpty(): 检查列表是否为空。
大小和容量
size(): 返回列表中元素的数量。trimToSize(): 将列表的容量调整为当前大小,减少内存使用。
转换和集合操作
toArray(): 返回包含列表中所有元素的数组。toArray(T[] a): 返回包含列表中所有元素的数组,并将其存储到指定数组中。
迭代
iterator(): 返回列表的迭代器。listIterator(): 返回列表的列表迭代器。forEach(Consumer<? super E> action): 使用指定的操作遍历列表中的每个元素。
排序和其他操作
sort(Comparator<? super E> c): 使用指定的比较器对列表进行排序。subList(int fromIndex, int toIndex): 返回列表中指定范围的视图(子列表)。
比较
equals(Object o): 检查列表是否与指定对象相等。hashCode(): 返回列表的哈希码。
特殊操作
replaceAll(UnaryOperator<E> operator): 使用指定的操作替换列表中的所有元素。shuffle(Random rnd): 打乱列表中的元素顺序。
5.Random
生成随机数
nextInt(): 返回一个随机的int值。nextInt(int bound): 返回一个在0(包含)和指定bound(不包含)之间的随机int值。nextLong(): 返回一个随机的long值。nextDouble(): 返回一个在0.0(包含)和1.0(不包含)之间的随机double值。nextFloat(): 返回一个在0.0(包含)和1.0(不包含)之间的随机float值。nextBoolean(): 返回一个随机的boolean值。nextShort(): 返回一个随机的short值。nextChar(): 返回一个随机的char值。nextBytes(byte[] bytes): 将随机生成的字节填充到指定的字节数组中。nextGaussian(): 返回一个符合高斯分布(正态分布)的随机double值。
生成随机数的范围
nextInt(int origin, int bound): 返回一个在origin(包含)和bound(不包含)之间的随机int值。nextDouble(double origin, double bound): 返回一个在origin(包含)和bound(不包含)之间的随机double值。
种子设置和状态
setSeed(long seed): 设置随机数生成器的种子。相同的种子会导致相同的随机数序列。getSeed(): 获取当前的种子值(注意这个方法在标准Random类中不存在,但在一些扩展实现中可能会有)。
Random 类构造函数
Random(): 创建一个使用当前时间戳作为种子的随机数生成器。Random(long seed): 创建一个使用指定种子的随机数生成器。
1780

被折叠的 条评论
为什么被折叠?



