文章目录
Scanner对象
之前我们学的基本语法中我们并没有实现程序和人的交互,但是 Java 给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。
创建 Scanner 对象的基本语法:
Scanner s = new Scanner (system.in)
通过 Scanner 类的 next()
与 nextLine()
方法获取输入的字符串。
在读取前我们一般需要使用 hasNext()
与 hasNextLine()
判断是否还有输入的数据。
next() 与 nextLine()
- next():
1、一定要读取到有效字符后才可以结束输入。
翻译:必须输入,否则程序就不停止
2、对输入的有效字符之前遇到的空白,next() 方法会自动将其去掉
举例:对于
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
翻译:如果字符串后面有空格,则后面的空格表示结束。
4、next() 不能得到带有空格的字符串。
翻译:字符串前的空格去掉,字符串后有空格结束程序。
- nextLine():
1、以Enter(回车)为结束符。
翻译:nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白
next() 与 nextLine()举例
next():
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接受:");
String str = scanner.next(); //获取输入的字符串
System.out.println("输出的内容为:"+str);
//凡是属于IO流的类如果不关闭会一直占用资源。要养成好习惯用完就关掉。
scanner.close();
输入:
Hello
world
输出:Hello
Hello前的空格不输出,Hello后有空格直接结束程序不输出
nextLine():
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方法接受:");
String str = scanner.nextLine(); //获取输入的字符串
System.out.println("输出的内容为:"+str);
//凡是属于IO流的类如果不关闭会一直占用资源。要养成好习惯用完就关掉。
scanner.close();
输入:
Hello
world
输出:
Hello
world
输入了什么,就输出什么
Scanner进阶
scanner对象不仅有 next()
方法和 nextLine()
方法,
还有 nextInt()
、nextFloat()
、nextDouble()
等方法获取输入数据
Scanner scanner = new Scanner(System.in);
int i ;
System.out.println("请输入整数:");
if(scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("输入的整数为:"+i);
}else{
System.out.println("输入的不是整型数据!");
scanner.close();
}
对于 scanner.nextInt() ,只有输入整形数据才会接受
if 单选择结构
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用 if 语句来表示
语法:
if (布尔表达式){
//如果布尔表达式为true将执行的语句
}
翻译:if 语句对布尔表达式进行一次判断,若判断为真,则执行下面的语句,否则跳过该语句。
Scanner scanner = new Scanner(System.in);
System.out.print("请输入内容:");
String s = scanner.nextLine();
//equals:判断字符串是否相等 判断字符串少用 ==
if(s.equals("Hello")){
System.out.println("输出 "+s+" 成功");
}
System.out.println("End");
scanner.close();
如果正确输入,就会显示 if 里的内容。
如果错误输入,if 里的语句就不会执行。
if 双选择结构
语法:
if (布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
翻译:当布尔表达式值为 true 时,执行 if 下的语句;否则 (布尔表达式的值为false),执行 else 下的语句。
Scanner scanner = new Scanner(System.in);
System.out.print("请输入分数:");