書籍詳細(AndroidエンジニアのためのモダンJava)

AndroidエンジニアのためのモダンJava 書影

ISBN: 978-4-7741-5878-5

AndroidエンジニアのためのモダンJava

サポート終了
著者山田祥寛
出版社技術評論社
価格3,200円(税別)
判型B5変判・1色
ページ数448ページ
発売日2013年8月20日
対象レベル初中級

Java言語に関する基礎知識を身につける

Androidアプリの開発者が知っておきたい、Java言語の基礎について解説した入門書です。Androidに関連するモダンJava(Java 1.5以降)の言語仕様を中心に説明しています。
JavaScriptやPHPなどの動的言語や、Objective-Cでの開発経験のあるAndroidエンジニアが、Java言語に関する基礎知識の底上げを目指す際、特に有効な一冊です。
AndroidエンジニアのためのモダンJava ロゴ

更新履歴

  • 正誤訂正:2013年11月23日 更新

目次

  • 第1章 イントロダクション
  • 1.1 Android概観
  • 1.1.1 Androidのアーキテクチャ
  • 1.1.2 Androidのバージョン
  • 1.2 AndroidとJava
  • 1.2.1 Javaとは?
  • 1.2.2 Androidの特異な点
  • 第2章 Java の基本
  • 2.1 Javaプログラミングの基本
  • 2.1.1 Hello, Javaアプリの作成
  • 2.1.2 ソースコードの全体像
  • Column サンプルファイルのインポート方法
  • 2.2 変数
  • 2.2.1 識別子の命名規則
  • 2.2.2 より良い識別子のために
  • 2.3 データ型
  • 2.3.1 基本型と参照型
  • 2.3.2 整数型
  • 2.3.3 浮動小数点型
  • 2.3.4 文字型
  • 2.3.5 真偽型
  • 2.4 リテラル
  • 2.4.1 整数リテラル
  • 2.4.2 浮動小数点リテラル
  • 2.4.3 補足:数値リテラルにおける型の特定
  • 2.4.4 文字リテラル
  • 2.4.5 文字列リテラル
  • 2.5 型変換
  • 2.5.1 暗黙的な変換
  • 2.5.2 縮小変換(キャスト)
  • 2.6 参照型
  • 2.6.1 クラス型
  • 2.6.2 配列型
  • 2.6.3 ラッパークラス
  • 2.7 定数
  • 2.7.1 定数の基本
  • 第3章 演算子
  • 3.1 算術演算子
  • 3.1.1 浮動小数点数の演算には要注意
  • 3.1.2 非数値の演算(加算演算子)
  • 3.1.3 文字列の連続した結合に要注意
  • 3.1.4 除算とオペランドのデータ型
  • 3.1.5 インクリメント演算子とデクリメント演算子
  • 3.2 代入演算子
  • 3.2.1 基本型と参照型による代入の違い
  • 3.3 比較演算子
  • 3.3.1 同一性と同値性
  • 3.3.2 補足:「==」演算のその他の注意点
  • 3.3.3 条件演算子(?:)
  • 3.4 論理演算子
  • 3.4.1 ショートカット演算(短絡演算)
  • 3.5 ビット演算子
  • 3.5.1 ビット論理演算子
  • 3.5.2 ビットシフト演算子
  • 3.6 演算子の優先順位と結合則
  • 3.6.1 優先順位
  • 3.6.2 結合則
  • 第4章 制御命令
  • 4.1 条件分岐
  • 4.1.1 if命令 — 単純分岐
  • 4.1.2 if命令 — 多岐分岐
  • 4.1.3 if命令 — ネスト構造
  • 4.1.4 補足:ブロックの{...}は省略可能
  • 4.1.5 補足:if命令によるコメントアウト
  • 4.1.6 switch命令
  • 4.2 繰り返し処理
  • 4.2.1 while / do...while命令
  • 4.2.2 補足:無限ループ
  • 4.2.3 for命令
  • 4.2.4 拡張for命令
  • 4.2.5 break / continue命令
  • 第5章 オブジェクト指向構文(クラスの基本)
  • 5.1 クラスの基本
  • 5.1.1 クラス名
  • 5.1.2 修飾子
  • 5.1.3 メンバーの記述順序
  • 5.2 フィールド
  • 5.2.1 フィールド名
  • 5.2.2 修飾子
  • 5.2.3 デフォルト値
  • 5.3 メソッド
  • 5.3.1 メソッド名
  • 5.3.2 引数(仮引数と実引数)
  • 5.3.3 戻り値
  • 5.3.4 修飾子
  • 5.3.5 thisキーワード
  • 5.4 メソッド(オーバーロード/可変長引数/再帰呼び出し)
  • 5.4.1 メソッドのオーバーロード
  • 5.4.2 可変長引数のメソッド
  • 5.4.3 再帰呼び出し
  • 5.5 変数のスコープ
  • 5.5.1 フィールドの有効範囲
  • 5.5.2 フィールドとローカル変数
  • 5.5.3 ブロックスコープ
  • 5.5.4 仮引数
  • 5.6 コンストラクター
  • 5.6.1 コンストラクターの基本
  • 5.6.2 デフォルトコンストラクター
  • 5.6.3 コンストラクターのオーバーロード
  • 5.6.4 ファクトリーメソッド
  • 5.6.5 初期化ブロック
  • 5.7 クラスフィールド/クラスメソッド
  • 5.7.1 クラスメソッド
  • 5.7.2 補足:ユーティリティクラス
  • 5.7.3 クラスフィールド
  • 5.7.4 クラス定数
  • 5.7.5 static初期化ブロック
  • 5.7.6 補足:初期化処理の実行タイミング
  • Column Javaの歴史
  • 第6章 オブジェクト指向構文(カプセル化/継承/ポリモーフィズム)
  • 6.1 カプセル化
  • 6.1.1 アクセス修飾子
  • 6.1.2 インスタンスフィールドのアクセス権限
  • 6.1.3 補足:不変クラス
  • 6.2 継承
  • 6.2.1 継承の基本
  • 6.2.2 メソッドのオーバーライド
  • 6.2.3 基底クラスのメソッドを呼び出す
  • 6.2.4 コンストラクター(継承時の挙動)
  • 6.2.5 フィールドの隠蔽
  • 6.2.6 継承/オーバーライドの禁止
  • 6.2.7 型変換(参照型)
  • 6.2.8 委譲
  • 6.3 ポリモーフィズム
  • 6.3.1 抽象メソッド
  • 6.3.2 インターフェイス
  • 6.3.3 インターフェイスと抽象クラスとの使い分け
  • Column Javaのコーディング規約
  • 第7章 オブジェクト指向構文(パッケージ/例外処理/その他)
  • 7.1 パッケージ
  • 7.1.1 パッケージの基本
  • 7.1.2 インポート
  • 7.1.3 単一型インポートとオンデマンドインポート
  • 7.1.4 補足:staticインポート
  • 7.2 例外処理
  • 7.2.1 例外処理の基本
  • 7.2.2 finally句
  • 7.2.3 例外クラスの型
  • 7.2.4 例外をスローする — throw命令
  • 7.2.5 検査例外と非検査例外
  • 7.2.6 例外をスローする際の留意点
  • 7.2.7 例外の再スロー
  • 7.2.8 例外クラスを拡張する
  • 7.3 enum型
  • 7.3.1 enum型の導入前
  • 7.3.2 enum型の基本
  • 7.3.3 enum型の正体
  • 7.3.4 コンストラクター/メソッド/フィールドの定義
  • 7.3.5 補足:EnumSetクラスによるビットフィールド表現
  • 7.4 Objectクラス
  • 7.4.1 Objectクラスの主なメソッド
  • 7.4.2 toStringメソッド
  • 7.4.3 equalsメソッド
  • 7.4.4 hashCodeメソッド
  • 7.4.5 cloneメソッド
  • 7.4.6 finalizeメソッド
  • 7.4.7 補足:compareToメソッド
  • 7.5 アノテーション
  • 7.5.1 アノテーションの記述位置
  • 7.5.2 アノテーションの構文
  • 7.5.3 標準アノテーションの例
  • 7.5.4 自作アノテーションの定義
  • 7.5.5 補足:リフレクションの主なメソッド
  • 7.6 ネストしたクラス
  • 7.6.1 staticメンバークラス
  • 7.6.2 非staticメンバークラス
  • 7.6.3 匿名クラス
  • 7.6.4 ローカルクラス
  • Column Javaをより深く学ぶための参考書籍
  • 第8章 コレクション
  • 8.1 コレクションフレームワークの基本
  • 8.1.1 主なインターフェイスと実装クラス
  • 8.1.2 コレクションの基本構文
  • 8.1.3 基本的なコーディング手法
  • 8.1.4 コレクションを順番に処理する
  • 8.1.5 コレクションのラッピング
  • 8.2 リスト(Listインターフェイス)
  • 8.2.1 ArrayList
  • 8.2.2 LinkedList
  • 8.2.3 リストの基本コード
  • 8.3 セット
  • 8.3.1 セットの具体的なコード例
  • 8.4 マップ
  • 8.4.1 HashMap
  • 8.4.2 IdentityHashMap / WeakHashMap
  • 8.4.3 LinkedHashMap / TreeMap
  • 8.4.4 補足:NavigableMap
  • 8.5 Deque(Queue)
  • 8.5.1 ArrayDequeによるキュー/スタックの実装
  • 8.5.2 補足:QueueメソッドとStackメソッド
  • 8.6 ジェネリックス
  • 8.6.1 ジェネリックス定義の基本
  • 8.6.2 境界ワイルドカード型
  • 8.6.3 ジェネリックメソッド
  • 第9章 ストリーム
  • 9.1 ストリームの基本
  • 9.1.1 ストリームの分類
  • 9.2 さまざまなストリームの例
  • 9.2.1 テキストファイルの読み書き
  • 9.2.2 補足:ファイル操作
  • 9.2.3 バイナリファイルの読み書き
  • 9.2.4 バイトストリーム→文字ストリームの変換
  • 9.2.5 読み書きのバッファリング処理
  • 9.2.6 Android環境でのファイル操作
  • 9.2.7 ファイルにランダムアクセスする
  • 9.2.8 オブジェクトをファイルに保存する
  • 9.2.9 出力ストリーム→入力ストリームの連結(パイプ)
  • 9.3 ネットワーク
  • 9.3.1 ソケット通信
  • 9.3.2 HTTP通信
  • 9.3.3 構造化データを取得&解析する
  • 第10章 スレッド
  • 10.1 スレッドの基本
  • 10.1.1 スレッドの作成&実行
  • 10.1.2 同期処理
  • 10.1.3 スレッドプール
  • 10.2 Android アプリにおけるスレッド処理
  • 10.2.1 Handlerによるメインスレッドの操作
  • 10.2.2 AsyncTaskによる非同期処理
  • 10.2.3 ProgressDialogによる進捗表示
  • 10.2.4 AsyncTaskLoaderによる非同期処理

正誤表

該当頁 該当箇所 修正刷
訂正箇所 訂正事項 更新日
p.520 図11-1 -
ダイクトメッセージ ダイクトメッセージ 2013/11/23

FAQ

現在、FAQはありません。

お問い合わせ

書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。

Powered by メールフォーム 『オレンジフォーム』