標準入出力について
この節の要点
- ターミナルに文字を表示(標準出力)するためには、
System.out.printlnメソッドを使う。- プログラムがターミナルから文字を受け取る(標準入力する)ためには、
Scannerクラスを使う。
標準出力
Javaにおける標準出力(ターミナル、本演習においてはNetBeansでの出力タブ)へのテキスト出力については、これまでのサンプルコードを見てもらえれば分かる通り、System.out.printlnメソッドを使うことで出力できます(図55)。
System.out.println("Hello,World.");
このprintlnメソッドはSystemクラスが持つout変数がPrintStreamクラスの構造(オブジェクト)を参照型として持っていて、out変数が表すオブジェクトの持つprintlnメソッドを呼び出しているわけです。これは図4でも概略を示しました。このPrintStreamクラスには、printlnメソッド以外にも、テキスト出力するメソッドが用意されています。
以下によく使うPrintStreamクラスのメソッドを示します。
printメソッド- たとえば、
printlnメソッドは末尾に改行が必ず挿入されますが、挿入してほしくないときもあります。このような時は、printメソッドを使います。printメソッドは指定された文字列を出力するだけです(図56)。System.out.print("Hello,"); System.out.print("World."); // Hello,World.と表示される。図56:printメソッドによる標準出力への表示
- たとえば、
標準入力
Javaにおける標準入力(キーボード入力)からテキストデータを取得する場合、いくつかの方法がありますが、もっとも簡単な方法はScannerクラスを使う方法です。
図57にScannerクラスを使った、最小の読み取りプログラムを示します。
Scannerクラスはjava.utilパッケージにあります。従って、クラスを呼び出す際にはjava.util.Scannerのように呼び出す必要があります。
java.util.Scanner scan = new java.util.Scanner(System.in); // Scannerオブジェクトを作成する。
String input = scan.nextLine(); // 改行が押されるまでのテキストデータを返却する。
System.out.println("input: " + input);
図57において、Scannerオブジェクトをscan変数に作成した後、オブジェクトが持つnextLineメソッドをscan変数を介して呼び出すことで、改行が入力されるまでのテキストをStringオブジェクトとして取得します。そして、取得した結果を変数inputに代入しています。キーボードから入力する際は、出力タブの中央をクリックしてテキストカーソルを出した状態で、キーボードから文字を入力し、エンターキーを押すことでテキストデータを入力できます。
以上のprintlnメソッドと、Scannerオブジェクトを利用することで、基本的な入出力データのやりとりをすることができます。