Java 实例
字符串、数组、时间、文件等常见任务的实用代码片段。
Java 字符串
Strings are the most-used type. Reverse with StringBuilder.reverse, test emptiness with isEmpty / isBlank, and always compare content with equals.
public class StringExample {
public static void main(String[] args) {
String s = "Hello";
System.out.println(new StringBuilder(s).reverse());
System.out.println(s.charAt(0));
System.out.println(s.substring(1, 3));
System.out.println(s.toUpperCase());
System.out.println("".isEmpty());
System.out.println(" ".isBlank());
}
}olleH
H
el
HELLO
true
trueJava 数组
Array staples: max/min, sum, sort, search and converting to a list. Arrays and Collections cover almost everything without hand-written loops.
import java.util.Arrays;
public class ArrayExample {
public static void main(String[] args) {
int[] a = {5, 2, 9, 1};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
System.out.println(a[a.length - 1]);
System.out.println(Arrays.stream(a).sum());
System.out.println(Arrays.binarySearch(a, 5));
}
}[1, 2, 5, 9]
9
17
2Java 时间处理
Handle time with java.time: now, format, shift, measure gaps. Avoid Date and Calendar — mutable and not thread-safe.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class TimeExample {
public static void main(String[] args) {
LocalDate a = LocalDate.of(2024, 1, 1);
LocalDate b = LocalDate.of(2024, 12, 31);
System.out.println(a.format(DateTimeFormatter.ofPattern("yyyy/MM/dd")));
System.out.println(a.plusMonths(1));
System.out.println(ChronoUnit.DAYS.between(a, b));
System.out.println(b.getDayOfWeek());
}
}2024/01/01
2024-02-01
365
TUESDAYJava 文件操作
Small files: Files.readString / writeString in one line. Line-based: Files.readAllLines. Large files: stream with Files.lines.
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
public class FileExample {
public static void main(String[] args) throws Exception {
Path p = Path.of("example.txt");
Files.writeString(p, "a\nb\nc\n");
System.out.println(Files.readString(p).lines().count());
Files.write(p, List.of("x", "y"));
System.out.println(Files.readAllLines(p));
System.out.println(Files.exists(p));
}
}3
[x, y]
true打印图形
Nested loops printing shapes is the classic control-flow drill. The outer loop is rows, the inner one spaces and symbols; find the row-to-count rule and the code follows.
public class Pyramid {
public static void main(String[] args) {
int n = 4;
for (int i = 1; i <= n; i++) {
for (int s = 0; s < n - i; s++) {
System.out.print(" ");
}
for (int k = 0; k < 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
}
} *
***
*****
*******Java 字符串
字符串是日常用得最多的类型。反转用 StringBuilder.reverse,判断空用 isEmpty / isBlank,比较内容永远用 equals。
public class StringExample {
public static void main(String[] args) {
String s = "Hello";
System.out.println(new StringBuilder(s).reverse());
System.out.println(s.charAt(0));
System.out.println(s.substring(1, 3));
System.out.println(s.toUpperCase());
System.out.println("".isEmpty());
System.out.println(" ".isBlank());
}
}olleH
H
el
HELLO
true
trueJava 数组
数组的常见操作:求最大最小、求和、排序、查找、转列表。Arrays 和 Collections 覆盖了绝大多数需求,不用手写循环。
import java.util.Arrays;
public class ArrayExample {
public static void main(String[] args) {
int[] a = {5, 2, 9, 1};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
System.out.println(a[a.length - 1]);
System.out.println(Arrays.stream(a).sum());
System.out.println(Arrays.binarySearch(a, 5));
}
}[1, 2, 5, 9]
9
17
2Java 时间处理
用 java.time 处理时间:取当前时间、格式化、加减、计算间隔。不要再用 Date 和 Calendar,它们可变且线程不安全。
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class TimeExample {
public static void main(String[] args) {
LocalDate a = LocalDate.of(2024, 1, 1);
LocalDate b = LocalDate.of(2024, 12, 31);
System.out.println(a.format(DateTimeFormatter.ofPattern("yyyy/MM/dd")));
System.out.println(a.plusMonths(1));
System.out.println(ChronoUnit.DAYS.between(a, b));
System.out.println(b.getDayOfWeek());
}
}2024/01/01
2024-02-01
365
TUESDAYJava 文件操作
小文件用 Files.readString / writeString 一行搞定;按行处理用 Files.readAllLines;大文件用 Files.lines 流式读取。
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
public class FileExample {
public static void main(String[] args) throws Exception {
Path p = Path.of("example.txt");
Files.writeString(p, "a\nb\nc\n");
System.out.println(Files.readString(p).lines().count());
Files.write(p, List.of("x", "y"));
System.out.println(Files.readAllLines(p));
System.out.println(Files.exists(p));
}
}3
[x, y]
true打印图形
用嵌套循环打印图形是练习循环控制最经典的方式。外层控制行、内层控制每行的空格与符号,找到「行号 → 数量」的规律就能写出来。
public class Pyramid {
public static void main(String[] args) {
int n = 4;
for (int i = 1; i <= n; i++) {
for (int s = 0; s < n - i; s++) {
System.out.print(" ");
}
for (int k = 0; k < 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
}
} *
***
*****
*******