两个数之间求大小
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]]](https://i-blog.csdnimg.cn/direct/16de5712751045f499ad7a0f3fb55547.png)
![![[Pasted image 20250315101610.png]]](https://i-blog.csdnimg.cn/direct/6c77a333dbdb49b5aea54db5c3778822.png)
Character.digit(char ch, int radix)
Character
类中的一个静态方法,用于 将字符转换为指定进制(radix)的整数值。
参数
ch
:要转换的字符。radix
:进制(基数),取值范围 2 ~ 36(Java 支持最大 36 进制)。
示例
System.out.println(Character.digit('3', 10));
System.out.println(Character.digit('9', 10));
System.out.println(Character.digit('A', 10)); System.out.println(Character.digit('0', 2));
System.out.println(Character.digit('1', 2));
System.out.println(Character.digit('2', 2));
为什么要用 Character.digit()
sum += str.charAt(i) - '0';
问题:
- 只能正确处理
0-9
,无法处理 A-F
(16 进制) - 例如
'A' - '0'
的计算结果是 65 - 48 = 17
(错误)