Java 控制台输入输出
Java输入输出
控制台输入
使用 java.util 包中的Scanner类进行输入
要使用它,在构造 Scanner 对象时,需要将其与“标准输入流” System.in 关联
Scanner 的构造与其方法:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in); // 构造Scanner对象并与标准输入流 System.in 关联
// 区别于从控制台输入,在文件输入的操作中,Scanner对象要与一个 File 对象关联并指定字符集编码
String str = in.next(); // 读取输入的下一个单词(用空格作为分隔符的单词)
char c = in.next().charAt(0); // 读取char字符
String strLine = in.nextLine(); // 出去输入的下一行内容
int d = in.nextInt(); // 读取并转换下一个表示整数或浮点数的字符序列
int lf = in.nextDouble();
boolean flag0 = in.hasNext();
boolean flag1 = in.hasNextInt();
boolean flag2 = in.hasNextDouble(); // 检测是否还有表示整数、浮点数或其他单词的下一个字符序列
}
}
控制台输出
使用标准输出流 System.out 的方法进行输出
java 实现了和 **c **一样的 printf 标准输出方法
// java.lang包下的所有类、方法可以不用import. language是基本包
public class Main {
public static void main(String[] args) {
int zhengshu = 53;
System.out.println("在控制台换行输出");
System.out.print("不换行输出");
System.out.printf("格式化输出,可以使用格式化方法,下面一个数字是整数 %d \n", zhengshu);
}
}
使用Scanner类进行控制台输入实际上进行了一层正则化解析、封装。
例如 nextInt()、nextDouble()方法,不用进行强制类型转换,自动的从输入字符序列中将字符序列转换为int或double类型。
故而其速度是相当慢的。
要解决一些算法题,需要使用到 java.io包下的 BufferedReader 类。