因为最近学的内容实际操作比较多,所以新的笔记就用代码为主体吧!
本回主要内容是输入,Java中主要用Scanner类和BufferedReader。总体来说不难,但有些细节可以总结,看代码:
import java.io.*; import java.util.Scanner; public class ioTest { public static void main(String[] args) throws Exception { //Scanner提供了多种构造器,不同的构造器可以接受文件、输入流、字符串作为数据源 //用于从中提取解析出基本类型值和字符串值 //此处System.in代表键盘输入 Scanner sc = new Scanner(System.in); //默认是空格,使用正则表达式 sc.useDelimiter("\n"); //hasNextXxx(),xxx不写时,默认为字符串 //有下一项则返回true,但若没有下一项则并不一定返回false,也有可能被阻塞,此处为阻塞 while(sc.hasNext()) { //输出输入项 String next = sc.next(); if(next.equals("exit")) break; System.out.println("键盘输入的内容是"+ next); } String s = "hello cer"; Scanner ss = new Scanner(s); //此处返回false while(ss.hasNext()) { System.out.println("字符串的内容是:"+ss.next()); } //总是读取String对象 BufferedReader br = new BufferedReader (new InputStreamReader(System.in)); String line = null; while((line = br.readLine()) != null) { System.out.println("用户键盘输入是:"+ line); } } }
输出结果:
$ java ioTest
cer
键盘输入的内容是cer
exit
字符串的内容是:hello
字符串的内容是:cer
test String
用户键盘输入是:test String
正如注释写的一样,对键盘输入的Scanner的hasNext(),在没有下个token的时候,会block的特性,更加实用。
Java自学笔记(三)——输入,布布扣,bubuko.com
时间: 2024-10-10 09:42:22