两个数之间求大小
min=Math.min(score,min);  
max=Math.max(score,max);
进制转换

Integer.toBinaryString(int k) : 十进制转化为2进制,返回一个字符串
Integer.toHexString(255): 十进制转化为16进制,返回一个字符串
Integer.toOctalString(255) : 十进制转换为8进制,返回一个字符串

转化为字符串
方式适用情况优点缺点
i + ""简单转换代码短性能低,创建额外对象
String.valueOf(i)推荐方式,适用于所有基本类型性能最佳,语义清晰
Integer.toString(i)仅适用于整数性能优,比 + "" 好仅适用于 int
String.format("%d", i)需要格式化的情况可读性好,适合复杂格式性能较低
数组有关api
方法作用
Arrays.fill(arr, 0);把整个 arr 数组填充为 0
Arrays.fill(arr, 1, 10, 0);只填充 arr[1] 到 arr[9]
Arrays.binarySearch(arr, 5);在 arr 中二分查找 5(必须有序)
Arrays.binarySearch(arr, 1, 10, 5);在 arr[1] 到 arr[9] 中二分查找 5
Arrays.copyOf(arr, 10);复制数组 arr,新长度为 10
Arrays.copyOfRange(arr, 1, 10);复制 arr[1] 到 arr[9]
Arrays.sort(arr);对整个 arr 排序
Arrays.sort(arr, 1, 10);只排序 arr[1] 到 arr[9]
字符串有关
方法作用
substring()截取子串
startsWith() / endsWith()判断是否以某字符串开头或结尾
equals() / equalsIgnoreCase()判断字符串相等(区分/不区分大小写)
indexOf() / lastIndexOf()查找字符串
replace() / replaceAll()替换字符或字符串
split()拆分字符串
trim()去除首尾空格
toUpperCase() / toLowerCase()大小写转换
format()格式化字符串
concat() / join()连接字符串
StringBuilder,StringBuffer
方法作用
append()在末尾追加
insert()在指定位置插入
replace()替换子串
delete()删除子串
reverse()反转字符串
indexOf() / lastIndexOf()查找子串
charAt() / setCharAt()获取/修改字符
length() / capacity()获取长度和容量
ensureCapacity()确保容量足够
setLength(0)清空 StringBuffer

![[Pasted image 20250315101537.png]]

![[Pasted image 20250315101610.png]]

Character.digit(char ch, int radix)

Character类中的一个静态方法,用于 将字符转换为指定进制(radix)的整数值。

参数
  • ch:要转换的字符。
  • radix:进制(基数),取值范围 2 ~ 36(Java 支持最大 36 进制)。
示例
System.out.println(Character.digit('3', 10)); // 输出 3
System.out.println(Character.digit('9', 10)); // 输出 9
System.out.println(Character.digit('A', 10)); // 输出 -1(A 不是 10 进制数字)

System.out.println(Character.digit('0', 2)); // 输出 0
System.out.println(Character.digit('1', 2)); // 输出 1
System.out.println(Character.digit('2', 2)); // 输出 -1(2 不是 2 进制数字)

为什么要用 Character.digit()
sum += str.charAt(i) - '0';

问题:

  • 只能正确处理 0-9,无法处理 A-F(16 进制)
  • 例如 'A' - '0' 的计算结果是 65 - 48 = 17(错误)

更多推荐