蓝桥杯常用java API
·
两个数之间求大小
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)); // 输出 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(错误)
更多推荐


所有评论(0)