スッキリわかるJava入門 実践編
3,080円(本体 2,800円+税10%)
- 品種名
- 書籍
- 発売日
- 2012/9/14
- ページ数
- 544P
- サイズ
- A5判
- 著者
- 中山清喬 著
- ISBN
- 9784844332763
Javaの開発現場で即戦力になれる知識が身に付く!
開発現場ではJavaの文法やオブジェクト指向に関する知識だけでなく、テストの進め方やグループで開発を行うコラボレーションの方法など多くの知識が要求されます。本書はJavaプログラマーとして最低限、現場で必要とされる周辺知識を網羅した「ここまで理解できれば開発現場に出るための準備ができる」ための知識を易しく・楽しく・スッキリと分かりやすく解説しました。既刊書「スッキリわかるJava入門」で文法やオブジェクト指向をマスターされた方が、さらなるステップアップをめざすための解説書として最適なのはもちろん、「Javaはマスターしたけれど、開発現場で必要とされる最低限の知識を身につけておきたい」という方にもお勧めです。
★dokojavaのご利用はこちらから→【dokojava】
「読者アンケートに答える」「読者プレゼントに応募」の場合もこちらをご利用ください。
書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。
学校・法人一括購入に関するお問い合わせはこちらへ。
詳細
■著者からのメッセージ
Javaの基本文法やオブジェクト指向について解説した前作『スッキリわかるJava入門』に続く本書ではデータベースアクセスやコレクションといったJavaの各種APIに加え、開発現場で活躍するために必要な内容を幅広く盛りこみました。テスト技法・メトリクス・設計理論・デザインパターン・ソースやタスクの共有・アジャイル開発方法論および、それらに関する各種ツールについても紹介しています。 これから本格的に現場でJavaを使っていく入門者の方はもちろん、「これを渡しておけば若手が現場でとまどわない一冊」として、現場の先輩方にもご活用いただけましたら幸いです。 |
■著者プロフィール
中山清喬(なかやま・きよたか) 株式会社フレアリンク代表取締役。IBM 内の先進技術部隊に所属しシステム構築現場を数多く支援。退職後も研究開発・技術適用支援・教育研修・執筆講演・コンサルティング等を通じ、「技術を味方につける経営」を支援。現役プログラマ。講義スタイルは「ふんわりスパルタ」。 |
■イラストレータ略歴
高田ゲンキ(たかた・げんき) イラストレーター/神奈川県出身/ 1976 年生。東海大学文学部卒業後、デザイナー職を経て、2004 年よりフリーランス・イラストレーターとして活動。書籍・雑誌・web・広告等で活動中。 ホームページ http://www.genki119.com |
目次
第1章 文字列の操作
各種操作メソッド / 正規表現
第2章 コレクション
ArrayList / HashMap / 他
第3章 さまざまな種類のクラス
型安全 / ジェネリクス / 列挙型
第4章 その他の基本機能
equals / hashCode / compareTo / clone
第5章 非標準ライブラリの活用
commons-lang / OSS(オープンソース・ソフトウェア) / 代表的なライセンス
第6章 ファイルの操作
読み書き / ストリームの概念 / フィルタ
第7章 さまざまなファイル形式
CSV / プロパティ / XML / 直列化
第8章 ネットワーク通信
URL / Socket / ServerSocket
第9章 データベースアクセス
JDBC / トランザクション処理
第10章 基本的な開発ツール
Javadoc / Jar / IDE
第11章 単体テストとアサーション
JUnit / アサーション / 契約による設計
第12章 メトリクスとリファクタリング
カバレッジ / 循環的複雑度 / checkstyle
第13章 コードとタスクの共有
VCS(Subversionほか) / チケット(Redmineほか)
第14章 アジャイルな開発
開発の流れ / ペアプログラミング / TDD(テスト駆動開発) / CI(継続的インテグレーション)
第15章 設計の原則とデザインパターン
DRY / SRP / OCP / ADP / SDP / GoFパターン
第16章 スレッドによる並列処理
スレッド / 調停 / Concurency Utilities
関連書籍
ダウンロード
-
本書掲載のソースコードは、著者運営サイトでダウンロードできます。
▼スッキリわかるシリーズ ダウンロードページ
https://sukkiri.jp/books/sukkiri_javap/sukkiri_javap_downloa d.html
お詫びと訂正
誤記のためにご迷惑をおかけし、誠に申し訳ございません。
- 28ページ リスト1-3の行番号5(7行目)の末尾
- [誤]
// ⇒ a Prog - [正]
// ⇒ a Pro - 【 第3刷にて修正 】
- [誤]
- 40ページ ページ中程の小見出し、文頭数字
- [誤]
⑥ハットとダラー:先頭と末尾 - [正]
⑦ハットとダラー:先頭と末尾
- [誤]
- 41ページ リスト1-7の実行結果(ページ中央背景が灰色の部分)
- [誤]
abc->def->ghi - [正]
abc->def->ghi-> - 【 第3刷にて修正 】
- [誤]
- 48ページ 1-3の(3)の解答
- [誤]
U[A-Z]{2,4} - [正]
U[A-Z]{3} - 【 第2刷にて修正 】
- [誤]
- 48ページ 1-3の(2)の解答
- [誤]
A\d? - [正]
A\d{1,2} - 【 第2刷にて修正 】
- [誤]
- 82ページ リスト2-9の2行目
- [誤]
class Hero { public string name; } - [正]
class Hero { public String name; } - 【 第4刷にて修正 】
- [誤]
- 91ページ リスト3-1 Object型を利用した… の14行目
- [誤]
prints(n, s); - [正]
prints(s, n); - 【 第2刷にて修正 】
- [誤]
- 106ページ ページ中程のリストの1行目
- [誤]
import static AccountType.FUTSU; - [正]
import static packageA.AccountType.FUTSU; - 【 第3刷にて修正 】
- [誤]
- 106ページ 3.3.3の本文4行目に、括弧書きを追加
- [誤]
が可能になります。 - [正]
が可能になります(例: AccountTypeがpackageAに属する場合)。 - 【 第3刷にて修正 】
- [誤]
- 118ページ 3.7、練習3-2の解答中、9-14行目
- [誤]
switch(this.keyType) {
case PADLOCK: if(count < 1024) return null;
case BUTTON: if(count < 10000) return null;
case DIAL: if(count < 30000) return null;
case FINGER: if(count < 100000) return null;
} - [正]
switch(this.keyType) {
case PADLOCK: if(count < 1024) return null;
break;
case BUTTON: if(count < 10000) return null;
break;
case DIAL: if(count < 30000) return null;
break;
case FINGER: if(count < 100000) return null;
break;
} -
備考:
※「break;」を4ヶ所挿入する
※なお、このリスト3-2には複数のクラス宣言が含まれます。実行するには、それぞれ別のソースファイル(クラス名.java)に分けて記述してください。
- [誤]
- 141ページ リスト4-8の4行目の下に1行追加する
- [誤]
Sword s = new Sword(" はがねの剣"); - [正]
Sword s = new Sword(" はがねの剣");
h1.setSword( s ); - 【 第4刷にて修正 】
- [誤]
- 153ページ 「練習4-1の解答」中
- [誤]
1行目(public class Book implements~)の前に、次の1行を挿入する - [正]
import java.util.*;
- [誤]
- 153ページ 「練習4-1の解答」中
- [誤]
1行目(public class Book implements~)と2行目(public int hashCode() {)の間に、以下の3行を挿入する - [正]
private String title;
private Date publishDate;
private String comment;
※上記3行は、p152のリスト3-5行目と全く同じモノです
- [誤]
- 186ページ コラム「ランダムアクセス用のAPI」内ソースコード最終行
- [誤]
f.writeByre(b); - [正]
f.writeByte(b);
- [誤]
- 190ページ リスト6-2
- [誤]
6 int i = fw.read();
7 while (i != -1) {
8 char c = (char) i;
9 System.out.print(c);
10 } - [正]
6 int i = fw.read();
7 while (i != -1) {
8 char c = (char) i;
9 System.out.print(c);
10 i = fw.read();
11 }
※10行目の「i = fw.read();」を追加しました。
11行目以降の行番号は1つずつ増えます。 - 【 第2刷にて修正 】
- [誤]
- 206ページ リスト6-6の4行目
- [誤]
ByteArray OutputStream baos = - [正]
ByteArrayOutputStream baos = - 【 第4刷にて修正 】
- [誤]
- 206ページ ページ中段湊君の会話文2行目
- [誤]
java.io.OutputStreamインタフェース - [正]
java.io.OutputStreamクラス - 【 第4刷にて修正 】
- [誤]
- 209ページ 特徴(1)の本文3行目
- [誤]
java.io.CipherOutputStreamは - [正]
javax.crypt.CipherOutputStreamは
- [誤]
- 209ページ 特徴(2)の本文3行目に追加
- [誤]
「~コンストラクタで指定して生成します。」の後ろに、次の文を追加。 - [正]
なお、コード内に登場する変数algoには、暗号化方式等の指定が格納されているものとします。
- [誤]
- 209ページ 特徴(2)のソースコード4行目
- [誤]
備考参照 - [正]
-
備考:
【誤】CipherOutputStream cos = new CipherOutputStream(fos);
【正】CipherOutputStream cos = new CipherOutputStream(fos, algo);
- [誤]
- 210ページ 特徴(3)のソースコード4行目
- [誤]
備考参照 - [正]
-
備考:
【誤】CipherOutputStream cos = new CipherOutputStream(fos);
【正】CipherOutputStream cos = new CipherOutputStream(fos, algo);
- [誤]
- 210ページ 特徴(3)のソースコード下から3行目
- [誤]
WriterOutputStream wos = new WriterOutputStream(cos); - [正]
OutputStreamWriter osw = new OutputStreamWriter(cos);
- [誤]
- 210ページ 図6-14
- [誤]
図中右端にある「wos.write("AB");」
図中下端にある「WriterOutputStream」 - [正]
図中右端にある「osw.write("AB");」
図中下端にある「OutputStreamWriter」
- [誤]
- 210ページ 菅原の吹き出し文1行目
- [誤]
wos.close()を実行すれば、 - [正]
osw.close()を実行すれば、
- [誤]
- 210ページ 特徴(3)のソース断片コメント
- [誤]
// STEP4:wosに文字書き込めば、バイト変換&暗号化されファイルに流 れていく - [正]
// STEP4:wosに文字を書き込めば、バイト変換&暗号化されファイルに 流れていく
- [誤]
- 216ページ 22行目
- [誤]
: //何もしない - [正]
; //何もしない - 【 第2刷にて修正 】
- [誤]
- 280ページ リスト9-2 4行目
- [誤]
pstmt.setInteger(1, 10); - [正]
pstmt.setInt(1, 10); - 【 第2刷にて修正 】
- [誤]
- 285ページ リスト9-3 4行目
- [誤]
pstmt.setInteger(1, 10); - [正]
pstmt.setInt(1, 10); - 【 第2刷にて修正 】
- [誤]
- 497ページ リスト16-2 5行目
- [誤]
System.out.println(i) - [正]
System.out.print(i) - 【 第4刷にて修正 】
- [誤]
お問い合わせ
書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。