其实上图的意思就是,比如:nextlnt():只读取int值,就是只能读取整数类型的数据,如果输入了非整型的数据(浮点型字符串等)就会报错。
nextFloat()、nextDouble()这些也是以此类推,只能读取符合该类型的数据。
此处重点讲一下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.1415925Scanner类的常用方法2
里面的hasNextInt()方法意思为判断输入的是否为一个整型,输入为整型则true,否则为false
- 返回指定索引处的char值:charAt()
- 转成Sring类型:
- toString():必须保证object对象不为null,否则报错
- String:
- String.valueOf():不用担心object对象为null,因为当它为null时,它返回的是字符串null
- 截取字符串中的一段字符串:subString()
- subString(int beginIndex):截取从首字母开始,长度为beginIndex的字符串,将剩下的留下
- subString(int beginIndex,int endIndex):截取从beginIndex开始至endIndex结束时的字符串



