Scanner的next与nextLine
Scanner 是使用分隔符将输入的内容分为一个个标记token,默认的分隔符是空格。可以使用各个next方法,将token转成需要的内容格式并返回。
next 找到下一个完整的标记token,并返回
nextLine 以行分隔符作为分隔符,会把行分隔符之前的内容作为token返回。
通过Scanner获取一个字符
Scanner没有获取字符的方法,无法直接获取字符。
解决办法是先获取字符串,然后把字符串转成字符。
例1:
Scanner scan = new Scanner(System.in);
char ch = scan.nextLine().charAt(0);
例2:
Scanner scan = new Scanner(System.in);
String[] s = scan.nextLine().toCharArray();
char ch = s[0];
hasNext、hasNextLine、hasNextInt
hasNext
如果此扫描器的输入中还有token,则返回true。
hasNextLine
如果此扫描器的输入中有另一行,则返回true。
hasNextInt
当且仅当此扫描程序的下一个token是有效的int值时才返回true。
\n \r \t
\t 相当于tab,缩进。
\n 换行符,使光标定位到下一行。
\r 使光标回到当前行的行首。如果之前该行有内容,则会被覆盖。
使用来格式化输出的,如:
System.out.printf(“11111\t2222222”);
上面的输出的效果就是在11111与222222之间有一个TAB的空白。
System.out.printf(“11111\n2222222”);
上面的输出的效果就是输出11111后换行再输出222222。
System.out.println(“11111111\r2222”);
上面的输出的效果就是在输出11111111后,来到这一行的行首,再输出2222,并且把原来的11111111覆盖掉。
System.out.println("11111\t2222222");
System.out.println("--------------");
System.out.println("11111\n2222222");
System.out.println("--------------");
System.out.println("11111111\r2222");