スラスラわかるJava(中垣 健志 林 満也)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. スラスラわかるJava

スラスラわかるJava



形式:
書籍
発売日:
ISBN:
9784798130798
定価:
2,750(本体2,500円+税10%)
仕様:
A5・504ページ
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
シリーズ:
スラスラわかる
紙の書籍
本書籍には新版があります
スラスラわかるJava 第2版

知識ゼロからJavaプログラムが作れる

初めてプログラミングを学ぶ人を対象にした“スラスラわかる”シリーズの新刊です。本書では、「プログラミングやJava関連の知識はゼロ」という状態から、Java言語・プログラミングの基礎知識や作法、基本構文、基本テクニックなどを無理なく習得し、かつプログラムが自力で作れるようになるところまで、しっかりとフォローします。豊富なイラスト・図解と丁寧な解説・サンプルプログラムで、Java/Androidアプリ開発で必要なJava言語の基礎をしっかり身につけることができます。

Javaの基礎固めをしたい方、Androidアプリを作りたいけれどJava言語がわからないという方はもちろんのこと、ほかの入門書で挫折した方やプログラミングに苦手意識を持っている方にもおすすめの一冊です。

第1章 Javaプログラミングの基礎

1.1 Javaの全体像
 JRE(Java SE Runtime Environment)
 JDK(Java SE Development Kit)
1.2 Javaの用途
 Androidアプリ
 Webサービス
1.3 プログラムとは?
 現実世界でのプログラム
 コンピュータでのプログラム
1.4 Javaでのプログラム
 ソースコードの作成
 コンパイル
 実行
1.5 Javaでプログラムを作るための環境
 標準のJavaツールとメモ帳などのエディタを使う方法
 統合開発環境(IDE)を使う
1.6 Javaプログラムの基本ルール
 簡単なプログラム

第2章 値と演算

2.1 値
2.2 整数
 int型
 long型
 short型
 byte型
 文字コード(char型)
2.3 小数
 double型
 float型
 誤差
 接尾語による型の明示的な指定
2.4 真偽値
2.5 演算子
 算術演算子
 比較演算子
 論理演算子
 条件AND / OR演算子
 三項演算子
2.6 演算の注意点
 異なる型同士の演算
 足し算、引き算、掛け算のオーバーフロー
 割り算の桁落ち
2.7 式
 式の演算子の優先順位
2.8 2進数の仕組み
 2進数で整数を扱う
 2進数で負の整数を扱う
 2進数で小数を扱う

第3章 変数

3.1 変数
 宣言
 代入
 参照
3.2 型
 基本型(プリミティブ型)
 参照型(リファレンス型)
3.3 変数の宣言
 変数名の付け方
 変数宣言と代入
3.4 変数への代入
 代入の評価順序
3.5 変数の参照
 変数の初期値とnull
3.6 代入演算子
 代入演算子
 再帰代入演算子
 インクリメント演算子、デクリメント演算子
3.7 型変換とキャスト
 拡大変換
 キャスト変換

第4章 文字

4.1 文字と文字列
4.2 String型
 変数の利用
 文字列の連結
 Javaライブラリの機能〜メソッドの利用
 文字列の長さを調べる
 文字列を抜き出す
4.3 文字エンコーディング
 文字セット(文字集合)
 文字エンコーディング
4.4 エスケープシーケンス

第5章 日付

5.1 Javaと日付
 日付の管理単位
5.2 Date型
 日付を管理する型
 インポート宣言
 インスタンスの作成
5.3 GregorianCalendar型
 カレンダー
 現在の日付を取得する
 指定した日付を取得する
 カレンダーとフィールド
 日付の取得と変更
 日付の計算
 タイムゾーン
5.4 日付を文字列に変換する
 SimpleDateFormat型
 ロケール

第6章 コレクション

6.1 コレクションとは?
 コレクションの機能
6.2 リスト
 リストの基本操作
 アルゴリズムの違いを理解する
6.3 セット
 要素の追加
 要素の削除
 要素が含まれているか確認する
6.4 マップ
 マップの作成
 要素の追加
 要素の削除
 要素の取得
6.5 コレクションの使い分け
6.6 配列
 配列の作成
 要素の取得と変更

第7章 制御構文

7.1 プログラムの処理の流れ
7.2 順次
7.3 分岐
 if
 switch
7.4 反復
 while
 do-while
 for
 拡張for
 breakとcontinue

第8章 オブジェクト指向

8.1 オブジェクト指向とは?
 大規模なプログラムの分割
 オブジェクト指向の特徴
8.2 オブジェクト指向の概念
 カプセル化
 継承
 ポリモルフィズム
 動的束縛
8.3 オブジェクト指向とプログラミング
 単一継承と多重継承
 オブジェクト、クラス、インスタンス
 Javaでのオブジェクト指向

第9章 クラスの基礎

9.1 クラスの定義
 クラス用ファイルの作成
 クラスの定義(class)
 フィールドの定義
 メソッドの定義
9.2 インスタンスの作成
9.3 カプセル化
9.4 継承
 extends
 extendsの省略とObjectクラス
9.5 動的束縛とポリモルフィズム
 動的束縛の利用
 ポリモルフィズムの利用

第10章 クラスの応用

10.1 コンストラクタ
 デフォルトコンストラクタ
10.2 this
10.3 オーバーライド
 クラスのオーバーライド
10.4 オーバーロード
 オーバーロードの利用
10.5 オーバーライドとオーバーロードの違い
10.6 final
 メソッドへのfinal指定
 クラスへのfinal指定
10.7 抽象メソッドと抽象クラス
 抽象クラスと抽象メソッドの具体例
10.8 内部クラス
 内部クラス内のthisの扱い
 無名内部クラス
10.9 参照型のキャスト
 基本型と参照型のキャストの違い
10.10 静的フィールドと静的メソッド
 静的フィールド
 静的メソッド
 静的メソッドの注意点
 静的フィールド、静的メソッドの用途
 定数
10.11 列挙型(enum型)
 列挙型の定義
 列挙型のメリット

第11章 名前空間とスコープ

11.1 名前空間
 package
 import
11.2 スコープ
 Javaでのスコープ
 privateスコープ
 デフォルトスコープ
 protectedスコープ
 publicスコープ
 スコープ使い分けの指針

第12章 インターフェイス

12.1 インターフェイスとは?
 複数のクラスから共通点を抜き出す
12.2 インターフェイスの実装方法
 家電クラスを作成する
 インターフェイスを作成する
 クラスにインターフェイスを実装する
 インターフェイスによるポリモルフィズム
12.3 複数のインターフェイスの実装
 同じメソッドを持つインターフェイス
 変数の型によるメソッド呼び出しの制約
12.4 インターフェイスの継承
12.5 抽象クラスとの違い
 is-a関係
 has-a関係

第13章 ジェネリクス

13.1 ジェネリクスとは?
 ジェネリクスの役割
13.2 ジェネリクスの実装
 何でも扱える倉庫クラス
 特定の物を保存できる倉庫クラス
 ジェネリクスを使った倉庫クラス
 複数の型パラメータ
13.3 ワイルドカード

第14章 例外

14.1 エラー処理と例外
 エラーとは?
 エラー処理
 例外とは?
 例外を利用しないエラー処理
 例外を利用するエラー処理
14.2 例外の基礎
 例外を検出する
 複数の例外を検出する
 必ず最後に実行する
 例外の種類
 例外の原因を調べる
14.3 例外を通知する
 例外を作成する
 例外を通知する
 例外への対処方法のまとめ

第15章 スレッド

15.1 スレッドとは?
15.2 スレッドの基礎
 スレッドを作成する
 スレッドを起動する
 スレッドの終了を待つ
 もう1つのスレッド
15.3 スレッドセーフ
 矛盾が発生する仕組み
 synchronizedなメソッド
 synchronizedブロック

第16章 ライブラリ

16.1 ライブラリとは?
16.2 Javaクラスライブラリ
 java.lang
 java.util
 java.io
16.3 外部ライブラリ
 外部ライブラリを組み込む
 Eclipseでのクラスパスの指定方法
 コマンドラインでのクラスパスの指定方法
16.4 ライブラリの作り方
 Eclipseでのライブラリファイルの作り方
 コマンドラインでのライブラリの作り方

第17章 リフレクションとアノテーション

17.1 リフレクションの基本
 リフレクションとは?
 Classクラスのインスタンスを取得する
 クラス名からClassクラスのインスタンスを取得する
 Classクラスのフィールドを取得する
 クラスのインスタンスを作成する
 フィールドの操作
 メソッドの操作
 リフレクションの危険性
17.2 アノテーションの利用
 アノテーションの書き方
 Java標準のアノテーション
 独自のアノテーションを作成する
 独自のアノテーションを利用する
次のステップへ

Appendix 付録 Java開発環境の準備

A.1 Java プログラムを作る環境
A.2 Pleiades All in One(Eclipse)を使う
 Pleiades All in Oneのインストール
 Eclipseの起動
 プロジェクトの作成
 クラスの作成
 プログラムの入力
 プログラムの実行
 Eclipseの終了
A.3 標準のJava ツールとメモ帳を使う
 Javaのインストール
 環境変数の設定
 メモ帳の起動
 コンパイラの起動とプログラムの作成
 プログラムの実行
 チェックテストの解答例

Column

コンピュータは書いてあるプログラムどおりに動く
Javaで用意されていない数
演算子がない計算
インクリメント演算子、デクリメント演算子の呼び方
文字化け
コレクションフレームワーク
リスト、セット、マップの使われ方
オブジェクト指向は万能か?
フィールドやメソッドの定義順
好ましくない継承
もし動的束縛やポリモルフィズムがなかったら?
BigDecimalクラス
親の親のメソッドは呼び出せないのか?
メソッドにfinalは付けるべき?
複雑な内部クラスの仕様
インターフェイスの名前の付け方
なぜインターフェイスは多重継承ができるのか?
エラーを通知するだけ?
ラッパークラスの役割
入出力処理のtry〜finally句
ライブラリのライセンス
カレントフォルダの指定
ライブラリ化とソースコード
クラス名.classとClass.forName(""クラス名"")の使い分け
privateなフィールドを編集できて良いのか?
リフレクションやアノテーションの使い道
利用者用のJavaと開発者用のJava
Javaのバージョン

付属データはこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
この商品の「よくある質問」はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2016年02月17日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 043
下から3行目
2刷
falseではない
trueではない
2014.03.10
1刷 258
コード囲み2行目
2刷
void hello();
abstract void hello();
2014.03.07
1刷 267
コード囲み(静的メソッドを含むクラスの例)3行目、5行目、9行目
2刷
class Person {   private String name;     /* これは通常のフィールド */   private static int count = 0 /* これは静的フィールド */   /* これは通常のメソッド */   private void setName(String name) {     this.name = name;   }   /* これは静的メソッド */   private static void setCount(int count) {     Person.count = count;   } }
class Person {   private String name;     /* これは通常のフィールド */   private static int count = 0; /* これは静的フィールド */   /* これは通常のメソッド */   public void setName(String name) {     this.name = name;   }   /* これは静的メソッド */   public static void setCount(int count) {     Person.count = count;   } }

count = 0の後のセミコロン(;)抜け。静的メソッドはprivateではなくpublic。
2014.03.07
1刷 318
Check Test 12.4
2刷
Q1 クラスAに、インターフェイスX、Y、Zを実装する定義です。空欄を埋めてください。 public class A extends [ A ] { ... }
Q1 インターフェイスAを、インターフェイスX、Y、Zから継承する定義です。空欄を埋めてください。 public interface A extends [ A ] { ... }
2016.02.17
1刷 329
2つ目のコード囲み
2刷
Warehouse computerWarehouse = new Warehouse(); Computer computer = new Computer();
Warehouse computerWarehouse = new Warehouse(); Computer computer = new Computer(); computerWarehouse.stock(computer);
2014.03.07
1刷 339
コード囲み3行目
2刷
String getName() {
public String getName() {
2014.03.07
1刷 411
2つ目(ページ下部)コード囲み、下から1行目
2刷
Class<Car> superCarClass = SuperCar.class;
Class<SuperCar> superCarClass = SuperCar.class;
2014.03.07
1刷 412
ページ上の図内文字、→の部分(2箇所)
2刷
継承
参照
2014.03.07
1刷 413
コード囲み2・3行目
2刷
Class<Car> carClass = Class.forName("Car"); Class<Car> superCarClass = Class.forName("SuperCar");
Class<Car> carClass = (Class<Car>) Class.forName("Car"); Class<SuperCar> superCarClass = (Class<SuperCar>) Class.forName("SuperCar");
2014.03.07
1刷 416
2つ目のコード囲み、上から9行目および下から1行目
2刷
System.out.println( "フィールド数: " + carClass.getDeclaredMethods().length); ・・・ System.out.println( "フィールド数: " + superCarClass.getDeclaredMethods().length);
System.out.println( "メソッド数: " + carClass.getDeclaredMethods().length); ・・・ System.out.println( "メソッド数: " + superCarClass.getDeclaredMethods().length);

getDeclaredMethodsを含む行の文字列は、"フィールド数" → "メソッド数"が正しい。実行結果は以下のようになります。

■実行結果
クラス名  :Car
親クラス名 :java.lang.Object
フィールド数: 1
メソッド数 : 3
クラス名  :SuperCar
親クラス名 :Car
フィールド数: 0
メソッド数 : 1
2014.03.10
1刷 457
CheckTest2.4 Q1
2刷
・10を3で割った余りは2である ⇒ true
・10を3で割った余りは2である ⇒ false
2014.10.22
1刷 459
CheckTest3.6 Q1
2刷
イ x = 3, y = 4と表示される
 x = 4, y = 3と表示される

解説の変更はありません。
2015.01.14