Java自注三进入

      由于近期学的内容实际操作比較多,所以新的笔记就用代码为主体吧!

      本回主要内容是输入,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)