一、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
总结
到此这篇关于Java中Scanner用法实例解析的文章就介绍到这了,更多相关Java中Scanner用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!