スッキリわかるJava入門 第2版

スッキリわかるJava入門 第2版

¥2,600+税

品種名
書籍
発売日
2014/8/7
ページ数
658
サイズ
A5判
著者
中山 清喬 著/国本 大悟 著
ISBN
978-4-8443-3638-9

Javaの「どうして?」「なぜそうなる?」が必ずわかる入門書の決定版!

大手ネット書店部門ランキング1位の大人気Java入門書に改訂版登場! 本書は、Javaの基礎からオブジェクト指向まで、Javaの「なぜ?」がわかる丁寧な解説と約300点の豊富なイラストで、楽しく・詳しく・スッキリとマスターできる構成となっています。初心者が安心して学習できるように、ブラウザ上でコーディング、コンパイル、実行ができる仮想開発環境「dokojava」と、巻末付録にはエラーを解決しやすい「虎の巻」を用意していますので、ぜひ本書で、Javaプロフェッショナルへの第一歩を踏みだしてみてください!

「読者アンケートに答える」「読者プレゼントに応募」の場合もこちらをご利用ください。

アンケートに答える

書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。

詳細

■著者からのメッセージ

著者の2人は、新入社員をはじめ若手エンジニアの方々の「Java学習」を、これまで数多くお手伝いさせていただきました。「楽しく、しかし現場で本当に求められるスキルを」と考え実践してきた以下の3つのコンセプトに沿って、本書も執筆しています。

1. 手軽に・つまずかずに、Javaをはじめられる
Java特有の「複雑な開発準備作業」でつまずくことなく、最初の一歩を今すぐ踏み出せるよう、クラウド開発実行環境「dokojava」を準備しました。また、陥りがちなトラブルへの対策を巻末付録Cにまとめましたのでご参照ください。

2. 実務で役立つ内容に絞って学習を進めることができる
ネット活用の日常化を鑑み、「必要になったら自力で言語仕様を調べればわかる部分」の取り扱い優先度を下げ、実務に必要となる内容を重視しました。

3.「オブジェクト指向」の本質とおもしろさが理解できる
Java学習の要である「オブジェクト指向」をスッキリ理解するために必要なのは文法知識ではなく、その根底を流れる思想・概念・用途のイメージです。Java言語仕様に記載がないこの部分こそ、解説書がていねいに伝えるべき内容だと考え、ページ数を割きました。

この3つの硬派なコンセプトを、親しみやすいイラストとゲームという題材によってやわらかく包み仕上げたものが本書です。
 この第2版では、最新Java8への対応やEclipseに関する追補に加え、より快適に読み進めていただけるよう2,000か所以上のアップデートを行いました。

「楽しく読み進めていったら、いつのまにか実務に耐えうるスキルが身に付いていた」…そんな体験を、この本を手に取ってくださったみなさんにお届けできれば光栄です。

■著者プロフィール

中山清喬(なかやま・きよたか)

株式会社フレアリンク代表取締役。IBM内の先進技術部隊に所属しシステム構築現場を数多く支援。退職後も研究開発・技術適用支援・教育研修・執筆講演・コンサルティング等を通じ、「技術を味方につける経営」を支援。現役プログラマ。講義スタイルは「ふんわりスパルタ」。著書に『スッキリわかるJava入門 実践編』『スッキリわかるSQL入門 ドリル215問付き』。

国本大悟(くにもと・だいご)

文学部・史学科卒。大学では漢文を読みつつ、IT系技術を独学。会社でシステム開発やネットワーク・サーバ構築等に携わった後、フリーランスとして独立する。システムの提案、設計から開発を行う一方、プログラミングやネットワーク等のIT研修に力を入れており、大規模SIerやインフラ系企業での実績多数。著書に『スッキリわかるサーブレット&JSP入門』。

ページイメージ

クリックすると大きい画像でご覧いただけます

目次

まえがき
「dokojava」の使い方
本書の見方

第0章 Javaをはじめよう
 0.1 ようこそJavaの世界へ
 0.2 はじめてのプログラミング

第Ⅰ部 ようこそJavaの世界へ

第1章 プログラムの書き方
 1.1 Java開発の基礎知識
 1.2 Javaプログラムの基本構造
 1.3 変数宣言の文
 1.4 第1章のまとめ
 1.5 練習問題
 1.6 練習問題の解答

第2章 式と演算子
 2.1 計算の文
 2.2 オペランド
 2.3 評価のしくみ
 2.4 演算子
 2.5 型の変換
 2.6 命令実行の文
 2.7 第2章のまとめ
 2.8 練習問題
 2.9 練習問題の解答

第3章 条件分岐と繰り返し
 3.1 プログラムの流れ
 3.2 ブロックの書き方
 3.3 条件式の書き方
 3.4 分岐構文のバリエーション
 3.5 繰り返し構文のバリエーション
 3.6 制御構造の応用
 3.7 第3章のまとめ
 3.8 練習問題
 3.9 練習問題の解答

第4章 配列
 4.1 配列のメリット
 4.2 配列の書き方
 4.3 配列と例外
 4.4 配列のデータをまとめて扱う
 4.5 配列の舞台裏
 4.6 配列の後片付け
 4.7 多次元の配列
 4.8 第4章のまとめ
 4.9 練習問題
 4.10 練習問題の解答

第5章 メソッド
 5.1 メソッドとは
 5.2 引数の利用
 5.3 戻り値の利用
 5.4 オーバーロードの利用
 5.5 引数や戻り値に配列を用いる
 5.6 コマンドライン引数
 5.7 第5章のまとめ
 5.8 練習問題
 5.9 練習問題の解答

付録A JDKを用いた開発
 A.1 Javaの開発に必要なツール
 A.2 コマンドラインプロンプトの使い方
 A.3 ソース編集・コンパイル・実行

第6章 複数クラスを用いた開発
 6.1 ソースファイルを分割する
 6.2 複数クラスで構成されるプログラム
 6.3 パッケージを利用する
 6.4 名前空間
 6.5 JavaAPIについて学ぶ
 6.6 クラスが読み込まれるしくみ
 6.7 パッケージに属したクラスの実行方法
 6.8 第6章のまとめ
 6.9 練習問題
 6.10 練習問題の解答

第Ⅱ部 すっきり納得オブジェクト指向

第7章 オブジェクト指向をはじめよう
 7.1 オブジェクト指向を学ぶ理由
 7.2 オブジェクト指向の定義と効果
 7.3 オブジェクト指向の全体像と本質
 7.4 オブジェクトと責務
 7.5 オブジェクト指向の3大機能と今後の学習
 7.6 第7章のまとめ
 7.7 練習問題
 7.8 練習問題の解答

第8章 インスタンスとクラス
 8.1 仮想世界の作り方
 8.2 クラスの定義方法
 8.3 クラス定義による効果
 8.4 インスタンスの利用方法
 8.5 第8章のまとめ
 8.6 練習問題
 8.7 練習問題の解答

第9章 さまざまなクラス機構
 9.1 クラス型と参照
 9.2 コンストラクタ
 9.3 静的メンバ
 9.4 第9章のまとめ
 9.5 練習問題
 9.6 練習問題の解答

第10章 カプセル化
 10.1 カプセル化の目的とメリット
 10.2 メンバに対するアクセス制御
 10.3 getterとsetter
 10.4 クラスに対するアクセス制御
 10.5 カプセル化を支えている考え方
 10.6 第10章のまとめ
 10.7 練習問題
 10.8 練習問題の解答

第11章 継承
 11.1 継承の基礎
 11.2 インスタンスの姿
 11.3 継承とコンストラクタ
 11.4 正しい継承、間違った継承
 11.5 第11章のまとめ
 11.6 練習問題
 11.7 練習問題の解答

第12章 高度な継承
 12.1 未来に備えるための継承
 12.2 高度な継承に関する2つの不都合
 12.3 抽象クラス
 12.4 インタフェース
 12.5 第12章のまとめ
 12.6 練習問題
 12.7 練習問題の解答

第13章 多態性
 13.1 多態性とは
 13.2 ザックリ捉える方法
 13.3 ザックリ捉えたものに命令を送る
 13.4 捉え方を変更する方法
 13.5 多態性のメリット
 13.6 第13章のまとめ
 13.7 練習問題
 13.8 練習問題の解答

第Ⅲ部 もっと便利にAPI活用術

第14章 Javaを支える標準クラス
 14.1 日付を扱う
 14.2 すべてのクラスの祖先
 14.3 基本データ型をオブジェクトとして扱う
 14.4 第14章のまとめ
 14.5 練習問題
 14.6 練習問題の解答

第15章 例外
 15.1 エラーの種類と対応策
 15.2 例外処理の流れ
 15.3 例外クラスとその種類
 15.4 例外の発生と例外インスタンス
 15.5 さまざまなcatch構文
 15.6 例外の伝播
 15.7 例外を発生させる
 15.8 第15章のまとめ
 15.9 練習問題
 15.10 練習問題の解答

第16章 まだまだ広がるJavaの世界
 16.1 ファイルを読み書きする
 16.2 インターネットにアクセスする
 16.3 データベースを操作する
 16.4 ウィンドウアプリケーションを作る
 16.5 スマートフォンのアプリを作る
 16.6 Webサーバで動くJava

付録B Eclipseによる開発
 B.1 Eclipseの導入
 B.2 Eclipseによる開発手順

付録C エラー解決・虎の巻
 C.1 エラーとの上手なつきあい方
 C.2 トラブルシューティング
 C.3 エラーメッセージ別索引

付録D 構文リファレンス

索引

COLUMN
・dokojavaが利用できないときは
・Javaの予約語一覧
・Javaの進化の歴史
・整数リテラルに関する応用記法
・++や--は、ほかの演算子と一緒に使わない!
・整数型としてのchar型
・Java言語仕様をのぞいてみよう
・数学の表現とJava条件式の表現
・条件式の短絡評価
・配列のlengthと文字列のlength()
・メソッドのシグネチャ
・JREとは
・バイトコードと仮想マシン
・JARファイルとは?
・デフォルトパッケージ
・import宣言はあくまでも「めんどうさ軽減機能」
・もっとAPIを知りたくなったら
・クラスパスに自動的に加わるrt.jar
・統合開発環境を用いた効率的な開発作業
・似ているようで異なるjavaとjavacの引数
・「考え方」「捉え方」の違いが世界を変えることもある
・thisは省略しないで!
・クラスに対するアクセス修飾の定石
・「祖父母」インスタンス部へのアクセスは不可能!
・継承関係によるアクセス制御
・インタフェースにおける定数宣言
・インタフェースメソッドのデフォルト実装
・java.sql.Dateと混同しない
・「月」の値にご用心
・System.out.println()の中身
・例外をもみ消さない
・さまざまなモノにつながるストリーム
・本書のソースコードを入力する場合の注意点
・便利なショートカットキー

関連書籍

好評発売中

スッキリわかるJava入門 実践編 第2版

開発現場の知識が着実に身に付く、Javaプロフェッショナル養成書の決定版!

好評発売中

Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング

新Javaの使い方を一挙に解説!Java 8/7をキャッチアップ

好評発売中

APIデザインの極意 Java/NetBeansアーキテクト探究ノート

NetBeans開発プロジェクト10年超の蓄積! API設計の経験や考察をまとめた一冊

好評発売中

スッキリわかるサーブレット&JSP入門

Webアプリ開発のスキルを習得して、ワンランク上のJavaエンジニアになろう!

ダウンロード

お詫びと訂正

誤記のためにご迷惑をおかけし、誠に申し訳ございません。

  • 0ページ ソースコードのダウンロードページURLについて
    • [誤]書籍内で案内している、ソースコードダウンロードページのURLが、サイトリニューアルにともないアクセスできなくなりました。今後は本ページ内(上部)にある、「ダウンロード」コーナーをご利用ください。
    • [正]
  • 69ページ 本文、図2-6の上の1行前半
    • [誤]次に「a=b」が評価され、
    • [正]次に「a=10」が評価され、
    • 【 第4刷にて修正 】
  • 92ページ 見出し「命令の実行」の下の文頭
    • [誤]1Javaに
    • [正]Javaに
    • 【 第6刷にて修正 】
  • 107ページ ページ下、表3-1内
    • [誤]演算子│意味

      >=  │左辺と右辺より大きいか等しい
    • [正]演算子│意味

      >=  │左辺が右辺より大きいか等しい
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 121ページ 図3-16のキャプション文
    • [誤]a評価される
    • [正]評価される
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 127ページ 図3-19、左図、「視力>1.0?」付近
    • [誤]菱形「視力>1.0?」に「true」「false」がない
    • [正]菱形「視力>1.0?」の右上に「true」

      菱形「視力>1.0?」の左下に「false」

      を追記
    • 【 第6刷にて修正 】
  • 180ページ 本文下から5行目と3行目
    • [誤]リスト5-4

      (※2個所)
    • [正]リスト5-5
    • 【 第3刷にて修正 】
  • 200ページ 図5-17中のソースコード
    • [誤]for(int i=0; i < ; newArray.lengthi++) {
    • [正]for(int i=0; i < newArray.length; i++) {
    • 【 第6刷にて修正 】
  • 211ページ 本文上から2行目
    • [誤](Java SE Developmet Kit)
    • [正](Java SE Development Kit)
    • 【 第3刷にて修正 】
  • 241ページ リスト6-8
    • [誤]1 package calcapp.main;

      2 import calcapp.logics.CalcLogic;

      3  :

      4 public class Calc {

      5  public static void main(String[] args) {

      6   int total = CalcLogic.tasu(a, b);

      7   int delta = calcapp.logics.CalcLogic.hiku(a, b);

      8  }

      9 }
    • [正]1 package calcapp.main;

      2 import calcapp.logics.CalcLogic;

      3 public class Calc {

      4  public static void main(String[] args) {

      5   :

      6   int total = CalcLogic.tasu(a, b);

      7   int delta = calcapp.logics.CalcLogic.hiku(a, b);

      8   :

      9  }

      10 }
    • 【 第3刷にて修正 】
  • 264ページ 練習6-3の解答のコード、1行目
    • [誤]static void showMondokoro() throws Exception {
    • [正]public static void showMondokoro() throws Exception {
    • 【 第3刷にて修正 】
  • 293ページ 本文最下行
    • [誤]もう一度を読み返しておくと
    • [正]もう一度読み返しておくと
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 335ページ 本文下から7行目
    • [誤]という説明してきました。
    • [正]という説明をしてきました。
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 337ページ 本文1-2行目
    • [誤]その番地をアクセスする
    • [正]その番地にアクセスする
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 340ページ リスト9-3 吹き出し文「勇者が装備~~」の位置
    • [誤]4 int hp; ←勇者が装備している剣の情報
    • [正]5 Sword sword; ←勇者が装備している剣の情報
    • 【 第2刷にて修正 】
  • 391ページ 見出し「メリット1」の本文上から3行明
    • [誤]自由に読めように
    • [正]自由に読めるように
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 413ページ 1行目
    • [誤]attack()、hp()、name()も持っている
    • [正]attack()、hp、nameも持っている
    • 【 第3刷にて修正 】
  • 421ページ 本文、上から5行目
    • [誤]理解できるしょう
    • [正]理解できるでしょう
    • 【 第4刷にて修正 】
  • 425ページ 本文最上部
    • [誤]次のように記述することが実現できます。
    • [正]次のように記述することで実現できます。
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 458ページ ページ上部、湊のセリフ内
    • [誤]「未定」か「何もやらない(決定)」が区別
    • [正]「未定」か「何もやらない(決定)」かが区別
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 481ページ 図12-18 Javaクリーニング店(奈良)のクラス名
    • [誤]KyotoCleaningShop
    • [正]NaraCleaningShop
    • 【 第6刷にて修正 】
  • 518ページ 本文最下行
    • [誤]次のようもの
    • [正]次のようなもの
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 520ページ リスト13-7、11行目
    • [誤]ch.addHp(50;)
    • [正]ch.setHp(ch.getHp() + 50);
    • 【 第4刷にて修正 】
  • 561ページ 「CONTENTS」リスト内
    • [誤]15.6 例外の伝搬
    • [正]15.6 例外の伝播
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 584ページ 図15-13中のソースコード
    • [誤]「System.exit(1);」の行を削除
    • [正]
    • 【 第4刷にて修正 】
  • 585ページ 図14-14中のソースコード
    • [誤]「System.exit(1);」の行を削除
    • [正]
    • 【 第4刷にて修正 】
  • 589ページ ページ最上部
    • [誤]15.6.2 チェック例外の伝搬とスロー宣言
    • [正]15.6.2 チェック例外の伝播とスロー宣言
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 590ページ 本文ページ中程と囲み記事「スロー宣言が及ぼす影響」の影響②の2行目の2個所
    • [誤]伝搬
    • [正]伝播
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 594ページ 本文上から6行目
    • [誤]伝搬
    • [正]伝播
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 607ページ 図16-4の右「データベース」のタイトル行
    • [誤]名前 年齢
    • [正]下記参照
    • 備考:

      Name AGE

      データ行との区別が付けるためタイトル行のみ灰色とする

      ※次の増刷(7刷)で対応予定

  • 626ページ 図B-12の吹き出しの数字
    • [誤]左上の吹き出し「(2)クリック」

      右の吹き出し「(3)クリック」
    • [正]左上の吹き出し「(3)クリック」

      右の吹き出し「(2)クリック」
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 626ページ コラム内、表の1段目
    • [誤]在編集中の
    • [正]現在編集中の
    • 【 第3刷にて修正 】
  • 636ページ 本文上から3行目
    • [誤]値を代入をする
    • [正]値を代入する
    • 備考:

      ※次の増刷(7刷)で対応予定

  • 641ページ C.5.5の「対応」内、下から2行目
    • [誤]どこでnullがに
    • [正]どこでnullに
    • 備考:

      ※次の増刷(7刷)で対応予定