# Java 基本输入和输出

> 原文： [https://www.programiz.com/java-programming/basic-input-output](https://www.programiz.com/java-programming/basic-input-output)

#### 在本教程中，您将学习在 Java 中向用户显示输出和从用户那里获取输入的简单方法。

## Java 输出

在 Java 中，您可以简单地使用

```java
System.out.println(); or

System.out.print(); or

System.out.printf(); 
```

将输出发送到标准输出（屏幕）。

这里，

*   `System`是一个类
*   `out`是`public static`字段：它接受输出数据。

如果您不了解，请不要担心。 我们将在后面的章节中讨论`class`，`public`和`static`。

让我们以输出一条线为例。

```java
class AssignmentOperator {
    public static void main(String[] args) {

        System.out.println("Java programming is interesting.");   
    }
} 
```

**输出**：

```java
Java programming is interesting. 
```

在这里，我们使用`println()`方法显示字符串。

* * *

### `println()`，`print()`和`printf()`之间的区别

*   `print()` - 它在引号内打印字符串。
*   `println()` - 像`print()`方法一样在引号内打印字符串。 然后光标移动到下一行的开头。
*   `printf()` - 它提供字符串格式设置（类似于 C/C++ 编程中的[`print()`](/cpp-programming/library-function/cstdio/printf "printf in C/C++ programming")。

* * *

### 示例：`print()`和`println()`

```java
class Output {
    public static void main(String[] args) {

        System.out.println("1\. println ");
        System.out.println("2\. println ");

        System.out.print("1\. print ");
        System.out.print("2\. print");
    }
} 
```

**输出**：

```java
1\. println 
2\. println 
1\. print 2\. print 
```

在上面的示例中，我们显示了`print()`和`printf()`方法的工作。 要了解`printf()`方法，请访问 [Java `printf()`](https://www.cs.colostate.edu/~cs160/.Summer16/resources/Java_printf_method_quick_reference.pdf "Java printf()")。

* * *

### 示例：打印变量和字面值

```java
class Variables {
    public static void main(String[] args) {

        Double number = -10.6;

        System.out.println(5);
        System.out.println(number);
    }
} 
```

运行该程序时，输出为：

```java
5
-10.6 
```

在这里，您可以看到我们没有使用引号。 这是因为要显示整数，变量等，我们不使用引号。

* * *

### 示例：打印连接的字符串

```java
class PrintVariables {
    public static void main(String[] args) {

        Double number = -10.6;

        System.out.println("I am " + "awesome.");
        System.out.println("Number = " + number);
    }
} 
```

**输出**：

```java
I am awesome.
Number = -10.6 
```

在上面的示例中，请注意以下行：

```java
System.out.println("I am " + "awesome."); 
```

在这里，我们使用`+`运算符来连接（联接）两个字符串：`"I am "`和`"awesome."`。

还有，线，

```java
System.out.println("Number = " + number); 
```

在此，首先求值变量`number`的值。 然后，将该值连接到字符串：`"Number ="`。

* * *

## Java 输入

Java 提供了不同的方法来从用户那里获取输入。 但是，在本教程中，您将学习使用`Scanner`类的对象从用户那里获取输入。

为了使用`Scanner`的对象，我们需要导入`java.util.Scanner`包。

```java
 import java.util.Scanner; 
```

要了解有关在 Java 中导入包的更多信息，请访问 [Java Import Packages](/java-programming/packages-import "Java Import Packages") 。

然后，我们需要创建`Scanner`类的对象。 我们可以使用该对象从用户那里获取输入。

```java
 // create an object of Scanner
Scanner input = new Scanner(System.in);

// take input from the user
int number = input.nextInt(); 
```

* * *

### 示例：从用户获取整数输入

```java
import java.util.Scanner;

class Input {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        System.out.print("Enter an integer: ");
        int number = input.nextInt();
        System.out.println("You entered " + number);

        // closing the scanner object
        input.close();
    }
} 
```

**输出**：

```java
Enter an integer: 23
You entered 23 
```

在上面的示例中，我们创建了一个名为`Scanner`类的`input`的对象。 然后，我们调用`Scanner`类的`nextInt()`方法来从用户获取整数输入。

同样，我们可以使用`nextLong()`，`nextFloat()`，`nextDouble()`和`next()`方法分别从用户处获取`long`，`float`，`double`和`string`输入。

**注意**：我们已使用`close()`方法关闭对象。 建议一旦输入，就关闭扫描器对象。

* * *

### 示例：获取浮点，双精度和字符串输入

```java
import java.util.Scanner;

class Input {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        // Getting float input
        System.out.print("Enter float: ");
        float myFloat = input.nextFloat();
        System.out.println("Float entered = " + myFloat);

        // Getting double input
        System.out.print("Enter double: ");
        double myDouble = input.nextDouble();
        System.out.println("Double entered = " + myDouble);

        // Getting String input
        System.out.print("Enter text: ");
        String myString = input.next();
        System.out.println("Text entered = " + myString);
    }
} 
```

**输出**：

```java
Enter float: 2.343
Float entered = 2.343
Enter double: -23.4
Double entered = -23.4
Enter text: Hey!
Text entered = Hey! 
```

如前所述，还有其他几种从用户那里获取输入的方法。 要了解有关`Scanner`的更多信息，请访问 [Java Scanner](/java-programming/scanner "Java Scanner") 。