java基础课堂随记4
Scanner对象
之前学的基本语法中没有实现程序和人的交互,但是Java提供了这样一种工具类,可以让我们获取用户的输入。java.util.Scanner是Java5的新特性,可以通过scanner类来获取用户的输入。
基本语法:
Scanner s = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般使用hasNext()和hasNextLine()判断是否还有输入的数据
自动生成对象方法
new Scanner(System.in)
按住ctrl+alt+v,可以直接出来
Scanner scanner = new Scanner(System.in);
这是从右往左的写法
如果是从左往右生成,则是ctrl+alt+空格,可以直接创建或者给出提示帮助我们迅速创建对象。
原文链接:https://jingyan.baidu.com/article/495ba841bd741f38b30ede87.html
使用next()输出的结果
package scanner;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if (scanner.hasNext()==true){ //这里的==true可以省略,是一样的效果
//使用next方式接收
String str = scanner.next();
System.out.println("输入的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯,用完就关掉
scanner.close();
}
}
如果输入hello world,输出的结果是hello
使用nextLine()输出效果:
package scanner;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输入的内容为:"+str);
}
scanner.close();
}
}
可以输出hello world 的效果
结论:next()不能输出带空格的,nextLine可以
凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯,用完就关掉
不用if判断的方法,直接用nextLine来接收就可以:
package scanner;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
scanner.close();
}
}


浙公网安备 33010602011771号