0
点赞
收藏
分享

微信扫一扫

Java 控制台io

Java 控制台io

在 Java 编程中,控制台输入和输出(Input/Output)是非常常见且重要的操作。控制台输入通常用于从用户那里获取数据,而控制台输出则用于将结果或者信息输出给用户。本文将介绍如何在 Java 中实现控制台输入和输出。

控制台输出

Java 提供了多种方式进行控制台输出。下面是几种常用的控制台输出方法。

使用 System.out.println()

最简单的一种方式就是使用 System.out.println() 方法进行输出。这个方法会在控制台打印指定的内容,并在最后添加一个换行符。

下面是一个示例代码:

public class ConsoleOutputExample {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

上面的代码会在控制台输出 Hello, World!

使用 System.out.print()

System.out.println() 方法类似,System.out.print() 方法也是用于在控制台输出内容。不同的是,System.out.print() 方法不会在输出内容后添加换行符。

下面是一个示例代码:

public class ConsoleOutputExample {
    public static void main(String[] args) {
        System.out.print("Hello, ");
        System.out.print("World!");
    }
}

上面的代码会在控制台输出 Hello, World!,但是不会换行。

使用 System.out.printf()

System.out.printf() 方法可以实现更灵活的控制台输出,通过使用格式化字符串和参数列表的方式进行输出。

下面是一个示例代码:

public class ConsoleOutputExample {
    public static void main(String[] args) {
        String name = "Alice";
        int age = 25;
        
        System.out.printf("My name is %s and I am %d years old.", name, age);
    }
}

上面的代码会在控制台输出 My name is Alice and I am 25 years old.

控制台输入

与控制台输出类似,Java 也提供了多种方式进行控制台输入。下面是几种常用的控制台输入方法。

使用 Scanner 类

Scanner 类是 Java 的标准输入类,它提供了多种方法用于获取控制台输入的数据。

下面是一个示例代码:

import java.util.Scanner;

public class ConsoleInputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Please enter your name: ");
        String name = scanner.nextLine();

        System.out.print("Please enter your age: ");
        int age = scanner.nextInt();

        System.out.printf("Hello, %s! You are %d years old.", name, age);
    }
}

上面的代码会提示用户输入姓名和年龄,并将输入的值保存到相应的变量中,然后输出一条问候语。

使用 BufferedReader 类

BufferedReader 类也可以用于获取控制台输入的数据。与 Scanner 类不同的是,BufferedReader 类需要使用 InputStreamReader 类和 System.in 对象一起使用。

下面是一个示例代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ConsoleInputExample {
    public static void main(String[] args) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        try {
            System.out.print("Please enter your name: ");
            String name = reader.readLine();

            System.out.print("Please enter your age: ");
            int age = Integer.parseInt(reader.readLine());

            System.out.printf("Hello, %s! You are %d years old.", name, age);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上面的代码与前面的示例代码类似,使用 BufferedReader 类替代了 Scanner 类来获取控制台输入的数据。

类图

下面是本文中所使用的示例代码的类图:

classDiagram
    class ConsoleOutputExample {
        +main(args: String[]): void
    }
    
    class ConsoleInputExample {
        +main(args: String[]): void
    }
    
    class System {
        <<final>>
        +out: PrintStream
    }
    
    class PrintStream {
        +println(x: String): void
        +print(x: String): void
        +printf(format: String, args: Object...): void
    }
    
    class Scanner {
        +nextLine(): String
        +nextInt(): int
    }
    
    class BufferedReader
举报

相关推荐

0 条评论