Javaは企業向けシステムで採用されるケースが多く、求人案件でも最も多く見られるプログラミング言語の一つです。Javaを学ぶ上では避けては通れないオブジェクト指向といった概念は、理解するのは難しいかもしれませんが、一度理解してしまえば、大規模システムにも対応できる拡張性の高いアプリケーションが作成できます。Javaも進化を続けているので、以前は使ったけれども、最新仕様に付いていきたいと考えるエンジニアにも対応できる、質の高い書籍が出版されています。
独習Java
人気の「独習」シリーズで、Javaが学べます。多くの現役エンジニアが、このシリーズにお世話になっているのではないでしょうか。解説、例題、理解度チェックという3ステップで、基本的な仕様から実践的な内容まで理解できるものです。オブジェクト指向、ラムダ式、マルチスレッド、アノテーション等、重要な技術をサンプルプログラムを通して理解を深めていきます。
新わかりやすいJava オブジェクト指向徹底解説
Javaを学ぶ上で、オブジェクト指向は避けられません。言語を問わず、オブジェクト指向は抽象的な概念なので、初心者にとっては大きな学習のハードルとなっています。本書では、Javaを使ってオブジェクト指向を学ぶために有効です。クラス、継承、インスタンス、インターフェースといった概念を使いこなせるようになると、Javaを使うのが一層面白くなるでしょう。
スッキリわかるJava入門
「Dokojava」を製作環境として採用しているので、Webブラウザさえあれば製作環境の設定が要らないので、直ちにJavaプログラミングの勉強が開始可能な点が好評です。Javaの基礎や応用と共に、オブジェクト指向のコンセプト・実装メソッドが学べます。未経験者が抱きやすい「なぜ?」に答える念入りな解説が好意的に認められています。約300点に上る豊富なイラストで親しみやすい入門書になっています。
スッキリわかるJava入門 実践編
前作同様「Dokojava」を使用するので、前もっての環境設定が省略できる点がメリットです。アジャイル製作の手引きやJava8の仕様にも対応しており、最先端の情報に触れることができます。「スッキリわかるJava手引き第2版」の実践編として、製作の現場で必要な実践的な知識を解説しています。Javaの基礎文法を習得し終えた人がステップアップするために最適な一冊です。「正規表現やコレクション、データベース協力、製作ツール、リファクタリング、並列処理」など実践的なテクニックが掲載されています。
Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで
Javaはかじったことはあるけれど本格的に学びたい、あるいは、昔はJavaを使っていたけど最新の仕様を知りたい、といったニーズに応える本格的な技術書になっています。実務で求められる保守性や開発効率の観点から、技術レベルを引き上げるのを目的としています。スレッドセーフ、デザインパターンといった要素を学ぶと、初心者から中級者へとステップアップできるかもしれません。
2週間でJava SE Bronzeの基礎が学べる本 徹底攻略シリーズ
オラクル社が認定するJavaプログラマーの認定資格Java SE Bronzeの取得を目指した一冊で、新たにプログラミングを学ぶ多くの初学者から高い評価を得ています。データ型や条件分岐といった基礎から始まり、オブジェクト指向の扱い方まで網羅しています。Javaは求人が多いプログラミング言語の一つでもあるので、資格を取得した上で、就職・転職に役立てるのも良いでしょう。
中級者向け
Effective Java
Javaプログラマーにとって定番の技術書である「Effective Java」。Javaの進化に合わせて、改訂が重ねられてきました。初心者には少し難しいかもしれませんが、繰り返し現れやすいパターンを学び、Javaの理解を深め、大規模システムにも耐えられる高品質なプログラムの作成を助けてくれます。
まとめ
Javaは初めてプログラミング言語を学ぶ人には、やや敷居が高いと感じられるかもしれません。しかし、基礎をしっかりおさえておけば、企業の大規模システムにも携われるようになり、仕事の幅を広げてくれる技術になると思います。
一週間で身につくJava言語
オンライン学習プラットフォームUdemyでも、Javaを解説するコースが公開されています。本で読むよりも、動画で見た方がJavaの特徴を理解するのが早いかもしれません。本コースは、初めてプログラミングする人向けに、条件分岐や繰り返しといった処理から、クラスとオブジェクトなどのDockerのインストールからコンテナの実行、ビルドの自動化、ネットワーク構成、データ管理など、Dockerにまつわる基礎的な事項を網羅しています。
一週間で身につくJava言語Androidアプリは数百万件もGoogle Playストアに登録されており、多くの企業で用いられています。これまではJavaで開発されるケースも多くありましたが、より簡潔にプログラムが書けるKotlinというプログラミング言語が公式にサポートされることになりました。また、開発環境としてはAndroid Studioというソフトウェアの利用が一般的です。簡単に学習できるKotlinでAndroidアプリ開発に挑戦してみましょう。
Springは、Javaによるアプリケーション開発を効率化するフレームワークとして人気を集めてきました。信頼性や性能に対する要求の高い、企業で使われるシステムでよく見られる技術です。あらゆる要件に対応できるよう、Springには様々な技術要素が含まれています。Javaを学んだ後、はじめてSpringを学ぶ人には敷居が高いと感じるかもしれませんが、Javaを使って業務システム開発を行う場合には、学ぶべきものだと思います。