控制台输出Scanner和BufferedReader区别
Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键 时,Scanner就会返回下一个输入. 当你输入的内容中间包括空格时,显然,使用Scanner就不能完整的获得你输入的字符串。
但是nextline来获取完整输入
package AA;
import java.util.Scanner;
public class Io数据流 {
public static void main(String[] args) {
Scanner de=new Scanner(System.in);
System.out.println("第一个数据(next)");
String dee=de.next();
System.out.println(dee);
}
}
结果:

很明显,后面的321没有输出
完整的输出:nextLine();、BufferedReader
它们都是固定的格式,只要运用正确,出来enter外所有字符都能输出。
1,nextLine();---方法
package AA; import java.util.Scanner; public class Io数据流 { public static void main(String[] args) { Scanner de=new Scanner(System.in); System.out.println("第二个数据(nextLine)"); String dee1=de.nextLine(); System.out.println(dee1); } }
结果:

此外,还有其他常用的Scanner方法:
next():取得一个字符串;
nextInt():将取得的字符串转换成int类型的整数;
nextFloat():将取得的字符串转换成float型;
nextBoolean():将取得的字符串转换成boolean型;
2,BufferedReader
BufferedReader de=new BufferedReader(new InputStreamReader(System.in));
步骤:
1,方法必须抛出异常
2,写上固定格式,赋值
3,输出字符:
package AA; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Io数据流 { public static void main(String[] args) throws IOException { char c; BufferedReader de=new BufferedReader(new InputStreamReader(System.in)); System.out.println("输入字符, 按下 'q' 键退出。"); // 读取字符 do { c = (char) de.read(); System.out.print(c); } while (c != 'q'); } }
上面是利用循环,根据单个字符来输出
方法二:推荐
package AA; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Io数据流 { public static void main(String[] args) throws IOException { BufferedReader de=new BufferedReader(new InputStreamReader(System.in)); String dee=de.readLine(); System.out.println(dee); } }
Java各种个人笔记

浙公网安备 33010602011771号