新規でプログラミング学習をする人からの人気は低いものの、いまだに転職市場、フリーランスエンジニアの案件市場では莫大な人気を博しているJava。
現実的な感覚をお持ちのエンジニア志望者や現役エンジニアにとっては、必須のスキルと言えます。
そんなJavaの基本知識をざっくり学んで学習をスタートさせたい人向けのコンテンツです。
Javaは、1995年に登場した伝統的なプログラミング言語で、現在でも多くのシステムで使われています。
実質的に日本のシステムで最も使われているプログラミング言語はJavaと言われており、エンジニア転職市場でも求人数がダントツです。
Webだけでなく、ゲームや組み込みシステム、さらにはAndroidアプリなど、その用途は多岐にわたります。
ただし、実装者のスキルによって安全性やパフォーマンスにばらつきが出てしまうこともあるため、Javaを学習するならしっかりと学ぶ意識を持つことが重要になります。
いわゆる「プログラミングの基礎」を学ぶ上でも、Javaの学習は非常に有効です。
先述した通り、Javaは幅広いプラットフォームに対応可能です。
ここでいくつかの例を紹介します。「だいたいなんでも作れる」と言われますが、本当にだいたいなんでも作れます。
Javaを採用する企業が多いのはなぜでしょうか。
その理由を以下に列挙します。
利点のみを挙げると、Javaが最高のプログラミング言語だと感じてしまいがちですが、難点もあります。(もちろん人によっては最高だと感じている可能性はあるので、否定もしません)
ここで挙げる点も、実装する人のスキルレベルによるところが大きいため、参考程度にご覧ください。
ここまで基本的なJavaに関する知識を紹介したので、軽く手を動かしながらJavaを知っていきましょう。
紹介するのは基本的な内容となるため、しっかり勉強する際には書籍やオンラインコースなど、まとまった情報から学習することをおすすめします。
まずはJavaで使うコマンドを見ていきましょう。
たとえば、以下のようなコードがあるとします。
以下のコマンドでこのプログラムをコンパイル(実行可能な形に変換)できます。
これでHelloWorld.class
というコンパイルされたファイルが作成されます。
そして、このコードを実行するには以下のコマンドです。
これが最もシンプルなJavaの実行方法です。
もし配布用にjar
ファイルへ変換したい場合は以下のコマンドです。
次に基本的な文法を見てみましょう。
以下のコードを見てください。
final
は定数宣言、double
やString[]
は変数宣言、+
は演算子といった具合にJavaの基本文法がいくつか入っています。
public class
やpublic static void
を見て、それぞれが何を示すかを理解したり、他の型を理解したりと、基本的な文法だけでも多岐に渡ります。
次に、基本的な制御構文を見ていきましょう。
以下のコードを見てください。
if
は条件分岐と呼ばれ、条件に合致するかどうかを判定できます。for
は繰り返し処理ができ、配列に含まれる値を繰り返し取り出しています。
こういった要所々々で利用する制御構文を扱いながら、1つのシステムを組み上げていきます。
続いて、オブジェクト指向について少しだけ触れます。
オブジェクト指向プログラミング(OOP)については、理解するためにまとまった資料をもとに行ったほうが良いので、ここではあくまで触りだけです。
次のコードを見てください。
ここでは、HelloWorld
クラスでAnimal
クラスをnew
でインスタンス化して使っています。このように、データとして扱えるオブジェクトを利用する手法をオブジェクト指向プログラミングと呼びます。
一見単純に見えますが、しっくりくるまで時間がかかるためJavaの学習難易度が高いと言われています。
ここまで、基本的なJavaの機能について見てきましたが、まだまだ多くの知るべき機能があります。
フレームワークやライブラリの利用によって、覚えずともなんとなく使える状態になることもできますが、様々なコードを読んで新しい実装方法を覚えることには一種の感動があるのでおすすめです。
ざっくりとJavaの基礎知識と文法について紹介してきましたが、ここが入口です。
歴史が深い分、学べば学ぶほど味が出るプログラミング言語であるJavaは、必ず学習者にとってプログラミング力を底上げする基礎となります。
最初に学ぶプログラミング言語としても、いくつかプログラミング言語を学んだ後に立ち返る基盤としても、Javaはエンジニアの足元を強く支えてくれる素晴らしい言語です。少しだけ学ぶ過程が退屈に感じるときもありますが、この先に待っている基礎を固めたエンジニアである自分を想像して踏ん張ってみてください。