Java中Scanner用法实例解析
普通网友 人气:0一、Scanner类简介
Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。
简介
Scanner类是java.util包中的一个类
作用
常用于控制台的输入,当需要使用控制台输入时即可调用这个类
二、Scanner类的用法
使用方法
1、首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联
Scanner sc=new Scanner(System.in);
2、调用Scanner类对象sc的方法从输入流中获取你需要的输入
说明:
当创建了一个Scanner类对象之后,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给对象sc,若要获取需要的内容,调用sc的方法即可
三、常用方法
1、nextInt()只读取数值,读取完后 没有读取并且光标放在本行
Scanner sc=new Scanner(System.in); int i=sc.nextInt();
每次可以只输入一个数字,回车确认,例如:“123”,只能被一个nextInt读取。
也可以输入一组数字,例如:“123 456 789”,每个数字之间用空格(一个或多个空格)隔开,可被多个nextInt()读取,空格及回车不会被读取。(注:输入数字中不能夹杂除数字、空格、回车之外的其他字符,否则会报错)
2、nextDouble()的用法同理nextInt(),注意:nextInt无法读取小数,否则会报错。
同理nextByte()nextFloat(),nextLong(),nextShot(),当某个方法读取的数字超过自身范围,则会报错。
3、next()方法遇到第一个扫描有效字符,即第一个非空格非换行符后面开始,一直获取到下一个空格,换行符之前的,单个字符串。
4、nextLine()可以扫描到一行内容(当前行,光标所在行的内容,包括空格、回车)并作为一个字符串而被获取到。
此处重点讲一下next()和nextLine()的区别
next():只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)
nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。
代码演示:
public class Text { public static void main(String []args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个字符串(中间能加空格或符号)"); String a = input.nextLine(); System.out.println("请输入一个字符串(中间不能加空格或符号)"); String b = input.next(); System.out.println("请输入一个整数"); int c; c = input.nextInt(); System.out.println("请输入一个double类型的小数"); double d = input.nextDouble(); System.out.println("请输入一个float类型的小数"); float f = input.nextFloat(); System.out.println("按顺序输出abcdf的值:"); System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(f); } }
运行结果:
请输入一个字符串(中间能加空格或符号)
我爱祖国!
请输入一个字符串(中间不能加空格或符号)
ILoveChina
请输入一个整数
520
请输入一个double类型的小数
12.26e3
请输入一个float类型的小数
3.1415926
按顺序输出abcdf的值:
我爱祖国!
ILoveChina
520
12260.0
3.1415925
总结
加载全部内容