読者です 読者をやめる 読者になる 読者になる

Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

JShellで読み進める「Java本格入門」

4/18に発売された「Java本格入門」を買いました(^^)
f:id:kikutaro777:20170420185548j:plain:w300

発売にあたってのAcroquestさんブログエントリはこちら。
acro-engineer.hatenablog.com


編集の方の「『35歳からのJava再入門』が裏テーマです」が個人的にメッチャ刺さりましたw

ということで、もうすぐ37となる自分ですが…改めて初心に帰って再入門していこうと思います。

で、書籍はJava SE 8が前提なのですが、ふと以下の記事で書かれていた話(REPLツールを使うことにより、Java言語の勉強とかが手軽になる)を思い出して、JShell立ち上げながら読み始めることにしました。

builder.japan.zdnet.com

やり始めると意外と面白いです。自分だけかもしれませんが、歳を取ると、本を買っても(ある程度知っているプログラミング言語だと)ガチで手を動かしてコード書く機会って意外と少なかったりします。Javaの場合は特にIDE立ち上げて、実行して、書き換えて、の繰り返しなので、書籍の最初のほうとか意外と打たないのですよね(^^;

JShell使うと一番最初のHello Java Worldは

public class HelloWorld {
    public static void main(String... args) {
        System.out.println("Hello Java World!");
    }
}

次のように書けるし、コード補完も効くので手軽に試せます。

jshell> System.out.println("Hello Java World!")

JShellの勉強にもなるなーと思ったのが、次のコメントの部分とかで

jshell> //メッセージを表示します

jshell> /*
   ...> このような記号 で囲めば
   ...> 複数行のコメントを記載することもできます
   ...> */

あ、実行できるんだ!って当たり前か(^^;みたいに思ったり。

変数、型、リテラルの辺りも

int numberA; // int型のnumberAという変数を宣言する
numberA = 10; //numberAに10を代入する
System.out.println(numberA); //numberAの値を出力する

と本にはありますが、これをJShellで試していくと

jshell> int numberA
numberA ==> 0

jshell> numberA = 10
numberA ==> 10

jshell> System.out.println(numberA)
10

のようになって、intで宣言した変数で初期値かかないと0が入るのね、とか、ちゃんと代入されてるー、とか確認しながら本を読めて良い感じです。

そして、JShellの書き方がよくわからないときは以下を読めば解決!

最新Java情報局

Javaに再入門しながら、Java 9も触れられるという一石二鳥な感じ。やっぱりJShellいいなぁ。ということで、しばらく写経していこうと思います。

ちなみにJShellでライブラリなどの検証も簡単にできます。以下はSendGridのJavaライブラリを使った例ですが
sendgrid.kke.co.jp
書籍Chapter14辺りのApache Commonsとかでも使えると思います。

というわけで、「Java本格入門」の書籍で再入門しましょう!ちなみに私は紙の書籍で買いましたー。

Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで
谷本 心 阪本 雄一郎 岡田 拓也 秋葉 誠 村田 賢一郎
技術評論社
売り上げランキング: 1,824

Java本格入門はKindle版も既に出てます。