1前書き

このクイックチュートリアルでは、Javaでユーザー入力と出力にコンソールを使用するいくつかの方法を説明します。

入力を処理するための

Scanner

クラスのメソッドをいくつか見てから、

System.out

を使用して簡単な出力をいくつか示します。

最後に、コンソールの入力と出力の両方に、Java 6以降で使用可能な

Console

クラスを使用する方法を説明します。


2

System.in


から読み取る

最初の例では、

System.in

** からの入力を取得するために

__java.util


packageの


Scanner

__classを使用します – 「標準」入力ストリーム

Scanner scanner = new Scanner(System.in);


nextLine()

メソッドを使用して、入力行全体を

String

** として読み取り、次の行に進む

String nameSurname = scanner.nextLine();


  • __next()

    __メソッドを使用して、次の入力トークンを** ストリームから取得することもできます。

String gender = scanner.next();

数値入力が必要な場合は、

nextInt()

を使用して次の入力を

int


プリミティブとして取得できます。同様に、

nextDouble()

を使用して

double


型の変数を取得できます。

int age = scanner.nextInt();
double height = scanner.nextDouble();


__Scanner


classは、次のトークンが対応するデータ型として解釈できる場合に

true

を返す**


hasNext

Prefix()____methodsも提供します。

たとえば、

__hasNextInt()

__methodを使用して、次のトークンを整数として解釈できるかどうかを確認できます。

while (scanner.hasNextInt()) {
    int nmbr = scanner.nextInt();
   //...
}

また、

__ hasNext(パターンパターン)

__メソッドを使用して、次の入力トークンがパターンと一致するかどうかを確認することもできます。

if (scanner.hasNext(Pattern.compile("www.baeldung.com"))) {
   //...
}


Scanner

クラスを使用する以外に、**

InputStreamReader

を____System.inと共に使用して、コンソールから入力を取得することもできます。

BufferedReader buffReader = new BufferedReader(new InputStreamReader(System.in));

そして、入力を読み込み、それを整数に解析します。

int i = Integer.parseInt(buffReader.readLine());

3.

System.out

への書き込み

コンソール出力には、



System.out



PrintStream

クラスのインスタンス


を使用できます。これは、

OutputStream

の一種です。

この例では、コンソール出力を使用してユーザー入力を促し、最終的なメッセージをユーザーに表示します。


__println()


メソッドを使用して

String__を印刷し、** 行を終了しましょう。

System.out.println("Please enter your name and surname: ");

代わりに、

println()

と同じように動作するが、行を終了させずに**

__print()

__methodを使用することもできます。

System.out.print("Have a good");
System.out.print(" one!");


4入力と出力に

Console

クラスを使用する

JDK 6以降では、

__java.io


packageの


Console

__classを使用して、コンソールから読み書きできます。


Console

オブジェクトを取得するには、

System.console()

を呼び出します。

Console console = System.console();

次に、

__Console


classクラスの

__readLine()メソッドを使用して、

コンソールに1行書き込み、次にコンソールから

1行書き込みます。

String progLanguauge = console.readLine("Enter your favourite programming language: ");

パスワードなどの機密情報を読み取る必要がある場合は、

readPassword()

メソッドを使用してユーザーにパスワードの入力を求め、エコーを無効にしてコンソールからパスワードを読み取ることができます。

char[]pass = console.readPassword("To finish, enter password: ");


Console

クラスを使ってコンソールに出力を書き込むこともできます。

console.printf(progLanguauge + " is very interesting!");


5結論

この記事では、コンソール・ユーザーの入出力を実行するためのいくつかのJavaクラスの使い方を説明しました。

いつものように、このチュートリアルのコードサンプルはhttps://github.com/eugenp/tutorials/tree/master/core-java/src/main/java/com/baeldung/console[over on GitHub]にあります。