【Java启程】数据输入

【Java启程】数据输入


Java不支持直接的数据输入,需要导入 java.util下的 Scanner包。导入方式为在类前输入:

import java.util.Scanner;

导包完成后,还需要创建对象实例。格式为:

	Scanner sc = new Scanner(System.in);

这个格式可以类比我们定义一个数值型变量int i = 1;,可以看到这两条语句等号的左端作用相同:说明变量类型,然后给出变量名。不同的地方在于Scanner是类,归属引用数据类型,其等号右端new Scanner(System.in)的作用是创建一个Scanner对象。这条语句除了变量名sc可以改成任意外,其余都不可以变。
再然后就可以调用方法了。我们通过api来查看Scanner下的方法:
在这里插入图片描述
这里仅列举两个常用的方法,一个是输入整数的nextInt(),其调用格式为:sc.nextInt(),用一个变量接受则是如下格式:

	int i = sc.nextInt();

一个是输入字符串的next()。如果输入的字符串中需要有空格则用nextLine()

最后,在输入操作完成后,有的开发工具会提示你关闭Scanner对象以释放空间,格式为sc.close();。但要注意的是关闭时会一并关掉System.in且在本次执行中不能再次打开,所以如果输入操作发生在循环或方法中,酌情考虑是否忽略。

import java.util.Scanner;

/**
 * 数据输入:Scanner
 *
 * @author XuF
 */
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请给line赋一个字符串值:");
        String line = sc.nextLine();
        System.out.println("line: " + line);
        
        // close会关掉System.in且不能再次打开
        sc.close();
    }
}

运行过程为:

请给line赋一个字符串值:

由于用了print()而非println(),所以这里不换行。
输入数据:王二小

请给line赋一个字符串值:王二小
line: 王二小

程序执行完毕。

猜你喜欢

转载自blog.csdn.net/qq_41157312/article/details/106207014