输出到控制台
基本语法
System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出
println 输出的内容自带 \n,
print 不带 \n
printf 的格式化输出方式和 C 语言的 printf 是基本一致的.
代码示例
System.out.println("hello world");
int x = 10;
System.out.printf("x = %d\n", x)
格式化字符串
这个表格没必要记住, 用到的时候根据需要查一下就行了.
从键盘输入
使用 Scanner 读取字符串/整数/浮点数
import java.util.Scanner; // 需要导入 util 包
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法
// 执行结果
请输入你的姓名: 张三
请输入你的年龄: 18
请输入你的工资: 1000
你的信息如下:
姓名: 张三
年龄:18
工资:1000.0
使用 Scanner 循环读取 N 个数字,并求取其平均值
Scanner sc = new Scanner(System.in);
int sum = 0;
int num = 0;
while (sc.hasNextInt()) {
int tmp = sc.nextInt();
sum += tmp;
num++;
}
System.out.println("sum = " + sum);
System.out.println("avg = " + sum / num);
sc.close();
// 执行结果 10
40.0
50.5
^Z
sum = 150.5
avg = 30.1
注意事项:
hasNextInt()方法是判断控制台接收是否为数字,当你在控制台输入一个字符的时候,hasNextInt()判断你输入这个字符是不是数字,而不是接收值,当(if/while)判断通过之后执行接收,也就是你输入的那个字符,所以说hasNextInt()只起到判断作用而不是接收数据。
当循环输入多个数据的时候, 使用 ctrl + z 来结束输入 (Windows 上使用 ctrl + z, Linux / Mac 上使用 ctrl + d).