一.快读
(1).StreamTokenizer类(可以读数字,一个字符串)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
public class Main{
public static void main(String[] args) throws IOException {
StreamTokenizer sc = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
//读数字 sc.nval (nval读取double类型)
sc.nextToken(); //代表输入,遇到空格键,Enter键,Tab键结束一次输入
int n = (int) sc.nval; //将输入的数据(double型)转化成(int型)(每输入一次转化一次).
int[] a = new int[n];
for(int i = 0; i < n; i++ ){
sc.nextToken();
a[i] =(int) sc.nval;
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
//读一个字符串 sc.sval (sval读取字符串)
sc.nextToken(); //表示输入
String s = sc.sval; //读一个字符串 当输入为:awf wf 输出为:awf
System.out.println(s);
}
}
(2).字符串读入(读一行字符串)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
String s = sc.readLine(); //字符串读一行
System.out.println(s);
}
}
二.快写(PrintWriter类)
将System.out替换成对应的快输出的实例对象名即可,就是记得最后要利用flush()关闭一下,要不会没有输出
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
StreamTokenizer sc = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); //快读
PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))); //快写
//读数字 sc.nval (nval读取double类型)
sc.nextToken(); //代表输入,遇到空格键,Enter键,Tab键结束一次输入
int n = (int) sc.nval; //将输入的数据(double型)转化成(int型)(每输入一次转化一次).
//读字符串
sc.nextToken();
String s = sc.sval;
pw.println(n);
pw.println(s);
pw.flush(); //关闭
}
}