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

本回主要内容是输入,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自注三进入的更多相关文章

  1. Java实习生常规技术面试题每日十题Java基础(三)

    目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...

  2. java面向对象(三)

    java面向对象(三) 1.四种权限修饰符 public > protected > (default) > private 注意:(default)并不是关键字default,而是 ...

  3. Hibernate 系列 07 - Hibernate中Java对象的三种状态

    引导目录: Hibernate 系列教程 目录 1. Java对象的三种状态 当应用通过调用Hibernate API与框架发生交互时,需要从持久化的角度关注应用对象的生命周期. 持久化声明周期是Hi ...

  4. 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题

    调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...

  5. Hibernate中Java对象的三种状态

                                                                                     Hibernate中Java对象的三种 ...

  6. Java设计模式(三) 抽象工厂模式

    原创文章,同步发自作者个人博客,转载请注明出处 http://www.jasongj.com/design_pattern/abstract_factory/ 抽象工厂模式解决的问题 上文<工厂 ...

  7. Java进阶(三)多线程开发关键技术

    原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...

  8. Java多线程的三种实现方式

    java多线程的三种实现方式 一.继承Thread类 二.实现Runnable接口 三.使用ExecutorService, Callable, Future 无论是通过继承Thread类还是实现Ru ...

  9. OID,主键生成策略,PO VO DTO,get和load区别,脏检查,快照,java对象的三种状态

    主键生成策略 sequence 数据库端 native 数据库端 uuid  程序端 自动赋值 生成的是一个32位的16进制数  实体类需把ID改成String 类型 assigned  程序端 需手 ...

随机推荐

  1. 轻量级数据sqlite的C++调用示例

    原文地址:http://www.cnblogs.com/kfqcome/archive/2011/06/27/2136999.html #include "stdafx.h" #i ...

  2. ORACLE的执行计划

    转自:http://www.cnblogs.com/lovingprince/archive/2007/12/07/2166400.html 背景知识:        为了更好的进行下面的内容我们必须 ...

  3. 安装 unixbench 报错解决方法

    一.准备工作 1.首先使用root用户登陆. 2.运行Unixbeanch需要GCC的支持,在安装Unixbeanch之前,需要先安装GCC,在Debian中,直接执行如下命令: 复制代码 代码如下: ...

  4. ASP.NET MVC 5 学习教程:添加验证

    原文 ASP.NET MVC 5 学习教程:添加验证 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...

  5. ASP.NET MVC 5 学习教程:修改视图和布局页

    原文 ASP.NET MVC 5 学习教程:修改视图和布局页 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...

  6. xcode生成的IOS安装文件的位置

    通过xcode生成可以在IOS系统下运行的文件的具体设置: 1.首先,需要有相应的程序,并且在mac下的xcode编译后,能够在模拟器中完美运行. 2.单击xcode,打开Xcode > Pre ...

  7. 基于visual Studio2013解决C语言竞赛题之0422牛顿迭代法

      题目

  8. POJ2485——Highways

    Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public h ...

  9. Android新增API之AudioEffect中文API与应用实例

    在Android2.3中增加了对音频混响的支持,这些API包含在android.media.audiofx包中. 一.概述 AudioEffect是android audio framework(an ...

  10. Repeater控件

    一:http://www.cnblogs.com/foolin/archive/2011/08/31/2161342.html 二:http://www.cnblogs.com/shipfi/arch ...