スッキリわかるJava入門

スッキリわかるJava入門

¥2,600+税

品種名
書籍
発売日
2011/10/7
ページ数
640P
サイズ
A5判
著者
中山清喬/国本大悟 著
ISBN
978-4-8443-3086-8

Javaの基本からオブジェクト指向までを「途中で挫折せず」学べる入門書

 

豊富な図解で、初心者には理解しづらいオブジェクト指向を「ごまかさず、きちんと、分かりやすく」解説。また、教材として、Javaのインストールを不要としたクラウドJava環境を用意。本書に掲載したソースコードを用意し、それを呼び出すだけでプログラムの動作を確認できます。ネット環境さえあればPCだけでなくiPhone、iPad、アンドロイドなどのスマートフォンやタブレット端末でもJavaの学習が、いつでも、どこでも可能!

★dokojavaのご利用はこちらから→【dokojava

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

アンケートに答える

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

学校・法人一括購入に関するお問い合わせはこちらへ。

一括購入窓口

関連書籍

近日発売

Deep Learning Javaプログラミング 深層学習の理論と実装(impress top gear)

深層学習のアルゴリズムをJavaで実装!「ゼロからの実装法」のほか「ライブラリの活用法」も解説

好評発売中

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

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

好評発売中

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

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

好評発売中

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

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

ダウンロード

お詫びと訂正

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

  • 0ページ どこJavaのプログラムでキー入力を捉える方法について
    • [誤]「どこJava」のプログラムからjava.util.Scannerなどキー入力を捉えるクラスを使うには以下の操作を行ってください。
    • [正]Dokojavaに一度ログインしていただき、実行ボタンの脇にある小さな「▼」をクリックし、「非同期サーバープロセスとして実行」を選択してください。

      この操作を行いますと、サーバー側とネットワーク接続を確立したうえでキー入力を行うことができます。
  • 0ページ ★9章以降(9、10、11、12、13、14章)の掲載プログラムの実行について
    • [誤]9章以降のプログラムリスト(下記参照)には、



      p334「9章 9-3」、

      p394「10章 練習問題10-1」、

      p396「10章 練習問題10-1の解答」、

      p397「10章 練習問題10-2の解答」、

      p398「10章 練習問題10-3の解答」、

      p422「11章 11-10」、

      p424「11章 11-11」、

      p449「12章 12-4」、

      p487「12章 練習問題12-1の解答」、

      p488「12章 練習問題12-2の解答」、

      p502「13章 13-2」、

      p506「13章 13-5」、

      p520「13章 練習問題13-2」、

      p533「14章 14-5」



      紙面の都合上、複数のクラス宣言が同じ囲み内に書かれているものがあります。

      それらを実際の実行環境で実行するには、クラスごとに別のソースファイル(クラス名.java)に分けて記述、実行してください。
    • [正]
  • 22ページ ページ上から1つ目のリスト内、1行目
    • [誤]System.out.println ( 35 - 10 ); ─── 20
    • [正]System.out.println ( 35 - 10 ); ─── 25
    • 【 第7刷にて修正 】
  • 65ページ 本文、図2-6の上の3行
    • [誤]①もっとも右の=演算子に関する「b=10」が評価され「10が代入済みのb」に化ける。

      ②次に「a=b」が評価され、bの内容がaに代入される。
    • [正]①もっとも右の=演算子に関する「b=10」が評価され、bに10が代入され、その後、式自体は「10」に化ける。

      ②次に「a=10」が評価され、aに10が代入される。
    • 【 第4刷にて修正 】
  • 65ページ 図2-6の右側の図の文字
    • [誤]2段目の右辺「b」

      3段目の「a」
    • [正]2段目の右辺「10」

      3段目「10」
    • 【 第4刷にて修正 】
  • 67ページ 表2-5 演算子「+=」行、評価の例2行目
    • [誤](a+a+"風"と同じ)
    • [正](a=a+"風"と同じ)
    • 【 第6刷にて修正 】
  • 70ページ コラム本文、6行目
    • [誤]②変数bが1増える。
    • [正]②変数aが1増える。
    • 【 第2刷にて修正 】
  • 85ページ ページ上方「実行結果」の文末
    • [誤]あなたは来年、32歳になりますね
    • [正]あなたは来年、32歳になりますね。
    • 【 第8刷にて修正 】
  • 87ページ リスト2-15のタイトル
    • [誤]メソッド「座る」「逃げる」「ころぶ」を追加
    • [正]キーボードからの入力を受け付ける
    • 【 第2刷にて修正 】
  • 98ページ リスト3-2の下側のフキダシの2行目
    • [誤]このプログラムを実際すると
    • [正]このプログラムを実行すると
    • 【 第4刷にて修正 】
  • 108ページ ページ中央のリスト(赤い背景の部分)1行目、右方の単語
    • [誤]genter
    • [正]gender
    • 【 第4刷にて修正 】
  • 122ページ 本文下から3行目
    • [誤]ループ変数を10から1へ減らしていく

    • [正]ループ変数を10から1ずつ1まで減らしていく
    • 【 第4刷にて修正 】
  • 125ページ 図3-20(break文とcontinue文の説明図)
    • [誤]for ( int i=0 ; i< 10 ; i++ ) {
    • [正]for ( int i=1 ; i< 10 ; i++ ) {
    • 備考:

      変数iの初期値は1で始まるべきでした(でなければ3周目でbreakまたはcontimeになりません)。

    • 【 第2刷にて修正 】
  • 127ページ 練習 3-2 の選択肢
    • [誤]b.
    • [正]B.
    • 【 第4刷にて修正 】
  • 132ページ 練習3-6の解答 最後の3行の行番号
    • [誤]13   System.out.println ( " ゲームを終了します" );

      14  }

      15 }
    • [正]15   System.out.println ( " ゲームを終了します" );

      16  }

      17 }
    • 【 第8刷にて修正 】
  • 142ページ 本文1行目
    • [誤]1番目
    • [正]2番目
    • 【 第4刷にて修正 】
  • 143ページ 下から4行目
    • [誤]要素の型[] 変数名=(以下略)
    • [正]要素の型[] 配列変数名=(以下略)
    • 【 第4刷にて修正 】
  • 152ページ ページ中程、小見出し4.5.4の本文3行目
    • [誤]3行目でコピー
    • [正]5行目でコピー
    • 【 第4刷にて修正 】
  • 158ページ リスト4-15の6行目
    • [誤]scores[0][2] = 50;
    • [正]scores[0][2] = 60;
    • 【 第7刷にて修正 】
  • 163ページ 練習4-1の解答
    • [誤]6 String[] names = new String[5];
    • [正]6 String[] names = new String[3];
    • 【 第4刷にて修正 】
  • 173ページ 図5-5のキャプション文
    • [誤]メソッド呼び出し時の処理の流れ。呼び出されたメソッドの処理が終了すると、呼び出し元に戻って処理の続きが実行される。
    • [正]メソッド呼び出しと同時に値を引き渡すことができる。引き渡す値の型や数は、開発者が自由に決めることができる。
    • 【 第4刷にて修正 】
  • 183ページ リスト5-7の8行目
    • [誤]System.out.println( x + "+" + y + "=" + ans);
    • [正]System.out.println( "100+10=" + ans);
    • 【 第2刷にて修正 】
  • 183ページ 図5-12
  • 184ページ リスト5-8、7行目
    • [誤]System.out.println ( add ( add ( 10,20 ) , add ( 30 , 40 ) );
    • [正]System.out.println ( add ( add ( 10,20 ) , add ( 30 , 40 ) ) );
    • 備考:

      閉じカッコ「)」が1つ足りませんでした。

    • 【 第2刷にて修正 】
  • 186ページ 本文下から2行目
    • [誤]定義すること「オーバーロード(overload)」
    • [正]定義することをオーバーロード(overload)
    • 【 第4刷にて修正 】
  • 189ページ リスト5-11、11行目の吹き出し文
    • [誤]1つ目のaddメソッドが呼び出される
    • [正]2つ目のaddメソッドが呼び出される
    • 【 第8刷にて修正 】
  • 190ページ 本文上から1行目
    • [誤]などの変数型だけでなく、
    • [正]などの変数だけでなく、
    • 【 第4刷にて修正 】
  • 193ページ リスト5-13の3行目のコメント文
    • [誤]1を加えて返すメソッド
    • [正]1を加えるメソッド
    • 【 第4刷にて修正 】
  • 199ページ 見出し「メソッド」の本文2行目
    • [誤]メソッド定義を定義
    • [正]メソッド定義を宣言
    • 【 第4刷にて修正 】
  • 235ページ ページ中程の図版の番号
    • [誤]6-11 世界に
    • [正]6-10 世界に
    • 【 第4刷にて修正 】
  • 237ページ リスト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 }
  • 239ページ 3つの吹き出しの下の本文1行目
    • [誤]わたしたちが始めて開発した
    • [正]わたしたちが初めて開発した
    • 【 第4刷にて修正 】
  • 255ページ 本文下から2行目
    • [誤]①JVMコマンドは起動させる
    • [正]①JVMは起動させる
    • 【 第4刷にて修正 】
  • 258ページ 練習 6-1コードの1行目
    • [誤]public class Main throws Exception {
    • [正]public class Main {
    • 【 第7刷にて修正 】
  • 260ページ 練習6-1の解答
    • [誤]コード中の「static void」の前に「public」が抜けている個所がある
    • [正]「public static void」となる
  • 261ページ 練習6-1、練習6-3の解答
    • [誤]コード中の「static void」の前に「public」が抜けている個所がある
    • [正]「public static void」となる
  • 262ページ 練習6-3の解答5行目(6行目を新設)
    • [誤]5 doTogame(); // もう一度、とがめる
    • [正]5 Zenhan.doTogame(); // もう一度、とがめる

      6 }



    • 【 第8刷にて修正 】
  • 295ページ 本文下から5行目
    • [誤]「口座クラス」を一度、作っておけば、この1つのクラスから100個でも
    • [正]「口座クラス」を一度作っておけば、このクラスから100個でも
    • 【 第4刷にて修正 】
  • 307ページ リスト8-8の囲みの下に本文追加
    • [誤]※1-5刷掲載なし
    • [正] なお、クラスの中に定義するフィールドやメソッドをメンバと総称することもありますので覚えておきましょう。
    • 【 第6刷にて修正 】
  • 324ページ 練習8-4の解答リスト、19行目
    • [誤]int recover = new Random().nextInt(2) + sec;
    • [正]int recover = new Random().nextInt(3) + sec;
    • 【 第3刷にて修正 】
  • 332ページ 本文1行目
    • [誤]ポイントは8行目の
    • [正]ポイントは7行目の
    • 【 第2刷にて修正 】
  • 336ページ 図9-9内、左側の上、縦に3つ並んだ箱、一番上の箱内の文字
    • [誤]箱内の上の文字「勇者」

      箱内の下の文字「勇者」
    • [正]箱内の上の文字「ミナト」

      箱内の下の文字「name」
    • 【 第4刷にて修正 】
  • 350ページ リスト9-12のタイトル
    • [誤]newする際に引数を引き渡す
    • [正]コンストラクタのオーバーロード
    • 【 第2刷にて修正 】
  • 358ページ リスト9-19、6行目のコメント
    • [誤]クラスHeroの箱hpを表示
    • [正]クラスHeroの箱moneyを表示
    • 【 第2刷にて修正 】
  • 362ページ 本文、上から2~3行目
    • [誤]静的メソッドは、その実体が各インスタンスではなくクラスに属し、「クラス名.メソッド名();」で呼び出せるようになります。
    • [正]静的メソッドは、「インスタンス変数名.メソッド名();」でも呼び出すことが可能になります。
    • 【 第2刷にて修正 】
  • 362ページ リスト9-23の見出し
    • [誤]静的なメソッドの例
    • [正]静的メソッドの呼び出し
    • 【 第4刷にて修正 】
  • 386ページ リスト10-13
    • [誤]行番号に誤りがありました。また、3行目の番号が2行目の末尾に付いていました。
    • [正]ここをクリックしてPDFファイルをご参照ください
    • 備考:

      2行目以下の行番号が1つずつ減ります。また、元々の3行目は空行ですので、この1行が詰まってもプログラムの内容と動作に変化はありません。

    • 【 第4刷にて修正 】
  • 393ページ ページ中段の見出し「クラスに対するアクセス修飾」の3行目
    • [誤]・public指定されたメンバは、全てのクラスからアクセスできる。
    • [正]・public指定されたクラスは、全てのクラスからアクセスできる。
    • 【 第8刷にて修正 】
  • 402ページ リスト11-1の2行目、3行目
    • [誤]2 String name =" ミナト";

      3 int hp = 100;
    • [正]2 private String name =" ミナト";

      3 private int hp = 100;
    • 【 第4刷にて修正 】
  • 415ページ 本文、上から5行目
    • [誤]理解できるしょう
    • [正]理解できるでしょう
  • 417ページ リスト11-8の5行目
    • [誤]5 this.hp -= 5;
    • [正]5 m.hp -= 5;
    • 【 第4刷にて修正 】
  • 418ページ (前ページから続く)リスト11-8の9行目 (このページの4行目)
    • [誤]9 this.hp -= 5;
    • [正]9 m.hp -= 5;
    • 【 第4刷にて修正 】
  • 419ページ リスト11-9 4行目と6行目のコメント文内
    • [誤]親インスタンス部「の」attack()
    • [正]親インスタンス部のattack()

      ※二個所のカギ括弧をトル
    • 【 第4刷にて修正 】
  • 425ページ 本文3行目
    • [誤]19行目のnew Weapon()により、…
    • [正]18行目のnew Weapon()により、…
    • 【 第2刷にて修正 】
  • 435ページ 問題11-3の解答、7行目
    • [誤]super.attack();
    • [正]super.attack(h);
    • 【 第6刷にて修正 】
  • 454ページ 図12-9
    • [誤]不都合A
    • [正]不都合B
    • 【 第2刷にて修正 】
  • 462ページ リスト12-10、3行目、6行目
    • [誤]3行目の「this.name ()」

      6行目の「this.name ()」
    • [正]3行目の「this.name」

      6行目の「this.name」

      ※括弧はいらない
  • 462ページ 本文下から5行目
    • [誤]リスト12-4の
    • [正]リスト12-10の
    • 【 第3刷にて修正 】
  • 466ページ コラム内の本文1行目
    • [誤]第11章「カプセル化」
    • [正]第10章「カプセル化」
    • 【 第4刷にて修正 】
  • 472ページ リスト12-14 3行目
    • [誤]( Towl c )
    • [正]( Towl t )
    • 【 第4刷にて修正 】
  • 473ページ リスト12-15 12行目
    • [誤]( Towl c )
    • [正]( Towl t )
    • 【 第4刷にて修正 】
  • 476ページ 本文下から4行目
    • [誤]多重継承は10章
    • [正]多重継承は11章
    • 【 第2刷にて修正 】
  • 489ページ 本文1行目
    • [誤]コードのファイル名は「Cleric.java」になります。
    • [正]※上記は不要な文章です。
    • 【 第3刷にて修正 】
  • 514ページ リスト13-7、3行目
    • [誤]Character[] party = new Character[5];
    • [正]Character[] c = new Character[5];
  • 514ページ リスト13-7 11行目、12行目
    • [誤]11 for ( Character c : party ) {   

      12 c.addHp ( 50 );
    • [正]11 for ( Character ch : c ) {

      12 ch.addHp ( 50 );

    • 【 第4刷にて修正 】
  • 524ページ ページ左上の部タイトル
    • [誤]第Ⅱ部 すっきり納得オブジェクト指向
    • [正]第Ⅲ部 もっと便利にAPI活用術
    • 備考:

      上記の訂正は524ページより554ページまでが対象となります。

    • 【 第4刷にて修正 】
  • 568ページ ページ下方2つ目の囲み(グレーの背景)の見出し
    • [誤]実行結果
    • [正]コンパイル結果
    • 【 第4刷にて修正 】
  • 579ページ 図15-14の左側のコード例の3行目
    • [誤]FileWriter fw = new FileWriter("data.txt");
    • [正]fw = new FileWriter("data.txt");
    • 【 第5刷にて修正 】
  • 597ページ リスト16-3のDokojavaでの動作
    • [誤]当ソースはDokojavaでは動作致しません。

      「他のWebサーバーにアクセスする」というコードが、Dokojavaで動作してしまうと、悪意ある攻撃の「踏み台」として悪用されてしまう等の事情があり、セキュリティの理由で動作しないようになっているものです。

      (同様の理由で、ファイルアクセスやデータベースアクセスなどを行う16章のソースコードは動作しません)

      jdkをPCに導入いただいた上で実行いただくことで動作を確認いただくことができます。
    • [正]
  • 638ページ 索引「メンバ」のページ数
    • [誤]361
    • [正]307

      ※5刷までは307ページに「メンバ」の記載はありません。「メンバ」に関する記述はこの正誤リストの「307ページ」の内容をご確認ください。
    • 【 第6刷にて修正 】

お問い合わせ

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

お問い合わせフォーム