1、理解system.in和system.out
- system.in是Inputstream类实现的标准输入流
- system.out是outputstream类实现的标准输出流
2、理解scanner
- Scanner是一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串
Scanner sc = new Scanner(system.in) //从标准的Inputstream中获取输入
3、理解scanner方法中的hasNextXXX()和next()
- sc.hasNext()用来判断下一个内容是不是字符串,返回值为boolean类型
- sc.next()用来获取用户的输入
- sc.hasNextXXX()的XXX可以是Int、Double、Long,返回值为boolean类型
- sc.nextXXX()也是用来获取用户的输入
总结:hasnext()用来判断,返回值为boolean类型;next()用来获取用户的输入
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
System.out.println(sc.next());
}
}
}
4、区分hasNext()和hasNextLine()、next()和NextLine()
- sc.hasNextLine()是只以回车分割分作为一个字符串的结束
- sc.nextLine()读取以回车结束的一个字符串
- sc.hasNext()是以空格、回车等分隔符作为一个字符串的结束
- sc.next()读取以空格、回车等结束的一个字符串
class TestLine{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
}
}
class Test{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
System.out.println(sc.next());
}
}
}
5、System.out控制输出格式
int var, var2;
system.out.println(var); //println输出变量 并将光标移到下一行
system.out.printf("%5d",var); //printf控制变量输出格式。注意输出格式应与变量类型一致,如%d对应的是Int类型
system.out.printf("%5d %5d", var,var2); //感觉和c语言printf输出格式控制是一样的
控制输出格式引用出处:https://blog.csdn.net/quhongjuan12/article/details/79781101