Javaの学習に役立つ書籍

Javaの学習はこのサイトだけでは不十分です。本格的な学習をするうえで、参考になる文献をここでは紹介していきましょう。

手元に置いておきたい本

まずは、Javaのプログラマーなら手元に置いておき対本を紹介していきましょう。ここで紹介した書籍はいずれもJavaに限らず、一度は読んでおき、できれば手元に置いておきたいものばかりです。

Javaプログラマーなら手元に置いておきたい名著
基本情報詳細
1 タイトル EFFECTIVE JAVA
第2版 (The Java Series)
歴史的名著Effective Javaの第二版です。2001年に初版が出て以来、多くのJavaプログラマーに読み継がれています。
著者はGoogle, Sun Microsystemsで活躍したエンジニアで、その知識・経験をまとめたJavaプログラマSE必読の書籍です。
著者Joshua Bloch (著)
柴田 芳樹 (翻訳)
出版社丸善出版
レベル中級・上級
2 タイトル リーダブルコード
より良いコードを書くための
シンプルで実践的なテクニック
Java言語に限らず、あらゆる言語でプログラムを書く人に役立つ一冊です。
良いコードとはどのようなものなのかということは、普遍的な問題です。
Javaのみならず、あらゆる言語のプログラマーが手元に置いておきたい良書です。
著者Dustin Boswell (著)
Trevor Foucher (著)
出版社オライリージャパン
レベル中級・上級
3 タイトル いかにして問題を解くか Javaやプログラミングの専門書ではありませんが、プログラマーに愛されている古典的名著です。
もとは、数学の問題を解くための本ですが、
考え方はプログラミングでも一緒です。
プログラマーなら読んでおきたい一冊です。
著者G. ポリア
出版社丸善
レベル上級

Java言語をより丁寧に学びたい

本を読んで、もう少しJava言語を丁寧に学びたい人たち向けにおすすめです。プログラミングの初歩についてじっくり学び、より深い理解を得てから、レベルの高いプログラミングを行ってみたい人におすすめの書籍です。

Javaを基礎からもう一度学びたい
基本情報詳細
1 タイトル Javaの絵本
増補改訂版
図や画像が豊富で初心者向きです。しかし基本概念は全て説明しています。
資料も豊富で、読んでいて飽きず、初学者にはぴったりです。
ただ、GUIなどのプログラミングやWebプログラミングには不十分で、別途専門書が必要です。
著者(株)アンク
出版社翔泳社
レベル初級
2 タイトル わかりやすいJava入門編 Java言語のみならず、そもそもプログラミングも初心者という人にとってもふさわしい一冊です。
シリーズのオブジェクト指向編と共に、わかりやすいと評判です。
ただ、プログラマーとしてある程度実力のある人にとっては、ちょっと退屈かもしれません。
著者川場 隆
出版社秀和システム
レベル初級
3 タイトル 独習Java 第4版 独習と言いますが、まったくのプログラミングの素人には不向きな一冊です。
すでに、何らかの言語を身につけていて、これからJavaを学びたいプログラマーや、ある程度深く学んでから知識を深めたい人にうってつけです。
一度Java言語を学び、より体系的に復習したい場合にもよいでしょう。
著者ジョゼフ・オニール (著)
武藤 健志 (監修, 監修)
出版社翔泳社
レベル初級

Javaを使った実用アプリの作成

Javaで実用的なアプリケーションを作るためには、さらにもう一段の知識が必要になります。

Javaを使ったアプリ開発
基本情報詳細
1 タイトル 基礎からのサーブレット/JSP
第3版
Javaで実用的なWebアプリを作る時に必要になる、JSP/Servletについて学べる一冊です。
コマンドライン上の開発のみならず、統合開発環境eclipseでの開発にも言及しています。
Javaで何かを作ってみたい人にはぴったりです。
著者宮本 信二
出版社ソフトバンククリエイティブ
レベル初級・中級
2 タイトル はじめてのAndroidアプリ開発
Android4対応版
(TECHNICAL MASTER)
スマートフォンやタブレットPCなどのOSである、Android上のアプリケーションの開発をしたい方にはありがたい一冊です。
基礎的な開発方法から、GooglePlayでのアプリの発表方法などが一通り網羅されています。
Javaで本格的なモバイルプログラミングをしたい人にはもってこいです。
著者山田 祥寛
出版社秀和システム
レベル初級・中級
3 タイトル OpenGLで作る
Android SDK
ゲームプログラミング
Androidで更にゲームを作ってみたいという人に必要な一冊です。
グラフィックスの描画のライブラリである、OpenGL-ESをAndroid/Java上で使うための方法を学ぶための一冊です。2D/3Dグラフィックのゲーム作りが学べますが、あらかじめAndroidの知識が必要になります。
著者中島 安彦 (著),
横江 宗太 (著)
株式会社パンカク (著)
出版社インプレスジャパン
レベル中級・上級

Javaとソフトウェアテスト

Java言語での開発には、TDD(テスト駆動型開発)、ソフトウェアテストの概念は切っても切り離せないものです。ここでは、JavaによるテストやTDDに役立つ本を紹介します。

Java言語とテスト
基本情報詳細
1 タイトル JUnit実践入門
体系的に学ぶユニットテストの技法
Javaのテストフレームワークのデファクトスタンダードであるツール、JUnitの基本的な使い方から、拡張機能、テストパターンまでを解説しています。更に、データベースやAndroidまでも取り上げています。Javaでのテストがすべてわかる一冊です。
著者渡辺 修司
出版社技術評論社
レベル中級
2 タイトル 現場で使えるソフトウェアテスト
Java編
言語としてJavaを取り上げていますがJavaによる開発に限らず、ソフトウェアテスト全般について学べる一冊です。
開発者に必要なテストの基礎知識/技法と、その実践方法について、初心者にも分かりやすく解説しています。
著者 飯山 教史 (著, 監修, 監修)
町田 欣史 ほか(著)
出版社翔泳社
レベル中級
3 タイトル バグがないプログラムのつくり方 副題に書いてある、「JavaとEclipseで学ぶTDDテスト駆動開発」を学ぶための一冊です。TDDとはテスト駆動型開発の略で、テスト環境をあらかじめ整備した上でプログラム開発を進める手法のことです。
アジャイル開発ではなくてはならない考え方が学べる一冊です。
著者川端 光義 ほか
出版社翔泳社
レベル中級

開発力を養うために

Javaプログラマーとしての実力を高めるために役に立つ書籍です。テストに限らず、プログラマーが知っておくべき知識が学べます。

Javaプログラマーとして知っきたい知識が学べる著書
基本情報詳細
1 タイトル Java言語で学ぶ
リファクタリング入門
リファクタリングとは、汚れたプログラムを品質を保ちながらきれいなものにすることで、現在のプログラミングにはなくてはならない技術です。
この一冊から、Java言語でのリファクタリングが学べます。様々な実例を通して、りファクタリングの実際が優しく学べます。
著者結城 浩
出版社ソフトバンク クリエイティブ
レベル中級・上級
2 タイトル 増補改訂版Java言語で学ぶ
デザインパターン入門
2001年6月の初版刊行以来、多くの読者から圧倒的に支持されてきた前著の増補改訂版です。
デザインパターンとは、オブジェクト指向言語の実装でよく表れるパターンを体系化したものです。この本では、Java言語でのデザインパターンの実装方法について学べます。
著者結城 浩
出版社ソフトバンククリエイティブ
レベル中級・上級
3 タイトル 明解 Javaによる
アルゴリズムとデータ構造
アルゴリズムとデータ構造は、言語の種類に関係なくプログラマーが身につけておくべき大事な知識です。
この本では、Java言語でそれらアルゴリズム及びデータ構造とその実装例を多数紹介しています。情報処理技術者試験対策にも最適です。
著者柴田 望洋
出版社ソフトバンククリエイティブ
レベル中級・上級

資料として手元に置きたい

プログラミング時に資料として手元に置いておくと便利な本です。ちょっとした調べ物にはぴったりです。

資料として手元に置いておきたい本
基本情報詳細
1 タイトル Java逆引きハンドブック Webアプリケーションやゲームなどを作る時などといった、Javaの機能を「やりたいこと」から探すことができる逆引き辞典です。
サンプルコードが分かりやすいうえに、説明もわかりやすいと評判の一冊です。
Javaの基本を一通り終えたら、手元に置いておきたい一冊です。
著者株式会社エイベル
出版社シーアンドアール研究所
レベル中級
2 タイトル ソースコードリーディングから学ぶ
Javaの設計と実装
Javaのプログラマーから設計者へ成長したい人は、手元に置いておきたい一冊です。
ソースコードを題材としたテクニックはもとより、プロダクト全体がどのように設計されており、どういった仕組みで実装されているかが分かります。
常に手元に置くことにより、考え方を身につけるのによいでしょう。
著者WINGSプロジェクト
佐藤 匡剛 (著)
山田 祥寛 (監修)
出版社技術評論社
レベル中級・上級
3 タイトル Java プログラミング辞典
サーバーサイド・データベース・
ネットワーク 編
ネットワーク/サーバーサイド環境のプログラミングでよく使われるクラスを中心に、メールとMIME、HTMLとXMLサーブレットに関するJavaでの実装方法についても解説しています。
サンプルコードが満載な上、機能からの逆引きも可能です。文字どおり便利な辞典です。
著者日向 俊二
出版社翔泳社
レベル中級

読んでおきたい本

アプリケーションを作るときは、なんらかのプラットフォームに依存したものになります。linuxやwindows、さらには組み込みプログラミングといった、プラットフォームに密接に関連したプログラミングのための著作を紹介します。

読んでおきたい本
基本情報詳細
1 タイトル Javaでなぜつくるのか Java言語の入門書というよりも、Javaという言語がどういう言語か、ということについて学べる一冊です。
Javaの魅力を、言語やメモリー管理のしくみやプログラミングの特性などといった、プログラミングの入門書だけではまなべないさまざまなJavaの側面が学べます。
著者米持 幸寿
出版社日経BP社
レベル中級・上級
2 タイトル オブジェクト指向でなぜつくるのか Javaのようなオブジェクト指向とC言語のような関数型言語の本質をズバリ解説しています。
初心者にとっては何かと分かりにくいオブジェクト指向について、詳しく説明しています。
オブジェクト指向がいま一つわからないという人にはお勧めです。
著者平澤 章
出版社日経BP社
レベル初級
3 タイトル プログラムはなぜ動くのか プログラムがコンピュータの中でどのように動作するのかが説明されています。プログラムがメモリーにロードされ、CPUによって解釈・実行されるまでの仕組みを、図解を使って分かりやすく説明しています。
Javaに限らず、プログラミングとは何かを理解したい人にはぴったりの読み物です。
著者矢沢久雄
出版社日経ソフトウエア
レベル初級・中級

他の言語も学んでみましょう

C言語は、現在使用されている様々なプログラミング言語の基礎になっています。C言語を習得したら、別の言語にもチャレンジしてみましょう。

C言語以外の言語の本
基本情報詳細
1 タイトル Cの絵本 翔泳社の「○○の絵本」シリーズのC言語版です。C++言語のしっかりした理解には、C言語の知識が欠かせません。C++を極めたいなら、この本でじっくり足場を固めましょう。
C++言語は、C言語の上位互換の言語であることから、あらかじめC言語をしっかり学ぶことが必要です。まずは、しっかりとC言語を学習してから、C++言語にチャレンジしてみましょう。
C言語の書籍はこちらを参考にどうぞ。
著者(株)アンク
出版社翔泳社
レベル初級
2 タイトル C++の絵本 翔泳社の「○○の絵本」シリーズのC++言語版です。C++言語の入門書としては最高でしょう。C++言語は、C言語の上位互換の言語であることから、あらかじめC言語をしっかり学ぶことが必要です。まずは、しっかりとC言語を学習してから、C++言語にチャレンジしてみましょう。
C++言語の書籍はこちらを参考にどうぞ。
著者(株)アンク
出版社翔泳社
レベル初級
3 タイトル C#の絵本 C#は、マイクロソフトが独自に開発したオブジェクト指向で、C/C++言語や、Javaなどの影響を受けつつ、独自の進化を遂げた言語です。現在、マイクロソフトのプログラミング言語の主流となっている言語で、C言語の次に学んでおいて損はない言語です。
C#言語の書籍はこちらを参考にどうぞ。
著者(株)アンク
出版社翔泳社
レベル初級

Cの本 | C++の本 | C#の本 | Javaの本 | アルゴリズムの本 | MySQLの本