Scanner 扫描器 (理解)
创建:
Scanner scanner = new Scanner(System.in);
方法:
int nextInt()
-- 将输入信息的下一个标记扫描为一个 int。
如果输入非int类型的值,就会报:输入匹配异常 -- java.util.InputMismatchException
String nextLine()
-- 此扫描器执行当前行,并返回输入的整行的信息。
String next()
-- 查找并返回来自此扫描器的下一个完整标记。
next() 和 nextLine() 区别:
next()会将空格键、Tab键或Enter键等视为分隔符或结束符,不能得到带空格的字符串。
nextLine()仅将Enter键作为结束符,返回Enter键前的所有字符,可以得到带空格的字符串。
遇到问题:
先输入int类型,再输入String类型,并分别用nextInt()和nextLine()接收,将接收不到String。
原因:
nextLine()捕捉到了回车换行符"\r\n"。
解决方案:
1)每次获取重新创建一个Scanner对象。
2)全部用nextLine接收成String类型,然后将字符串类型转换成int类型。
String类 (掌握)
1、定义
由字符组成的序列。
2、构造方法
A: String s = new String();
-- 空字符序列
B: String s = new String(byte[] bys);
-- 使用平台的默认字符集解码指定的 byte 数组,构造一个 String。
C: String s = new String(byte[] bys, int index, int length);
-- 使用平台的默认字符集解码指定的 byte 数组,构造一个 String。从索引为 index 处开始,截取长度为 length。
如果参数 index 或者 length 超出数组范围,报出:java.lang.StringIndexOutOfBoundsException
D: String s = new String(char[] chs);
-- 使用字符数组中包含的字符序列,构造一个 String。
E: String s = new String(char[] chs, int index, int length);
-- 使用字符数组中包含的字符序列,构造一个 String。从索引为 index 处开始,截取长度为 length。
如果参数 index 或者 length 超出数组范围,报出:java.lang.StringIndexOutOfBoundsException
F: String s = new String(String str);
G: String s = "hello"; |
|