1.3 输入与输出
程序需要和用户交流。最基础的交流方式就是输出(output)信息,以及从键盘读取输入(input)。
println()、print() 与 printf()
System.out.println() 会向屏幕输出文本或变量值,并自动换行。System.out.print() 不会自动换行。System.out.printf() 可以用占位符控制格式。
有些字符在程序中有特殊意义,需要使用转义字符(escape character)输出。
\\:反斜杠
\':单引号
\":双引号
\n:换行
\t:制表符
java
System.out.print("\"Hello\nWorld\"\n");运行结果:
text
"Hello
World"正在加载概念检查...
格式占位符
System.out.printf() 使用格式占位符(placeholder)把变量嵌入字符串。
%d:整数
%f:浮点数
%c:字符
%s:字符串
还可以控制输出格式,例如 %.2f 表示保留两位小数。在 Java 的格式化输出中,%n 是更通用的换行占位符。
java
int length = 10;
int width = 5;
double area = length * width;
System.out.printf("面积:%d * %d = %.2f%n", length, width, area);运行结果:
text
面积:10 * 5 = 50.00正在加载概念检查...
控制换行
println() 会自动换行。print() 和 printf() 不会自动换行,除非你自己写 \n 或 %n。
java
int num1 = 1, num2 = 2, num3 = 4, num4 = 8;
System.out.print(num1 + ", ");
System.out.print(num2 + ", ");
System.out.print(num3 + ", ");
System.out.println(num4 + "...");运行结果:
text
1, 2, 4, 8...Scanner
Scanner 可以从键盘读取文本,并把它转换成需要的值。使用它时,需要先 import java.util.Scanner,创建一个 Scanner,再调用 nextInt()、nextDouble() 等方法。
java
import java.util.Scanner;
public class CircleArea {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("半径:");
double r = input.nextDouble();
double area = 3.14159 * r * r;
System.out.printf("面积:%.2f%n", area);
}
}一次可能的运行过程:
text
半径:5
面积:78.54这里 nextDouble() 会读取一个小数,并把它保存到 r 中。
正在加载概念检查...
正在加载本节练习...
正在加载本节练习...