この教材で学んだ文法、クラスとメソッド、Eclipse の操作、用語をまとめます。Spring入門を進めていて書き方を思い出したいときに参照してください。
B.1 文法早見表
プログラムの形
| 書き方 | 意味 | 章 |
|---|---|---|
package ch03; |
このクラスが入るパッケージ。ファイルの先頭に書く | 第3章・第9章 |
import java.util.List; |
別のパッケージのクラスを使う宣言。package の後に書く |
第9章 |
public class Basic { … } |
クラスの定義。クラス名はファイル名と同じ。大文字で始める | 第3章 |
public static void main(String[] args) { … } |
プログラムの入り口。実行するとここから始まる | 第3章 |
文; |
1つの処理。; で終える |
第3章 |
{ … } |
ブロック。クラス・メソッド・if・for などの中身 |
第3章 |
// メモ /* メモ */ /** 説明 */
|
コメント。/** */ は Javadoc コメント |
第3章・第7章 |
変数と型
| 書き方 | 意味 | 章 |
|---|---|---|
int age = 26; |
変数の宣言と初期化。型 変数名 = 値;
|
第4章 |
age = 27; |
代入。右の値を左の変数に入れる | 第4章 |
int long double float boolean
|
基本型。整数、大きな整数(1L)、小数、小数(0.5F)、真偽(true/false) |
第4章 |
String |
文字列。"…" で書く。+ でつなぐ |
第3章・第4章 |
Integer Long Double Boolean
|
ラッパークラス。null を入れられる。基本型と自動で変換される |
第11章 |
final int MAX_AGE = 99; |
定数。後から値を変えられない。名前はすべて大文字 | 第4章 |
null |
何も入っていないことを表す値。クラスの型の変数にだけ入れられる | 第5章・第8章 |
+ - * / % += -= ++ --
|
計算の演算子。整数どうしの / は切り捨て。% は余り |
第4章 |
== != < > <= >= |
比較演算子。結果は boolean。文字列は equals で比べる |
第5章 |
&& || ! |
論理演算子。かつ、または、でない | 第5章 |
条件分岐と繰り返し
| 書き方 | 意味 | 章 |
|---|---|---|
if (条件) { … } else if (条件) { … } else { … } |
条件分岐。上から順に調べ、最初に true になったブロックを実行 |
第5章 |
switch (値) { case 1: … break; default: … break; } |
値ごとの分岐。break; を忘れない |
第5章 |
for (int i = 0; i < 3; i++) { … } |
決まった回数の繰り返し。初期化、条件、更新 | 第6章 |
while (条件) { … } |
条件が成り立つ間の繰り返し | 第6章 |
for (String name : names) { … } |
拡張 for 文。配列やリストの要素を1つずつ取り出す | 第6章・第11章 |
String[] names = {"a", "b"}; int[] ages = new int[3];
|
配列。names[0] で要素、names.length で要素の数。添字は 0 から |
第6章 |
メソッドとクラス
| 書き方 | 意味 | 章 |
|---|---|---|
static int sum(int[] ages) { … return total; } |
メソッドの定義。戻り値の型、名前、引数。return で値を返す。返さないなら void
|
第7章 |
AgeChecker.isValid(27) |
static なメソッドの呼び出し。クラス名.メソッド名(引数)
|
第7章 |
Employee e1 = new Employee(); |
オブジェクトを作って変数に入れる | 第8章 |
e1.setName("…"); e1.getName()
|
オブジェクトのメソッドを呼ぶ | 第8章・第9章 |
Employee(String name, int age) { this.name = name; … } |
コンストラクタ。クラス名と同じ名前、戻り値の型なし。this.名前 はこのオブジェクトのフィールド |
第8章 |
private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }
|
カプセル化。private のフィールドと、public の getter・setter |
第9章 |
public private (なし) |
アクセス修飾子。どこからでも、同じクラスだけ、同じパッケージだけ | 第9章 |
public static final int MAX_AGE = 99; |
クラスの定数。クラス名.MAX_AGE で使う |
第9章 |
class Manager extends Employee { … } |
継承。親クラスのフィールドとメソッドを引き継ぐ | 第10章 |
@Override public String toString() { … } |
オーバーライド。親のメソッドを書き直す | 第10章 |
interface Validatable { boolean isValid(); } class Employee implements Validatable { … }
|
インターフェースの定義と実装 | 第10章 |
implements Serializable private static final long serialVersionUID = 1L;
|
セッションなどに入れるクラスに付ける印と、その定数 | 第10章 |
List<Employee> list = new ArrayList<>(); |
リスト。add・get(添字)・size()・remove。<型> はジェネリクス |
第11章・第14章 |
try { … } catch (NumberFormatException e) { … } |
例外を受け止める。e.getMessage() でメッセージ |
第12章 |
throw new IllegalArgumentException("…"); static void checkAge(int age) throws IllegalArgumentException
|
例外を起こす。例外を起こすことがあるという宣言 | 第12章 |
employee.getDepartment().getDeptId() |
メソッドを続けて呼ぶ。左から順に読む | 第11章・第13章 |
interface EmployeeRepository extends JpaRepository<Employee, Integer> |
インターフェースの継承と、型を2つ指定するジェネリクス | 第10章・第13章 |
@Entity @Table(name = "EMPLOYEE") @Size(max = 20, message = "…")
|
アノテーション。情報を添える印。意味は使う仕組みが決める | 第13章 |
GenerationType.SEQUENCE |
列挙型の定数。型名.定数名
|
第13章 |
EmployeeAppApplication.class |
クラスそのものを表す値 | 第13章 |
import static …Assertions.assertEquals; |
static なメソッドをクラス名なしで呼べるようにする |
第13章 |
B.2 クラスとメソッド早見表
| クラス | メソッドなど | 意味 | 章 |
|---|---|---|---|
System(java.lang) |
System.out.println(値)System.out.print(値)
|
コンソールに表示して改行する/改行しない | 第3章 |
String(java.lang) |
equals(文字列) |
内容が等しければ true
|
第5章 |
length() |
文字数 | 第5章 | |
isEmpty() |
空文字列なら true
|
第5章 | |
Integer(java.lang) |
Integer.parseInt(文字列) |
文字列を int に変える。変えられなければ NumberFormatException
|
第11章 |
Object(java.lang) |
toString() |
オブジェクトを文字列にする。すべてのクラスが持つ。オーバーライドして使う | 第10章 |
List・ArrayList(java.util) |
add(要素) |
最後に足す | 第11章 |
get(添字) |
添字の要素を取り出す | 第11章 | |
size() |
要素の数 | 第11章 | |
remove(要素) |
要素を取り除く | 第14章 | |
Date(java.util) |
new Date() |
今の日時 | 第11章 |
Serializable(java.io) |
(メソッドなし) | データに変換してよいクラスの印 | 第10章 |
例外(java.lang) |
getMessage() |
例外のメッセージ | 第12章 |
B.3 Eclipse 操作早見表
| 操作 | 方法 | 章 |
|---|---|---|
| パッケージを作る |
src を右クリック → 新規 → パッケージ |
第2章 |
| クラスを作る | 入れるパッケージを右クリック → 新規 → クラス。main が要るなら「public static void main(String[] args)」にチェック |
第2章 |
| インターフェースを作る | パッケージを右クリック → 新規 → インターフェース | 第10章 |
| 保存 | 保存ボタンか Ctrl + S。タブの「●」が消えたことを確認 | 第2章 |
| 実行 | クラスを右クリック → 実行 → Java アプリケーション。2回目からは実行ボタン | 第2章 |
| 終わらないプログラムを止める | コンソールの赤い終了ボタン | 第6章 |
| 補完 | 名前の一部を入力して Ctrl + Space。sysout → System.out.println();、main → main メソッド。import も自動で入る |
第3章・第9章 |
| インポートの編成 | Ctrl + Shift + O | 第9章 |
| フォーマット | Ctrl + Shift + F、または ソース → フォーマット | 第3章 |
| エディターの文字の大きさを変える | エディターの中をクリックしてから、大きくするのは Ctrl + Shift + +(; と同じキー)、小さくするのは Ctrl + - | 第2章 |
| 行をコメントにする/戻す | Ctrl + / | 第3章 |
| getter と setter を作る | ソース → getter および setter の生成 | 第9章 |
toString() を作る |
ソース → toString() の生成 | 第10章 |
| Javadoc の雛形を作る | メソッドの上で /** と入力して Enter
|
第7章 |
| エラーの理由を見る | 行の左の赤い「×」にマウスを合わせる。「マーカー」ビューの一覧をダブルクリック | 付録A |
| スタックトレースの行に飛ぶ | コンソールの (Main.java:18) のリンクをクリック |
第12章 |
| 画面の配置を戻す | ウィンドウ → パースペクティブ → パースペクティブのリセット | 開発環境の準備 |
B.4 用語集
| 用語 | 意味 | 章 |
|---|---|---|
| プログラム | コンピューターに行わせる処理を順番に書いたもの | 第1章 |
| ソースコード | プログラミング言語で書いた文章。Java では .java ファイル |
第1章 |
| コンパイル | ソースコードを実行できる形(クラスファイル .class)に変換すること。文法の間違いはここで見つかる |
第1章 |
| JVM | Java 仮想マシン。クラスファイルを実行するソフトウェア | 第1章 |
| JDK | Java の開発に必要なものをまとめたもの。Eclipse に同梱 | 第1章 |
| IDE(統合開発環境) | エディター、コンパイル、実行などをまとめたツール。この教材では Eclipse | 第2章 |
| ワークスペース | Eclipse がプロジェクトを保存するフォルダー | 開発環境の準備 |
| プロジェクト | Eclipse でファイルをまとめて管理する単位。この教材では java
|
第2章 |
| コンソール | プログラムの表示やエラーが出る Eclipse のビュー | 第2章 |
| クラス | どんなデータ(フィールド)と処理(メソッド)を持つかを定義したもの。Java のプログラムはクラスの中に書く | 第3章・第8章 |
| main メソッド | プログラムの入り口。public static void main(String[] args)
|
第3章 |
| 文 | 1つの処理。; で終える |
第3章 |
| ブロック |
{ } で囲んだ範囲 |
第3章 |
| 文字列 |
" で囲んだ文字の並び。String 型 |
第3章 |
| コメント | プログラムの中のメモ。実行に影響しない | 第3章 |
| Javadoc コメント |
/** */ で書く、クラスやメソッドの説明。@param・@return
|
第3章・第7章 |
| インデント | 行の先頭の空白で、入れ子を分かりやすくすること | 第3章 |
| 補完 | 名前の一部から続きの候補を出す Eclipse の機能。Ctrl + Space | 第3章 |
| 変数 | 値を入れておく名前付きの入れ物 | 第4章 |
| 型 | 変数に入れる値の種類。int・String など |
第4章 |
| 基本型 | 値そのものを持つ型。int・long・double・float・boolean など |
第4章 |
| 宣言 | 型と名前を書いて変数を用意すること | 第4章 |
| 代入 |
= で変数に値を入れること |
第4章 |
| 初期化 | 宣言と同時に値を入れること | 第4章 |
| リテラル | コードに直接書いた値。26・"…"・true
|
第4章 |
| キャメルケース |
birthDate のように、2つ目からの単語の先頭を大文字にする書き方 |
第4章 |
| 予約語 |
int・class など、Java で意味が決まっている言葉。変数名に使えない |
第4章 |
| 演算子 | 計算や比較を表す記号。+・==・&& など |
第4章・第5章 |
| 定数 |
final を付けた、値を変えられない変数。名前はすべて大文字 |
第4章・第9章 |
| キャスト |
(int) 値 のように、型を無理に変えること。この教材では使わない |
第4章 |
| 条件分岐 | 条件によって処理を変えること。if・switch
|
第5章 |
| null | 何も入っていないことを表す値 | 第5章・第8章 |
| 繰り返し | 同じ処理を何度も行うこと。for・while
|
第6章 |
| 配列 | 同じ型の値をまとめて入れる入れ物。要素の数は固定 | 第6章 |
| 添字 | 配列やリストの要素の番号。0 から始まる | 第6章 |
| 無限ループ | 条件がいつまでも true で、終わらない繰り返し |
第6章 |
| メソッド | 処理に名前を付けてまとめたもの | 第7章 |
| 引数 | メソッドを呼ぶときに渡す値 | 第7章 |
| 戻り値 | メソッドが return で返す結果。無いときは void
|
第7章 |
| スコープ | 変数が使える範囲。メソッドやブロックの中 | 第7章 |
| static | オブジェクトではなくクラスに属すること。クラス名.名前 で使う |
第7章・第9章 |
| オブジェクト(インスタンス) |
new でクラスから作られた実体。フィールドの値を持つ |
第8章 |
| フィールド | クラスの直下に宣言した変数。オブジェクトごとに持つ | 第8章 |
| コンストラクタ |
new のときに呼ばれ、フィールドに値を入れる。クラス名と同じ名前 |
第8章 |
| this | このオブジェクト自身 | 第8章 |
| 参照 | オブジェクトがメモリのどこにあるかを表す値。クラスの型の変数に入る | 第8章 |
| スタックトレース | 例外が起きたときにコンソールに出る、何が・どこで起きたかの表示 | 第8章・第12章 |
| アクセス修飾子 |
public・private など、どこから使えるかを決める言葉 |
第9章 |
| getter・setter | フィールドの値を返す/入れるメソッド。getXxx()・setXxx(値)
|
第9章 |
| カプセル化 | フィールドを private にして、メソッドを通して読み書きすること |
第9章 |
| パッケージ | クラスを分類して入れるフォルダー。import で使う |
第9章 |
| 継承 | 親クラスのフィールドとメソッドを引き継いで子クラスを作ること。extends
|
第10章 |
| オーバーライド | 親のメソッドを子で書き直すこと。@Override
|
第10章 |
| インターフェース | メソッドの約束だけを書いたもの。interface・implements
|
第10章 |
| 実装 | インターフェースの約束したメソッドの中身を書くこと | 第10章 |
| ラッパークラス | 基本型をクラスにしたもの。Integer など |
第11章 |
| リスト | 要素を増減できる入れ物。List・ArrayList
|
第11章 |
| ジェネリクス |
<型> で、入れる要素の型を指定する仕組み |
第11章 |
| 例外 | 実行の途中で起きるエラー。受け止めなければプログラムが止まる | 第12章 |
| チェック例外 |
try〜catch か throws が必須の例外。この教材では扱わない |
第12章 |
| アノテーション |
@名前 で、クラスやメソッドに情報を添える印 |
第10章・第13章 |
| 列挙型 | 決まったいくつかの値のどれかを表す型。型名.定数名
|
第13章 |
| Entity | データ1件を表すクラス。Spring入門ではデータベースの表の1行に対応 | 第14章 |
| Repository | データを保存して取り出すクラス(Spring入門ではインターフェース) | 第14章 |