A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 0825梁磊 中级黑马   /  2015-9-10 13:04  /  480 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Scanner
       (1)JDK5以后出现的用于键盘录入数据的类。
       (2)基本格式:
导包
imort java.util.Scanner;
创建一个键盘输入的数据对象
Scanner sc = new scanner(System.in);
定义一个变量x来获取输入的数据
int x = sc.nextInt();
(3)关于System.in这个东西
首先判断出System是一个类,in这是一个static修饰的变量
通过查看System这个类发现in这个变量publicstatic final InputStream in
其次判断出in的类型是InputStream,System直接调用变量in可以用如下方式接收
InputStream is = System.in;
              最后得出使用的Scanner的构造方式如下:
       (4)基本方法格式:
              hasNextXxx() 判断是否是某种类型的元素
              nextXxx()       获取该元素
用int类型举例
public boolean hasNextInt()
public int nextInt()
★Xxx处可以是Byte Boolean Double Long Short Float Line
       (5)要掌握的两个方法
              public int nextInt()
例如int a = sc.nextInt();
              public String nextLine()
例如String s = sc.nextLine();
       (6)需要注意的小问题
              A:同一个Scanner对象,先获取数值,再获取字符串会出现一个小问题
              B:解决方案:
                     a:重新定义一个Scanner对象
                     b:把所有的数据都用字符串获取,然后再进行相应的转换

6 个回复

倒序浏览
第六点小问题曾经让我吃瘪了。。。
回复 使用道具 举报
写的太及时了,顶一个
回复 使用道具 举报
很好的习惯哇  可以留着以后看
回复 使用道具 举报
我晕,到现在我都还在用bufferedReader buf = new BufferedReader(new InputStreamReader(System.in));这样的方法获取数据!!!!我看得资料到底是啥年代的啊!!!
回复 使用道具 举报
哈哈 楼上
回复 使用道具 举报
阮文江 发表于 2015-9-10 21:15
我晕,到现在我都还在用bufferedReader buf = new BufferedReader(new InputStreamReader(System.in));这样 ...

哈哈,都差不多
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马