public class IO {
public static void main(String[] args) throws Throwable {
ScannerTest();
// testScanner1();
// testScanner2(); // testInRead(); // testText();
} /**
* Scanner类中的方法
* 优点一: 可以获取键盘输入的字符串
* 优点二: 有现成的获取int,float等类型数据,非常强大,也非常方便;
* */
public static void ScannerTest(){
Scanner sc = new Scanner(System.in);
System.out.println("ScannerTest, Please Enter Name:");
String name = sc.nextLine(); //读取字符串型输入
System.out.println("ScannerTest, Please Enter Age:");
int age = sc.nextInt(); //读取整型输入
System.out.println("ScannerTest, Please Enter Salary:");
float salary = sc.nextFloat(); //读取float型输入
System.out.println("Your Information is as below:");
System.out.println("Name:" + name +"\n" + "Age:"+age + "\n"+"Salary:"+salary);
} /**
* 注意:看下边两个实例验证我们读入数据的时机
* 有两种方式读入数据:用回车方式分隔数据和用空格分隔数据
* 回车分隔数据时:读入数据的时机是在每次执行scanner.nextInt()时
* 空格分隔数据时:读入数据的时机是在第一次执行scanner.nextInt()时
* 然而,上述规则对读入字符串类型时是无效的,因为空格也算是字符串
* 另外,本类型不支持读取字符
*/
private static void testScanner1() {
Scanner scanner = new Scanner(System.in);
System.out.println("--1--");
int l=scanner.nextInt();
int[] num = new int[l];
System.out.println("--2--");
for(int i = 0; i<l && scanner.hasNext(); i++){
System.out.println("--3--");
num[i] = scanner.nextInt();
}
System.out.println("数组输出:" + Arrays.toString(num));
} private static void testScanner2(){
Scanner s = new Scanner(System.in);
System.out.println("--1--");
while (s.hasNext()) {
System.out.println("--2--");
int a = s.nextInt();
System.out.println("--3--");
int b = s.nextInt();
System.out.println("--4--");
System.out.println("加和:" + (a + b));
}
} /**
* System.in方法:
* 这种方法每次只能读进一个字符,即使接收类型为int型,也不能读两位以上的int类型
* 所以这种方法最合适读取字符类型,如果要读取int/float等类型,会很麻烦。局限性很大
* */
public static void testInRead() throws IOException{
char b = (char)System.in.read();
System.out.println("char类型数b:" + b);
} /**
* InputStreamReader和BufferedReader方法
* 通过输入输出流来读取键盘输入
* 此方法读取字符串功能强大
* 但是如果要编程char/int/float还需要进行强制类型转换
* */
public static void testText() throws Throwable{
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in);
String str = br.readLine();
System.out.println("str:" + str);
}
}

java键盘IO的更多相关文章

  1. java的IO流

    java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write.怎么理解记忆很重要. 直接连接读写对象的是结点流,例如对文件读取字节类的名字 ...

  2. JAVA中IO总结

    JAVA中IO流主要分为两大类: 字节流:InputStream+OutputStream 字符流:Reader+Writer 字节流: InputStream是所有字节输入流的父类 OutputSt ...

  3. Java基础——IO流

    今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...

  4. JAVA的IO运用

    IO OF JAVA想写好一篇关于JAVA的IO的文章不容易,因为它涉及的东西很多难以写得有深度和有思路.我虽不才但也写.这篇文章有我个人不少的见解,虽然涉足计算机不深但我不想用一大堆这个可能那个可能 ...

  5. 彻底明白Java的IO系统

    java学习:彻底明白Java的IO系统 文章来源:互联网 一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有 ...

  6. Java之IO流详解

    IO流 Input/Output 完成输入/输出 应用程序运行时——数据在内存中  ←→ 把数据写入硬盘(磁带)  内存中的数据不可持久保存的  输入:从外部存储器(硬盘.磁带.U盘)把数据读入内存. ...

  7. Java面向对象 IO (四)

     Java面向对象  IO  (四) 知识概要:                 (1)打印流 (2)序列流 SequenceInputStream (3)ObjectInputStream与Ob ...

  8. Java面向对象 IO (三)

     Java面向对象  IO  (三) 知识概要:                    (1)IO 流的操作规律                    (2)异常日志信息IO处理          ...

  9. Java面向对象 IO (二)

     Java面向对象  IO   (二) 知识概要:               (1)字节流概述 (2)字节流复制图片 (3)IO流(读取键盘录入) (4)读取转换流,写入转换流 字节流概述   ...

随机推荐

  1. Spring总结以及在面试中的一些问题

    Spring总结以及在面试中的一些问题. 1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建Use ...

  2. JavaScript - 异步的前世今生

    ​ 在开始接触JavaScript的时候,书上有一句话我记忆深刻,JavaScript是一门单线程语言,不管从什么途径去获取这个消息,前端开发者都会记住,哦~~,JavaScript是一门单线程语言, ...

  3. 爬取豆瓣电影Top250

    1 import json import requests from requests.exceptions import RequestException import re import time ...

  4. 『Python基础-6』if语句, if-else语句

    # 『Python基础-6』if语句, if-else语句 目录: 条件测试 if语句 if-else语句 1. 条件测试 每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为 ...

  5. python学习——面向对象的三大特性

    一.继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类. 1.python中类的继承分为:单继承和多继承 class P ...

  6. 全球订单最多的成都优步推出"南北通勤线"业务

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. 在ubuntu安装python, theano, keras , Spearmint, Mongodb

    系统配置: Ubuntu 14 (其他系统也差不多如下操作) 1. 通过anaconda安装 python 地址: https://www.continuum.io/downloads#linux 2 ...

  8. UpdateLog

    2014-10-20 增加数据适配器,使支持多数据库类型2015-01-08 增加没有主键ID的抽象类,使能自义主键字段实现MODEL 增加虚拟字段转换,将指定函数或语法转换为对象属性,灵活性更大了 ...

  9. 抓取Oracle数据快照

    进入到oracle安装目录下的admin(找到这个目录)开启cmd键入sqlplus system/mima@实例名>@awrrpt.sql Would you like an HTML rep ...

  10. 05-JVM对象探秘

    一.对象的内存布局         以Hotspot虚拟机为例,对象在内存中的结构可以分为三部分:对象头(header).实例数据(instance data).对齐填充(padding). 1.1. ...