常用类与方法速查
把第5~11 章用得最多的类、方法、代码骨架集中到一页,写作业时对照着查。
String 常用方法
| 方法/写法 | 作用 | 示例 |
|---|
length() | 字符串长度 | s.length() |
charAt(i) | 取第 i 个字符(从 0 开始) | s.charAt(0) |
substring(a, b) | 截取 [a, b) 区间 | s.substring(0, 3) |
indexOf(str) | 查找子串第一次出现的下标,找不到返回 -1 | s.indexOf("a") |
equals(str) | 比较内容是否相等(别用 ==) | s1.equals(s2) |
split(regex) | 按分隔符切成数组 | s.split(",") |
replace(a, b) | 替换全部 | s.replace(" ", "") |
trim() | 去掉首尾空格 | s.trim() |
toUpperCase() | 转大写(toLowerCase 转小写) | s.toUpperCase() |
contains(str) | 是否包含子串 | s.contains("Java") |
StringBuilder 常用方法
| 方法/写法 | 作用 | 示例 |
|---|
append(x) | 追加内容(比 + 拼接高效) | sb.append("abc") |
insert(i, x) | 在指定位置插入 | sb.insert(0, "→") |
delete(a, b) | 删除区间 | sb.delete(0, 2) |
reverse() | 反转 | sb.reverse() |
toString() | 转回 String | sb.toString() |
集合常用方法
| 方法/写法 | 作用 | 示例 |
|---|
add(x) | 添加元素 | list.add(s) |
get(i) | 按下标取(List) | list.get(0) |
size() | 元素个数 | list.size() |
remove(i/obj) | 按下标或对象删除 | list.remove(0) |
contains(x) | 是否包含 | list.contains(s) |
put(k, v) | Map 放入键值对 | map.put("张三", 89.5) |
get(k) | Map 按键取值,没有返回 null | map.get("张三") |
getOrDefault(k, d) | Map 按键取值,没有返回默认值 | map.getOrDefault(k, 0) |
entrySet() | Map 遍历用(键值对集合) | for (Map.Entry e : map.entrySet()) |
keySet() | Map 的所有键 | for (String k : map.keySet()) |
包装类与类型转换
| 方法/写法 | 作用 | 示例 |
|---|
Integer.parseInt(s) | 字符串 → int | Integer.parseInt("123") |
String.valueOf(x) | 任意类型 → 字符串 | String.valueOf(123) |
Integer.valueOf(x) | 基本类型 → 包装类(装箱) | Integer i = Integer.valueOf(10) |
自动装箱拆箱 | 基本类型与包装类自动互转 | Integer i = 10; int j = i; |
数学与随机
| 方法/写法 | 作用 | 示例 |
|---|
Math.abs(x) | 绝对值 | Math.abs(-3) |
Math.round(x) | 四舍五入(返回 long) | Math.round(3.6) |
Math.max/min(a, b) | 最大/最小 | Math.max(3, 7) |
Math.pow(a, b) | 幂运算 | Math.pow(2, 10) |
new Random().nextInt(n) | 0 ~ n-1 的随机整数 | new Random().nextInt(100) |
IO 流
| 方法/写法 | 作用 | 示例 |
|---|
new File(path) | 表示文件或目录 | new File("D:/a.txt") |
exists() / mkdirs() | 是否存在 / 创建目录 | f.exists() |
FileReader/FileWriter | 字符流,读写文本 | new FileWriter("a.txt") |
BufferedReader/Writer | 带缓冲,效率更高 | new BufferedReader(new FileReader(f)) |
readLine() | 读一行,末尾返回 null | while ((line = br.readLine()) != null) |
InputStreamReader | 字节流 → 字符流(可指定编码) | new InputStreamReader(in, "UTF-8") |
ObjectOutputStream | 对象序列化写文件 | new ObjectOutputStream(new FileOutputStream(f)) |
JDBC 五步
| 方法/写法 | 作用 | 示例 |
|---|
① 加载驱动 | Class.forName("com.mysql.cj.jdbc.Driver") | 需导入驱动 jar |
② 建连接 | DriverManager.getConnection(url, user, pwd) | url 形如 jdbc:mysql://localhost:3306/库名 |
③ 建语句 | conn.prepareStatement(sql) | 用 ? 占位,防 SQL 注入 |
④ 执行 | ps.executeQuery() / ps.executeUpdate() | 查用 Query,增删改用 Update |
⑤ 遍历并关闭 | while (rs.next()) { rs.getString("列名"); } | 用 try-with-resources 自动关闭 |
三段代码骨架 直接改改就能用
JAVA
// 1. JDBC 完整五步(第9章)
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/软件4班?useSSL=false&serverTimezone=UTC";
try (Connection conn = DriverManager.getConnection(url, "root", "123456");
PreparedStatement ps = conn.prepareStatement("select * from 学生表 where 性别 = ?")) {
ps.setString(1, "男");
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
System.out.println(rs.getString("学号") + " " + rs.getString("姓名"));
}
}
}
// 2. 三种创建线程的方式(第10章)
new Thread(() -> System.out.println("方式一:Runnable")).start();
class MyThread extends Thread {
public void run() { System.out.println("方式二:继承 Thread"); }
}
new MyThread().start();
// 方式三:实现 Runnable 交给线程池(推荐)
ExecutorService pool = Executors.newFixedThreadPool(2);
pool.submit(() -> System.out.println("方式三:线程池"));
pool.shutdown();
// 3. TCP 客户端(第11章)
try (Socket socket = new Socket("127.0.0.1", 8888);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
out.println("hello server");
System.out.println("服务端回复:" + in.readLine());
}
提示这些方法都来自课件里的章节;记不住方法名时,用 IDE 的自动补全(输入对象名加 . 就弹出列表)比背更快。