什么是system.in

时间:2014-07-16 16:50:13

标签: java

考虑这个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

10 个答案:

答案 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,其类型为InputStreamSystem.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)

Java中的

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.outSystem.err

System.inSystem.outSystem.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