考虑这个Scanner
输入示例。
Scanner user_input = new Scanner( System.in );
此处Scanner
是CLASS。
user_input
是Scanner类下的OBJECT。
什么是(System.in
)?它是传递的参数还是Scanner
类下的对象?
考虑另一个例子。
dog dog1 = new dog(25)
这里我设置了dog类来接受size作为参数。
究竟是什么System.in
?
答案 0 :(得分:8)
System.in
是"标准"输入流。
请查看以下文档:http://docs.oracle.com/javase/7/docs/api/java/lang/System.html
答案 1 :(得分:8)
来自source:
System.in是一个通常连接到键盘的InputStream 控制台程序的输入。 System.in自数据以来不经常使用 通常通过命令行传递给命令行Java应用程序 参数或配置文件。在具有GUI输入的应用程序中 应用程序通过GUI给出。这是一个单独的输入 Java IO的机制。
答案 2 :(得分:6)
Scanner类接受输入流作为参数,System类具有静态变量in
,其类型为InputStream
。 System.in
为您提供了InputStream
类型的实例。
选中此doc of public static final InputStream in
"标准"输入流。此流已打开并准备好提供输入数据。
答案 3 :(得分:3)
System.in
-“ in”是InputStream类的对象,该类定义为“ System”类中的静态变量,用于从控制台读取数据。简而言之,“ System.in”为您提供了InputStream类型的实例。
当我们创建Scanner类对象时,我们需要将“ System.in”作为参数传递给Scanner类Constructor。因此,基本上使用“ System.in” Scanner类可以从控制台读取数据,然后使用Scanner类提供的不同方法(例如nextInt(),nextLong(),next()等),我们可以获取数据以我们所需的数据类型的形式(例如int,double,String等)。
答案 4 :(得分:0)
Scanner类在其配置文件中有一个构造函数Scanner(InputStream),即当我们在对象创建期间调用Scanner()构造函数时,它将允许您传递InputStream类的对象。
"在"是" InputStream"的对象System类中定义的类(例如" out"是System类中定义的PrintStream类的对象)。
因此,System.in只是在""在对象创建期间调用Scanner构造函数时在System类中定义的InputStream类的对象。
Scanner(InputStream)是Scanner类中的预定义构造函数,当调用时需要InputStream类的对象作为参数,并且该对象是System.in。
答案 5 :(得分:0)
System.in
表示从键盘或用户处获取输入。
Java中的System.out
意味着将输出打印到控制台。
答案 6 :(得分:0)
Scanner构造函数的参数 System.in 引用了在最终System类中定义的静态InputStream字段 in 。作为静态字段, in 需要其类标识符。
Oracle指出 in 是“标准”输入流1,而不是System.in。围绕标准的引号很可能具有讽刺意味,即使用命令行界面从键盘输入不再是 the 标准,而是带有新的GUI的东西。
答案 7 :(得分:0)
“ System.in” 是Scanner Class所采用的参数,其中“ System” 是一个类,而“ in” 是一个类型为InputStream的静态变量,它告诉Java编译器通过控制台(键盘)提供系统输入。
答案 8 :(得分:0)
System.in
实际上是一个InputStream,通常连接到控制台程序的键盘输入。
与此同时,您还可以直接访问其他两个流System.out
和System.err
。
System.in
,System.out
和System.err
在Java VM启动时由Java运行时初始化。
答案 9 :(得分:-1)
System.in
用于获取用户输入。考虑以下示例:
import java.util.Scanner;
class Method {
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter Name");
String s=sc.next();
System.out.println("Enter roll number");
int r=sc.nextInt();
System.out.println("Enter marks");
float t=sc.nextFloat();
System.out.println("Name:" + s);
System.out.println("Roll No.:" + r);
System.out.println("Marks:" + t);
}
}
输出:
输入姓名
Roshal
输入卷号
204
输入标记
65
名称:Roshal
卷号:204
标记:65.0
有关此代码的说明,请访问: Accepting input in java