第三讲:输入和输出
Java中的输入和输出是用户可以直观的和程序进行交互的一种方式。
所谓输出就是程序打印信息,比如打印计算结果到控制台显示;输入就是用户手动提供给程序某些数据,比如根据程序提示从控制台输入数字或字符串等。
输出
Java中的输出需要依靠System类,该类由Java类库提供且无需我们导入其依赖包,因为该类在java.lang包下,所有Java程序都是默认导入了此包(什么是导包在下面扩展中有介绍)。具体输出方式有以下三种。
java">示例:
System.out.print("第一种方式");
System.out.printf("%s", "第二种方式");
System.out.println("第三种方式");
- print()方式输出是最简单的输出方式,直接输出想要打印的信息,输出后不会自动换行。
- printf()方式输出类似于C/C++的输出方式,这是一种格式化输出,在输出信息时要在前面的参数中指定信息格式,输出后不会自动换行。例如:%d、%s等。
- println()方式输出是在第一种方式的基础上添加了自动换行,信息输出后会自动换行。(最常用的方式)
java">示例:
public class Demo {public static void main(String[] args) {System.out.print("你好,");System.out.print("朋友\n"); // 结尾手动添加换行System.out.printf("你好,我的第%d个%s\n", 1, "朋友"); // 结尾手动添加换行System.out.println("你好,"); // 结尾自动换行System.out.println("我的朋友");}
}输出:
你好,朋友
你好,我的第1个朋友
你好,
我的朋友
字面量、变量、字符串拼接等输出详解:
java">示例:
public class Demo {public static void main(String[] args) {int a = 18;double b = 1.23;System.out.println(10); // 字面量直接可以输出System.out.println(1.23);System.out.println(a); // 变量可以直接输出它的值System.out.println(b);System.out.println("我今年" + a + "岁!"); // 字符串和其它数值类型、字符串类型等直接使用加号拼接即可输出}
}输出:
10
1.23
18
1.23
我今年18岁!
扩展:导包就是将程序中需要使用到的一些已经实现好的类导入我们自己的程序中;比如我们程序中需要生成一些随机数,可以导入Java提供的Random类,然后使用它里面提供的函数生成随机数。导包的方式:import 包名.xxx.子包名.类名
java">示例:
import java.util.Random; // 程序中需要使用Random类,所以需要导包
public class Demo {public static void main(String[] args) {Random random = new Random();int res = random.nextInt(10); // 随机生成[0, 10)内的整数System.out.println(res);}
}输出:
3
输入
Java中提供了多种输入的方式,用的最多且没有之一的就是下面我介绍的这种。
使用Java提供的一个Scanner类获取用户输入的信息。使用步骤如下:
- 导入java.util.Scanner
- 创建一个Scanner对象
- 通过Scanner对象调用函数,获取用户输入的信息
- 关闭Scanner对象
java">示例:
import java.util.Scanner; // 第一步:导包
public class Demo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); // 第二步:创建对象System.out.println("请输入一个整数:");int a = scanner.nextInt(); // 第三步:获取用户输入信息System.out.println("您输入的是:" + a);System.out.println("请输入一个小数:");double b = scanner.nextDouble();System.out.println("您输入的是:" + b);System.out.println("请输入一个字符串:");String str = scanner.next();System.out.println("您输入的是:" + str);scanner.close(); // 第四步:关闭对象}
}输入:
请输入一个整数:
10
您输入的是:10
请输入一个小数:
1.23
您输入的是:1.23
请输入一个字符串:
你好,朋友
您输入的是:你好朋友
关于Scanner具体能获取哪些类型的信息我就不再一一举例了,小伙伴们可以自行了解。