不同于面向过程中有直接的输入输出函数,Java中的输入输出只能通过类来实现。
比较常见的一种是使用Scanner类
- 需要引入java.util包,即在文件开始加上语句
import java.util.*
; - 创建Scanner类对象,属于标准输入流。 例如
Scanner s=new Scanner(System.in);
- 使用next()方法读入,
nextInt()
用于读入整数,nextLine()
用于读入一行字符串,nextDouble()
读入双精度浮点数,next()
读入字符串(以空格或者换行符作为分隔符) - 需要注意的是
nextLine()
的吃空格现象,即如果该行只剩下一个换行符nextLine()
仍然会读入,只是内容为空,在多个读入以及和nextInt()
等混合使用的时候就会出现问题。为了避免这种情况在不必要的情况下尽可能的使用next()
而不是nextLine()
,如果非要使用的话就必须手动的在其他不会换行的输入后面加上一个sc.nextLine();
吃掉回车以正确输入。
输出一般使用System.out.print()
,传入的参数是对应的字符串,字符串之间用+连接,就算是其他类型也可以当作字符串(具体见样例)。如果要输出以后换行就用System.out.println()
;
也可以用System.out.printf()
,这种输出方式和C语言的输出相同
例如:
import java.util.*;
public class Test()
{public static void main(String[] args){Scanner sc=new Scanner(System.in);System.out.print("输入你的名字"); String name=sc.nextLine();System.out.print("输入你的年龄"); int age=sc.nextInt();System.out.print("输入你的成绩"); double score=sc.nextDouble();System.out.println("姓名:"+name+" 年龄:"+age);sc.close(); //如果没有关闭Scanner对象将会出现警告}
}