输出
println是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用print():
输入
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象
System.out.print("Input your name: "); // 打印提示
String name = scanner.nextLine(); // 读取一行输入并获取字符串
System.out.print("Input your age: "); // 打印提示
int age = scanner.nextInt(); // 读取一行输入并获取整数
System.out.printf("Hi, %s, you are %d\n", name, age); // 格式化输出
}
}
Java提供的输出包括:System.out.println() / print() / printf(),其中printf()可以格式化输出;
Java提供Scanner对象来方便输入,读取对应的类型可以使用:scanner.nextLine() / nextInt() / nextDouble() / …
if判断
要注意浮点数判断相等不能直接用==运算符;
引用类型判断内容相等要使用equals(),注意避免NullPointerException。
还可以把一定不是null的对象"hello"放到前面:例如:if ("hello".equals(s)) { … }。
switch多重选择
switch语句可以做多重选择,然后执行匹配的case语句后续代码;
switch的计算结果必须是整型、字符串或枚举类型;
注意千万不要漏写break,建议打开fall-through警告;
总是写上default,建议打开missing default警告;
从Java 13开始,switch语句升级为表达式,不再需要break,并且允许使用yield返回值。
遍历数组
for each循环
注意:在for (int n : ns)循环中,变量n直接拿到ns数组的元素,而不是索引。
显然for each循环更加简洁。但是,for each循环无法拿到数组的索引,因此,到底用哪一种for循环,取决于我们的需要。
使用for each循环打印也很麻烦。幸好Java标准库提供了Arrays.toString(),可以快速打印数组内容:
多维数组
二维数组就是数组的数组,三维数组就是二维数组的数组;
多维数组的每个数组元素长度都不要求相同;
打印多维数组可以使用Arrays.deepToString();
最常见的多维数组是二维数组,访问二维数组的一个元素使用array[row][col]