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自学笔记(三)——输入,布布扣,bubuko.com

时间: 2024-10-10 09:42:22

Java自学笔记(三)——输入的相关文章

Java自学笔记(四)—— 集合类总结

今天来总结总结Java集合类.集合类又叫容器类,它封装了很多我们学过的数据结构,这些现成的集合类,实现了各种操作,使用起来非常方便,今天的总结也是以代码为主. 集合大致分为Set.List.Map三种体系.但实际上Java集合类主要由两个接口派生而出,Collection接口和Map接口. Collection接口的子接口: 1.Set,无序,元素不可重复 2.Queue 队列 3.List,有序,元素可以重复 一个个来细说,Set,可以想像成是一个大箱子,里面的东西是无序的,但是有一个条件就是

Java自学笔记(一)

假期重新拾起Java来学,先是拿来<Think in Java>看,但不幸的是,那本书真心有点生涩乏味.于是上豆瓣寻找到一本李刚老师写的<疯狂Java讲义>,这几天看了一百来页,来总结总结.网上对于此书的评论,捧的大致上说这本书相对于国外教材来说,语言贴近中国人思维,容易理解,而且内容翔实:批的说这本书太罗嗦,让人捉不到重点.实际上,就我这几天的阅读看来,这本书是非常适合我的,在细节方面的解释,以及在底层原理的揭示,在我看来,正是学习一门新语言不可或缺的东西. 对于像我这样从汇编语

Java自学笔记(第二天)

Java语言基础组成: (1)关键字:被赋予特殊含义的单词,main不是关键字 (2)标示符:程序中自定义的一些名称,自定义名称,由26个字母大小写,数字0-9,_$组成,数字不可以开头,不可以使用关键字,Java中严格区分大小写,在起名字时,为了提高阅读性,要尽量有意义.包名,所有字母都小写.类名和接口名,所有单词的首字母大写.变量名和函数名,第一个单词首字母小写,第二个单词开始每个单词首字母大写.常量名,所有字母都大写. (3)注释:单行,多行,文档(Java特有) (4)常量:常量表示不能

Java 自学笔记-基本语法2-从控制台接收输入字符及scanner.nextLine

Scanner 类封装了输入流对象,并使用nextLine()方法输入流中获取用户输入的整行文本字符 package hahaa; import java.util.Scanner; public class ha { public static void main (String[] args) { Scanner scanner =new Scanner(System.in); System.out.println("请输入你的想输入的数字"); String line = sca

Java自学笔记(第三天)-while循环-do while循环-for循环-函数-函数重载

(1)while循环,do while循环:的区别,while是先判断条件,再执行语句. do while是先执行一遍语句,再判断条件. while(循环条件表达式){                do{ 执行语句:                           执行语句: }                                              }while(循环条件表达式); (2)for循环: for(初始化表达式:循环条件表达式:循环后的操作表达式){ 执行语

Java自学笔记(二)

这几天学的内容真是很有料,Java这门语言的核心设计思想,开始慢慢揭开面纱. 话说回来,这两天在看<疯狂Java讲义>的时候,偶尔会对一些问题产生疑惑,而这时候我重新拿起了<Thinking in Java>,我发现这本书现在对我来说,当作一本参考式的资料还是非常不错的,因为里面的内容,真的太丰富了,而且原理级的内容也讲的很到位,打算看完<疯狂>,再把<Thinking in Java>过一遍. static关键字: 好吧,先说为什么会出现这样的东西.我们说

JAVA学习笔记(三十四)- 字节打印流 PrintStream

PrintStream字节打印流 import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintStream; import java.io.PrintWriter; import java.io.Reader; /* * Pri

JAVA学习笔记(三十二)- 字符流 FileReader &amp; FileWriter

标题 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream;

JAVA学习笔记(三十五)- 随机读写文件 RandomAccessFile

RandomAccessFile类 /* * RandomAccessFile类,随机读写文件 * * 数据分段要有规律,每段大小相等,可以将每段数据设置为较大的值,足以存在每一个段的数据 * */ public class Test04 { public static void main(String[] args) throws IOException { //writeFile(); readFile(); } // 写入数据 public static void writeFile()