Scanner 在java.util包中,需要引入时可以用import java.util.*;或者import java.util.Scanner;

工作原理:通过new创建一个Scanner对象,Scanner需要传入一个System.in作为参数,这个我们可以看作是Scanner通过其内部机制将System.in包装起来而实现数据的读取工作的。Scanner对象通过一系列的in.nextXxx();方法来读取相应的基本类型的数据,通过in.hasNextXxx();方法来判断是否还有下一个数据。 然而,Scanner读取数据是按空格符,这其中包括空格键,Tab键,Enter键。只要遇到其中之一,Scanner的方法就会返回下一个输入 ,这也就是我们会面临的另一个问题,当我们的输入数据中有空格时,我们就不会得到我们想要的数据,这样我们就要考虑到BufferReader来读取数据啦!

实际程序:

1 import java.util.Scanner;
2 public class ScannerTester{
3 public static void main(String[] args){
4 System.out.print("please input the name:");
5 Scanner scanner = new Scanner(System.in);
6 String name = scanner.nextLine();
7 System.out.println(name);
8 }
9 } 

  

BufferReader位于java.io包中,需要引入时可以用import java.io.*;或者import java.io.BufferedReader;。

使用BufferReader就相对来说没有那么多方法来让你选择,读取数据比较固定,这样格式也就相对来说比较单一,只要记住就这一读取数据的方法。BufferReader br = new BufferReader(new InputStreamReader(System.in));。这个BufferReader对象通过readLine();方法来读取数据,readLine()是按Enter回车来读取一行数据的,只要在回车键之前的都会被readLine();方法返回, 然而,要使用BufferReader输入一些字符之外的类型的数据,就要相对比较麻烦,需要通过一些XXXX.parseXxx();来转换相应的数据类型,虽然,麻烦一些,但通过在一些OJ系统上的和Scanner作对比,BufferReader的效率要比Scanner高一倍,这个差距可想而知,读取的数据越多,效果就越明显。

实际程序:

import java.io.BufferedReader;
public class BufferedReaderTester{
public static void main(String[] args){
System.out.print("please input the adress:");
BufferedReader bufferedReader1 = new BufferedReader(new InputStreamReader(System.in));
String adress = bufferedReader1.readLine();
System.out.println(adress);
}
}

  

 

转载于:https://www.cnblogs.com/starainDou/p/4691061.html

java中输入方式Scanner和BufferedReader相关推荐

  1. java中GET方式提交和POST方式提交

    java中GET方式提交的示例: /*** 获取关注列表;* @return*/@SuppressWarnings("unchecked")public static ArrayL ...

  2. java中输入的程序_Java中输入的用法

    Java中输入 1. 读取输入 1)构建一个Scanner,附属到System.in Scanner in = new Scanner(System.in); 此时可以使用Scanner类的各种方法来 ...

  3. 如何 在java中输入字符

    import java.util.Scanner;public class Demo {public static void main(String[] args) {Scanner sc = new ...

  4. Java:Java的输入类Scanner

    对于c语言来说,输入是scanf(); 对于Java来说,有个类叫Scanner,可以把它理解成系统里面有个这样的结构体,结构体里面实现了一些函数让你用. 结构体要定义出来一个变量. 你单单这样写是没 ...

  5. java中输入char类型_java中如何输入char类型

    java中基本数据类型的输入包括整形的输入:in.nextInt();单精度浮点型:in.nextFloat();双精度浮点型:in.nextDouble();字符串类型:in.next();in.n ...

  6. java中输入日期_Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  7. java中输入语句是怎么写的

    java中用户输入语句的写法是: 1.[Scanner sc = new Scanner(System.in); ]: 2.[String input = sc.next();]. (视频教程推荐:j ...

  8. J2EE (十) Java中多种方式实现单例模式

    简介 "单例"即单一实例从名字上望文生义即可知道该类是做什么的,可见设计模式的名字也是很重要的,让人通过名字就能知道模式的用途,通用性强我们再命名自己的模式.函数.过程等时候也要遵 ...

  9. java中改进方式遍历数组

    public class Array_for { public static void main(String[] args) {int a[]= {1,2,4,5};for(int i:a) { / ...

最新文章

  1. include_once 问题
  2. RedHat企业版的安装(一)
  3. bootstrap项目实例_精选开源SpringBoot项目:涵盖权限、搜索、秒杀、支付!值得学习...
  4. 基于前后端分离实现阿里云对象存储小案例
  5. vux Cell组件
  6. [Web开发] MySpace 发布开发接口
  7. 战神II导演 首席程序员访谈(转自www.npc6.com )
  8. 使用零代码平台构建应用,应该怎样转变思路?
  9. linux6.5安装oracle,linux [CentOS 6.5]下安装oracle
  10. iOS: 属性声明strong和retain竟然不一样
  11. 牛客21781 牛兄牛弟
  12. 破解面试难题8个角度带你解读SQL面试技巧!
  13. vue host配置_从零开始部署一个 vue 项目
  14. 2019人工智能写作软件
  15. 电脑突然调节不了亮度?让我教你来恢复
  16. macOS配置Android SDK 环境变量
  17. html5 保存页面为pdf,如何在PyQt5中将HTML页面保存为PDF
  18. 服务器价格指导 7月四路机架产品选购
  19. 【致远FAQ】A6+Cloud__V1.0_A6+cloud的M3端地址保存提示:not found
  20. iOS7—Day by day—Day16:Decoding QR Codes With AVFoundation

热门文章

  1. 4 5区别 angular 和_初探Angular的更新机制
  2. python3虚拟环境不带任何模块_Python3虚拟环境-不存在的包
  3. webtop搭建简单知识库粗略介绍
  4. 页面跳转与重定向(之二)
  5. python和什么语言类似_python与其他语言的对比
  6. php调用好单库api视频教程,[8.1]-PhalApi视频教程 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
  7. 安装多个mysql及mysql服务
  8. 某学校新买了一批计算机,2020年度初中信息技术考试选择题.doc
  9. oracle中pga指什么,oracle中pga内存分配原则
  10. 基于matlab的2ask频带传输系统仿真与性能分析,基于MATLAB的2ASK频带传输系统仿真与性能分析汇总...