常用类与方法速查

常用类与方法速查

把第5~11 章用得最多的类、方法、代码骨架集中到一页,写作业时对照着查。

String 常用方法

方法/写法作用示例
length()字符串长度s.length()
charAt(i)取第 i 个字符(从 0 开始)s.charAt(0)
substring(a, b)截取 [a, b) 区间s.substring(0, 3)
indexOf(str)查找子串第一次出现的下标,找不到返回 -1s.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()转回 Stringsb.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 按键取值,没有返回 nullmap.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)字符串 → intInteger.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()读一行,末尾返回 nullwhile ((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 的自动补全(输入对象名加 . 就弹出列表)比背更快。