ちゃんと使える力を身につける Javaプログラミング入門
マイナビ
著者:大澤文孝
はじめに
CHAPTER 1 Java って何?
この章の内容
SECTION 01 いろいろなところで動くJava
習得しやすく安全なプログラミング言語
C言語やC++を、もっと簡単・堅牢に
Javaで書けば、どのような環境でも動く
OSが違うと、プログラムは動かない
JREが違いを吸収する
「Write once, run anywhere.」をスローガンに
Javaを習得すれば、いろいろなところで動くプログラムが書ける
COLUMN Javaとコーヒーとの関係
SECTION 02 何を作るのかで異なる作法
パソコン用のプログラムがAndroidで動くわけではない
APIクラスライブラリが違う
作法が違う
Javaで作れる代表的なアプリケーション
「言語としてのJava」と「作法やAPIクラスライブラリとしてのJava」
端折らずに決まりを理解しよう
CHAPTER 2 Java の開発環境を整えよう
この章の内容
SECTION 01 Javaのプログラムを作るために必要なもの
Javaのプログラムを作るときの流れ
JDKの種類
Javaのバージョン
COLUMN Javaの互換性
SECTION 02 統合開発環境を使った開発
JDKでの開発と統合開発環境を使った開発の違い
編集してコンパイル、実行までできる統合開発環境
EclipseとNetBeans
COLUMN Android Studio
SECTION 03 統合開発環境「NetBeans」をインストールする
NetBeansをダウンロードする
COLUMN JDKのバージョンの命名規則
COLUMN 32ビット版か64ビット版かを調べる
NetBeansをインストールする
CHAPTER 3 mainメソッドで始めるコンソールアプリ
この章の内容
SECTION 01 プロジェクトを新規作成する
プログラムを書くための新規プロジェクトを作ろう
NetBeansのプロジェクトの画面を確認する
SECTION 02 コンソールアプリケーションの約束ごと
作られたソースコードの構造を理解する
COLUMN コメントとJavaDoc
コンソールアプリケーションでのお約束
COLUMN 決まりごとが多いのは、チーム開発のため
SECTION 03 はじめてのJavaプログラミング
画面に文字を表示するプログラムを書く
実行する
COLUMN コマンドプロンプトから実行する
CHAPTER 4からの解説にあたって
CHAPTER 4 Javaプログラムの基礎(1)~「APIクラスライブラリ」と「文字列」
この章の内容
SECTION 01 プログラムの構成単位となる「クラス」
プログラムをまとめるための実体に相当する「クラス」
プログラムはクラスの内部にメソッドとして記述する
メソッドの定義
文はメソッドの内部に記述する
クラスを作り、メソッドを書くことから始まる
COLUMN クラスやメソッドの命名規則
クラスをとりまとめるパッケージ
パッケージはフォルダ名と合致する
パッケージ名にドメイン名を逆順にしたものを指定する
SECTION 02 基本的な機能を提供する「APIクラスライブラリ」
基本的な機能を提供するAPIクラスライブラリ
クラスライブラリはパッケージ化されている
COLUMN APIクラスライブラリを確認する
System.out.printlnの意味を調べる
標準入出力
COLUMN リダイレクト
文字を書き出すPrintStrem
COLUMN ストリーム
メソッドに値を引き渡す「引数」
SECTION 03 文字列の表記方法
ダブルクォーテーションで括って文字列を表現する
COLUMN 「文字」と「文字列」
改行など特殊文字
文字列中にダブルクォーテーションを含む場合
円記号自体
文字列の連結
CHAPTER 5 Javaプログラムの基礎(2)~「変数」と「オブジェクト」
この章の内容
SECTION 01 値を一時的に保存する変数
値の種類を示す「型」
変数とは
変数の宣言
変数の宣言では型を決める
変数を宣言する
変数を使ってみる
変数の宣言
COLUMN メソッドの外で宣言する
変数への値の代入
変数の参照
COLUMN 変数の宣言と同時に代入する
SECTION 02 Stringオブジェクトを理解する
オブジェクトはクラスをメモリに展開したもの
String型の「型」とはクラスのこと
クラスからオブジェクトを作る
オブジェクトは「データ」と「メソッド」が関連づけられたもの
メソッドの呼び出しと戻り値
Stringオブジェクトのメソッドを呼び出す例
COLUMN 文字列のメソッドを直接呼び出す
Stringオブジェクトのメソッドを呼び出してもオブジェクトは変わらない
引数を伴ったメソッドの呼び出し
クラスとオブジェクトとの違い
Javaはオブジェクト指向のプログラミング言語
SECTION 03 数値の計算とプリミティブ型
四則演算する
COLUMN 桁数が大きな数字を見やすく書く
数値の表現に使う「型」
COLUMN float型とlong型の数値表現
整数を使った計算の例
プリミティブ型はオブジェクトではない
小数以下の値を扱うときの注意
double型にキャストする
数値を直接表記する場合も注意
COLUMN float型やdouble型で金銭の計算をしてはいけない
SECTION 04 文字列と数値とを相互に変換する
数値を文字列に変換する
キャストでは変換できない
String.valueOfメソッドで変換する
インスタンスメソッドと静的メソッドの見分け方
インスタンスメソッドと静的メソッドとの違い
文字列を数値に変換する
変換方法のまとめ
SECTION 05 APIを呼び出してみよう
メッセージボックスを表示してみる
showMessageDialogメソッドの書式を調べる
パッケージ名を省略するimport
import文の書き方
COLUMN NetBeansでimport宣言を追加する
APIクラスライブラリの書式に合わせてプログラムを書く
CHAPTER 6 Javaプログラムの基礎(3)?条件分岐の基本
この章の内容
SECTION 01 条件判定の基本
ユーザーが文字列入力できるようにする
COLUMN 入力文字の無害化(サニタイズ)
showInputDialogメソッドで1行分の文字入力を受け付ける
showMessageDialogメソッドで文字列を表示する
未入力のときにエラーメッセージを表示したい
条件分岐の基本
「真」と「偽」とboolean型
条件分岐し、異なるメッセージを表示する
比較のための演算子
nullと等しいかどうかを判定する
SECTION 02 文字列を比較する
未入力かどうかをチェックする
文字列はequalsメソッドで比較する
「==演算子」は、オブジェクトの合致を示す
COLUMN NetBeansで変数の中身を調べる
内容が等しいかどうかを調べたいときはequalsメソッドを使う
COLUMN [取消]ボタンをクリックするとエラーになる
SECTION 03 条件を組み合わせる
条件を入れ子にする
if構文のブロックのなかにif構文を入れる
条件を組み合わせる
「または」で表現する
COLUMN 条件の順序を変えた場合
条件を羅列する
COLUMN NetBeansによる、より良いプログラムへの変更の提案
CHAPTER 7 Javaプログラムの基礎(4)?さまざまな比較とループ処理
この章の内容
SECTION 01 特定の書式にあてはまるか比較する
特定の書式に合致するかどうかを調べられる正規表現
郵便番号を調査する例
正規表現のパターン
正規表現と合致するかどうかを調べる
SECTION 02 数値を比較する
数値が特定の範囲かどうかを調べる
数値以外を入力したとき
1.数値に変換できるかどうかを前もって調べる
2.例外を捕らえる
SECTION 03 switch構文を使って複数に分岐する
入力された数字の値に応じて分岐する
変数を活用して短く書く
たくさんの値を一度に比較する「switch構文」
SECTION 04 繰り返し処理する①条件が成り立つまで繰り返す
文字入力されるまで繰り返し入力を求める
条件を満たしている間、繰り返す「while構文」
文字入力がないときに繰り返す
COLUMN 変数のスコープに注意
breakで繰り返し処理をやめる
[取消]ボタンで中断するようにする
COLUMN returnでメソッドから直接戻る
SECTION 05 繰り返し処理する②指定回数だけ繰り返す
指定回数の繰り返しは、「実行された数を数える」のが基本
変数を使ってカウントする
COLUMN 数を数える変数には「i」「j」や「n」「m」などが使われる
指定された回数を繰り返すのに便利なfor構文
「1を増やす」の略記
COLUMN 任意の値を四則演算する
COLUMN 「i++」と「++i」の違い
for構文を使うと、指定回数の繰り返しが簡単
繰り返し処理はプログラムの基本
CHAPTER 8 配列とコレクション
この章の内容
SECTION 01 連続するデータをまとめて配列に保存する
変数に1つの値しか保存できない場合の問題点
間の気温を保存するには、5つの変数が必要
繰り返し処理もできない
変数で複数の値を保存できる配列
配列の確保
配列の要素への代入や参照
配列をループ処理する
forループですべての要素を処理する
初期化子を使って、代入を簡単に記述する
初期化子で配列を確保する
要素の数をlengthで知る
値の平均を求めてみる
COLUMN オーバーフローに注意
SECTION 02 後から要素の数を変更できるArrayListオブジェクト
要素を増減できるArrayListオブジェクト
ArrayListオブジェクトを作る
COLUMN ジェネリクスで型を強要する
値を追加する
値を取得する
値を変更する
途中に挿入したり削除したりする
要素を検索する
ArrayListは配列ではない
保存できるのはオブジェクトのみ
ユーザーに数を入力してもらい、最後に、その平均を求める例
SECTION 03 さまざまなコレクションと列挙操作
複数の値をまとめて保持するコレクション
「リスト」と「セット」
コレクションの共通機能を実現するCollectionインターフェイス
HastSetを使った例
for-eachループで列挙操作する
COLUMN 配列でfor-each構文を使う
Iteratorを用いて列挙する
SECTION 04 キーと値を保持するマップ
キーに対して値を設定するマップ
マップを使った例
HashMapの生成と値の追加
COLUMN 変数名を書かずに略記する
キーが登録されているかどうかの確認と値の取得
キーや値の列挙
値の一覧を取得する
キーの一覧を取得する
COLUMN キーと値を両方列挙する
マップを使うと長いif文から逃れられる
SECTION 05 配列やコレクションのコピー
代入は元の配列が変わってしまう
参照ではなくコピーしたいならcloneメソッドを使う
シャローコピーとディープコピー
オブジェクトの代入には要注意
CHAPTER 9 クラス、インターフェイス、そして、実用的なJavaプログラミングに向けて
この章の内容
SECTION 01 クラスとのつきあい方
クラスを作れなくても大丈夫
Javaプログラミングで必要なクラスの知識
SECTION 02 クラスを改良するための継承とインターフェイス
クラスを改良するための「継承」
基のクラスと違うところだけを書
COLUMN @Override属性0
自身を示す「this」と基底クラスを示す「super」
機能が実装されていることを保障する「インターフェイス」
すべてのメソッドをオーバーライドする
たくさんのインターフェイスを実装できる
SECTION 03 クラスの継承やインターフェイス実装の実際
繰り返し実行する例
Timerクラスで定期的に実行する仕組み
TimerTaskクラスから継承したクラスを作る
10秒ごとに時刻を表示する例
COLUMN 日付の書式を変更する
ArrayListオブジェクトを並べ替える例
基本的な並べ替え
逆順に並べ替える
逆順に並べ替えるサンプル
Comparatorインターフェイスのcompareメソッドで比較する
相手の都合に合わせるように書く
COLUMN その場でクラスを作る無名クラス
SECTION 04 AndroidアプリにおけるJava
Android固有の機能を提供するライブラリ
自動生成される雛形を改良する
Activityオブジェクトとイベント
イベントはインターフェイスで通知される
COLUMN ボタンがタップされたときの処理をする実際のプログラム
Androidシステムから呼び出される
システムが何を要求しているのかを知る
COLUMN 並列実行するためのスレッド処理
索引