2016年9月11日日曜日

switch文での文字列使用

みなさん こんばんは。

今日は第1章の 「小さな言語使用の変更 Project Coin」 の途中まで読みました。

冒頭で何故プロジェクト名がCoinなのか?と言う名前の由来が書かれていて

そういうことなのか、と思いました。

そもそもProject Coin で何が変更になったのでしょうか。

・switch文での文字列が使用出来るようになった。

今まではif else 文で条件分岐していたところをswitch文で記述出来ることによりスマートに書ける

ようになった。気をつけたいところは文字列にNullが渡された時にNullPointerExceptionの例外が発

生するので事前にNullチェックが必要であること。

こんな感じで。。

if ( str == null ) {
// ・・・Nullの場合の処理
} else switch(str) {
case "test" :
// Null以外の場合の処理
break;
}

・2進数リテラルが使えるようになりました。

今までは10進数、8進数、16進数の3種類でしたが、2進数を使えることで計算の幅が広がりましたね。
10進数の「3」を2進数で表記すると = 0b11 2進数の表記は先頭に0bが付きます。

・数値リテラルで区切り文字(アンダースコア)が使えるようになりました。

今までは桁数が多くなると可読性が悪くなってました。

こんな感じ。。

int i = 1000000000;

この数値をパッと見でいくらなのかを把握するのは難しかったのですが、

int i = 1_000_000_000;

こんな感じでアンダースコアを付けることにより可読性が向上しました。

今日はここまで読みました。

感想としてswitch文は簡単な、if else文の代替えとして使えそう。

複雑な条件分岐は従来通りのif文を使うことになるでしょう。

2進数の計算処理は頻繁に使うことは無いでしょうが、今後使うケースがあるでしょう。

数値リテラルの区切り文字は個人的にはあまり可読性が良くなったかと言われると??

な感じです。


人気ブログランキングへ

0 件のコメント:

コメントを投稿