# Java ## はじめに Java18について主に書いていきます。 東京工業大学 情報工学系の並列プログラミングの講義でJavaにふれる機会があったので、備忘録としてまとめています。(あとリクルートのインターンでJavaを書くかもしれないので、そのついででもあります。) ## 基本文法 ### main メソッド mainメソッドは中1つのクラスに必ず属する必要がある。 main method で ```java= class Main { public static void main(String args[]) { } } ``` とする理由は、staticにしないと ### 型変換 [参考記事](https://qiita.com/morioheisei/items/28ab5fd69570e01cd317) Javaにおいては、小さな型を大きな型にする行為。すなわち、int -> long とか float -> double などの型変換は暗黙的に行うことができる。 しかし、逆の動作は C/C++では特にコンパイラから警告こそでるものの(出ない場合も多し)普通にコンパイルできるが、Javaではできない。(本来的にするべきことではないので、むしろこちらの仕様のほうがよい) ### クラス [参考記事](https://qiita.com/morioheisei/items/10c792a7a0b13ea8c045) ## JavaFX [参考Qitta](https://qiita.com/opengl-8080/items/51bef25aa05ecd929a3d) かなり詳しく上記のQittaに書いてあるのでそこを読むべし ## javac command ## java command ## オブジェクト指向プログラミング(OOP: Object Oriented Programming)についてもう一度 ## 良いコードの書き方 ### 変数名 変数名は読んでそのまま何を表しているのか分かるようにするべし、多少長くなっても、適切にその変数が負っている役割を指し示すべし、これは自戒を込めて 特に `targetValue`も良くない。`data_array`もあんまりよくない。 詳しくはリーダブルコードを読むべし(まだ読破できていないので、読み切りましょうね) 日本語のローマ字表記は、本当に悪なので、絶対にやめる。 またサービス名称は、略さずちゃんと正式名称にしましょう。 Javaではクラス名はUpperCamelCase, メソッド、変数名はcamelCase、定数はUPPER_SNACK_CASEで書くこと これはどの言語にも通じますが、ひと目見て型と役割がわかるコードは本当に読みやすいので、ちゃんと意識して書きましょう。 > 肝に銘じてください。 コードレビューで質問されて自分で説明できないコードは書くべきではないのです。 「検索で見つけたから」「こうやって書いてあるところがあったから」etc……これらは理由になりません。回答でもありません。ただの言い訳です。 脳死でコピペせずに、せめて何をしているか読んで把握くらいはしてください。わからないAPIはJavadocを読む習慣をつけましょう。 お作法的なものでも、そのお作法ではどんな処理をするのかくらいは読んでください。読まずに経験値は得られません。 [引用元](https://qiita.com/11295/items/23a5338a0ef26d3dca9a) 辛いね...たまにやってしまうことあるよね...特になれてない言語とかだと > 最低限でも@param、@return、@throwsがソースと一致したJavadocは必須です。 JavaはIDE前提ですし、Javadocだけ確認したらそのメソッドを呼び出せるくらいの説明が書いてあるといいですね。 Javaのコーディングのお作法についてあまり知らなかったので、JavaDocs云々を知らんかった...