###はじめに
社内の新人勉強会でJavaについてを勉強しています。
勉強した内容の中で特に興味深かった点をまとめてみました。
第1~4回はProgate・スッキリわかるJava、第5回はスッキリわかるJava実践編を使って勉強しています。
Progateについては下記サイトへGO
https://qiita.com/wdmmm/items/0fa27221498e767c953a
変数名は基本キャメルケースで書く。
例:userName
マジックナンバーは基本使用しない。
例:name1, name2, name3,...
変数名は省略しすぎても長すぎてもダメ。。。
####☆おすすめされた本☆
・リーダブルコード
##第2回 値渡しと参照渡し
####値渡し
基本データ型の変数の値自体を渡すことを値渡しといいます。
####参照渡し
基本データ型以外の変数の参照を渡すことを参照渡しといいます。
※Stirng型は参照渡しであり、生成後に文字列を変更できない不変型(immutable)です。
##第3回 スレッドセーフ
複数のスレッドをマルチスレッドといいます。
マルチスレッドで同時に処理されても安全であるという意味です。
スレッドセーフな設計とは複数のスレッドを同時に使用しても安全なクラスやメソッドであることです。
##第4回 ラッパークラス
基本データ型をオブジェクトとして操作するための便利クラスです。
例:int → Integer, long → Long
(左側が基本データ型、右側がラッパークラスです。)
Integer.parseInt()とかで使われていますね。
##第5回 StringBuilder & StringBuffer
文字列を連結するクラスです。
+で文字列を連結するより、圧倒的に高速です。
####StringBuilderとStringBufferの違い
StringBuilderはマルチスレッドの時に同じ対象に対する処理を行おうとすると上書きされる場合があります。
一方、StringBufferはマルチスレッドの時に同じ対象に対する処理を行っても一つずつ処理を行うため、
上書きはされないですが、StringBuilderよりは処理速度が遅いです。
###おわりに
これからも勉強会は続くので予習復習をして、
面白いなと思うものに出会ったときに気が付けるようにしていきたいなと思いました。
来年にはSpringについても学ぶ予定なのでJavaの知識をきちんと身に付けて勉強会に臨みたいと思います。