Gradleとは何者?インストール方法〜使い方までわかりやすく解説
1.Javaの標準入力、標準出力とは?
Javaの標準入力とは、キーボードからの入力のことをいいます。コンソールアプリケーションにキーボードで入力した値を、プログラム内の変数に保持して処理を実行します。
一方、Javaの標準出力とは、プログラム変数のデータを画面へ表示することです。
Javaでは入出力関連のクラスは「java.io」パッケージにまとめられています。
①標準入力とは
ここでは、Javaの標準入力について解説します。
Javaでは標準入力をSystem.inで取得します。System.inの型はInputStreamです。
ただ、このSystem.inはストリームでの読み込みを行うメソッドしか持っていないので、通常Scannerクラスのオブジェクトに変換して取得します。
②標準出力とは
標準出力は、System.outで出力します。System.outの型はPrintStreamです。
PrintStreamクラスの主なメソッドは、以下です。
・printlnメソッド
・printメソッド
・printfメソッド
具体的な内容は次の章で解説します。
2.標準出力の方法
標準出力の方法について、サンプルコードを見ながら確認していきましょう。
public class App {
public static void main(String[] args) {
System.out.println("Hello, World!");
System.out.print("Hello, World!");
System.out.printf("Hello, %s!","World");
}
}
実行結果:
Hello, World!
Hello, World!Hello, World!
printlnメソッドは、引数の内容を出力した後に改行します。
同様にprintメソッドも引数の内容を出力しますが、その後に改行はしません。
また、printfメソッドは、出力する文字列の書式を指定することが可能です。たとえば、日付をYYYY/MM/DD形式に変更したり、数値をカンマ区切りに整形したりできます。
サンプルコードのprintfは、第一引数の%sの箇所に第二引数の”World”を代入し、出力しています。
この記事では詳細説明は省きますが、気になる方は公式リファレンスを見てみてください。
3.標準入力の方法
ここでは標準入力の方法について、ソースコードを用いて解説します。
・Scannerクラス
・nextLineメソッド
・nextメソッド
・nextIntメソッド
①Scannerクラスのインスタンスを生成する
Scannerクラスは、Javaでキーボードから標準入力を取得するために必要なクラスです。
まずは、ファイルの先頭でimport文を使用し、java.util.Scannerパッケージ利用の宣言をしましょう。
import java.util.Scanner;
次に以下のようにインスタンスを生成し、標準入力を取得します。
Scanner scanner = new Scanner(System.in);
Scannerクラスの第一引数は入力ストリームを指定します。このSystem.inは、標準入力を意味します。
②nextLineメソッドで行全体の入力を取得する
ScannerクラスのnextLineメソッドを使用すると、キーボード入力した内容の「改行までの1行分」を取得できます。
import java.util.Scanner;
public class App {
public static void main(String[] args) {
//■標準入力
//Scannerクラス
Scanner scanner = new Scanner(System.in);
//nextLineメソッド
String result = scanner.nextLine();
System.out.println(result);
scanner.close();
}
}
実行結果:
ターミナルに、「Javaの習得方法」と入力すると、
Javaの習得方法
と表示されます。
③nextメソッドで空白文字までを取得する
Scannerクラスのnextメソッドを使用すると、キーボード入力した内容の「空白文字までの文字列」を取得できます。
import java.util.Scanner;
public class App {
public static void main(String[] args) {
//■標準入力
//Scannerクラス
Scanner scanner = new Scanner(System.in);
//nextメソッド
String result1 = scanner.next();
String result2 = scanner.next();
System.out.println(result1);
System.out.println(result2);
scanner.close();
}
}
実行結果:
ターミナルに、「標準入力 標準出力」を入力すると、
標準入力
標準出力
と表示されます。
④nextIntメソッドで数値を取得する
ScannerクラスのnextIntメソッドを使用すると、int型(整数)の数値を取得できます。
import java.util.Scanner;
public class App {
public static void main(String[] args) {
//■標準入力
//Scannerクラス
Scanner scanner = new Scanner(System.in);
//nextIntメソッド
int result1 = scanner.nextInt();
int result2 = scanner.nextInt();
System.out.printf("%d + %d = %d%n", result1,result2,result1+result2);
scanner.close();
}
}
実行結果:
ターミナルに、「5 6」を入力すると、
5 + 6 = 11
と表示されます。
他にも、浮動小数点数型の値を取得するnextFloatメソッドなどもあります。
詳しく知りたい方は公式リファレンスを確認してみてくださいね。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Scanner.html