Bim or Vim

Java 入門 #02 [Hello World!]

2018/01/12 00:57 投稿

  • タグ:
  • Bim
  • Java
  • プログラミング
  • プログラミング講座
どうも。Bimです。

この記事の内容は以下の動画でも説明しております。


前回Javaの開発環境を構築したと言うことで、Javaを早速動かしてみましょう。
今回はHello World!という文字列を表示させてみます。
Java9からはjShellという新機能が追加されて、Javaの実行が簡単になりました。

jShellとは
コードスニペットの評価を助けるAPIツールです。
そんでもって、スニペットとは一般的に「断片」という意味の英語で、
IT用語としては、プログラミング言語の中でかんたんに切り貼りして、
再利用できる部分のことや検索エンジンによる検索結果の一部として表示される
Webページの要約分のことを言います。
まぁ、プログラミングコードの断片みたいなニュアンスですかねぇ...
ぶっちゃけ、このような説明をされても今の段階ではピンと来ないと思います。
プログラミングコードの断片を評価を助ける??なんじゃそれ??みたいな...
なので、今はJavaのプログラムを実行できる環境くらいの認識で構いません。

このコードスニペットの長点としましては、プログラムを作成する際に、
頻繁に利用する同じ記述の繰り返しや、
少しの変更を加えるだけで使うことが出来そうなパターンに遭遇したとき、
そのようなパターンをスニペットとして登録しておくと、
コードを呼び出して貼り付けることで簡単に記述する事が出来ます。
(まぁ、今はそんなパターンに遭遇もしてないので、想像がつかないですね。)

一つの例としてVisual Studio C++, C#がコードをスニペットとして
利用することが出来る機能が付いています。(興味のある方はここを参照)

また、jShellはJava REPLとも呼ばれています。
REPLは
R : Read
E : Eval
P : Print
L : Loop
の頭文字です。
要するにコードを読んで、評価して、出力して繰り返す。
対話型の評価環境です。
もっと砕いた言い方をするならば、
キーボードから打ち込んだ命令を読み込んで(Read)、
評価または実行して(Eval)、
その結果を画面上に表示して(Print)、
また、命令を待っている状態に戻る(Loop)環境のことを言います。

JavaにもこのREPLが導入されました。
これによって、入門者でも簡単かつ素早くJavaプログラミングを体験する事が
出来るようになったかなぁ~と(個人的にですが...)思います。

それでは、jShellを起動させてみましょう。
ターミナル画面(コンソール画面)を立ち上げて、jshellと打ってEnterキーを押してください。




次にいよいよ"Hello World!"という文字列をターミナル上に出力してみましょう。
System.out.println("Hello World!");
と入力してみてください。


以下の画像のように出力されたのが確認できたら成功です。


System.out.println("Hello World!");ってなに?
入門者なら必ずと言っていいほど思う疑問だと思います。
しかし、現段階(始めたばかりの人)のJavaの知識量の人に説明してしまったら、
あまりにも理解に苦しい仕組みとなっており、99.9%挫折してしまいますし、
何より、楽しいプログラミングに対して嫌悪感を抱いてしまうかもしれません。
なので、現段階では2個の内容に分けてざっくりと説明をしたいと思います。


まずはじめの方でREPLは"打ち込んだ命令を読み込んで"と言ったのを覚えているでしょうか?
この命令というはなんぞや?と言うことなんですけども、
System.out.println("Hello World!");というが命令になります。
これはターミナル画面(コンソール画面)にHello World!という文字列を表示させなさい!
と言った命令なのです。
この命令をコンピュータが解釈することで、Hello World!という文字列が表示されています。


もう少しだけ、細かく説明します。
そもそも、ターミナル画面(コンソール画面)に指定した文字列や値を出力させる命令があります。
それがSystem.out.println();という命令文です。
この命令文は()の中に指定した文字列や値などをターミナル画面(コンソール画面)に表示してくれる命令文なのです。
そして今回その()の中に"Hello World!"と指定したので、その文字列が出力されています。
Hello World!を囲んでいる"は後々、習いますので今は意識をしなくても大丈夫です。

試しに
System.out.println("Hello World!");

System.out.println("こんにちは!");
とか
System.out.println("100");
に変えてみてください。
なんとなく、上の説明の言いたいことがわかると思います。

今回の記事の目的はとりあえず、Javaのプログラミングをやってみよう!
というコンセプトですので、フーン( ´,_ゝ`)くらいに思ってもらえればと思います。

かと言って、きちんと段階を踏んでいけば、なぜ、このような記述をしているのか
わかるようになっているので、この講座を進めていけばきっとわかるようになるハズ...

またjShellの機能の一つとしてキーワードの補完機能があります。
System.out.println()なんて長い記述最初は覚えらんないンゴ...
と言うおまいらでも大丈夫です。
とりあえず、
System.
と打ってからTabキーを押してみてください。


そうしたら沢山の文字列が出てきましたね...
先程、System.out.println();は命令文だと言いました。
しかし、JavaにはSystem.out.println();だけではなく、夥しい数(数え切れない程)の命令文が存在します。
なので、System.out.println();の命令以外にもSystem.in.close();命令や、System.out.printf();命令などSystem.の次に記述することが出来る命令文が存在します。
この沢山の文字列は、そのSystem.の次に記述できる命令文の一覧が表示されているんです。
なので、長い命令文を最初から最後まで覚える必要はなく、この一覧から探しながら命令文を記述することができます。

この中をよく見ると...
右下にoutという文字列があります。


あっ!そうだoutだった~。
ということで、ouまで入力して、またTabキーを押してみましょう。


そうするとoutしか候補が無くなって自動的にoutが入力されます。


でも、まだ命令文は終わっていません。
outの次は....
と言うことで、.を入力しTabキーを押してみましょう。
そしたらまた、沢山の文字列が表示されました。

この中をよく見ると...
左下にprintln(という文字列がありましたね!


あっ、そうだ~。printlnだった~。
ということでprintら辺まで入力してTabキーを押しましょう。


そうすると、out.の次に記述することが出来る命令文がもっと絞られるので、
もうわかりますよね?
この調子で、先程の命令文を完成させちゃいましょう。

これで完成となります。

ちなみに、終了をしたい場合は
/exit
と入力すれば、終了することが出来ます。


如何だったでしょうか。
まだ、Javaプログラミングの扉を開いた段階で何をしているのか、
何ができるかはわからないと思いますが、とりあえずJavaプログラミングの第一歩は
踏み出せたということで、これから頑張っていきましょう。

今回はここまで。お疲れ様でした。

コメント

コメントはまだありません
コメントを書き込むにはログインしてください。

いまブロマガで人気の記事