こんにちは。もえやです。2年ほど前からMcreatorの制作動画をYoutubeにアップしています。ただいまJava勉強中です。
今回は、コンソール(下のプログラム結果の表示画面?)に値を出力したり入力したりするみたいです。
出力
サンプルコードにもありますが、コンソールへの出力は、
System.out.println(“hello!”);
と書きます。””の中身が表示されます。
変数を指定すると中身の数字などが表示されます。例えば
int time = 12;
System.out.println(time);
とかですね。これだとtimeではなく12が表示されます。
ではでは文字と数字を一緒に出力するにはどうするかというと。+を使います。
int time = 12;
System.out.println(“now is ” + time);
これだと、now is 12、と表示されます。
intどうしを足したらどうなるのか?例えば
int time = 12;
int now = 10;
System.out.println(time + now);
とかです。結果は22。足されちゃうんですね。
ちなみにboolianだと結果はtrueまたはfalseという文字が表示されます。
入力
Scannerクラスというのを使うらしいです?
クラスって何ぞや?よくわかりません。そのうちわかるかな?
まずは、インスタンスを作る、らしいです。
インスタンスって何ぞや?やっぱりわかりません。すまん。
とりあえず、先にこれをしないとだめだよ、みたいなやつです。
Scanner scanner = new Scanner(System.in);
ってのを先に書かないと入力を読み込めないみたい。
これを記入すると、プログラムの一番上の方に
import java.util.Scanner;
って一文が自動で追記されます。Scannerっていうプログラムはjava.utilの中にあるやつだから、これを入れないと動かないよ。みたいなことなのかな?
逆にこれ消しちゃうとエラー出るみたいですよ。
戻って、小文字から始まるscannerは変数名みたいなものなので、scとか、ほかの文字に置き換えてもOK、っぽい。
同じプログラムの中でそろってればOKみたいな感じです。
System.inっていうところから入力を受け取るよ、ってことらしい。
他のところからも入力できるのかな?
で、これを記載した後、例えば数字の入力をしたければ、
Scanner scanner = new Scanner(System.in);
int old = scanner.nextInt();
System.out.println(old);
って入れます。
したらいったん入力待ちになって、入力すると、その下におんなじ数字が出力される。
文字の場合は、
Scanner scanner = new Scanner(System.in);
String test = scanner.nextLine();
System.out.println(test);
とか書くと、入力した文字が表示されます。
scanner.nextLine()が次の行全体、scanner.next()が次のスペースまでらしい。
で、intを続けて入力とかだと順番に入力できるんだけど、intの次に続けてStringを入力しようとすると、入力前に終わっちゃいます。
なのでそういう場合は、
scanner.nextLine();
をStringの入力前に挟むとよいらしいです。理由?わからん。
コメントの書き方
ちなみに、プログラムが何してるかわからなくならないように、横とか上とかにコメントを付けたりします。
コメントにするには、一番前に//を置くか、/* ~ */で~に文字を入れるかです。 複数行になる場合は後者。