キーワード (Java)
package 自クラスのパッケージを宣言する。Javaではパッケージと呼ばれるツリー構造でクラス群を分類している。クラスやメンバにアクセス修飾子(英語版) (後述する public, protected, private) を付けることにより、パッケージ内外でクラスやクラスのメンバにアクセス可能な範囲が変わってくる。
import 自クラスの所属するパッケージとは異なるパッケージにあるクラスを使用するときにこの宣言でインポートする。
class クラスの定義。例えば、以下のように宣言する。それぞれについてはこの後、説明する。
interface インタフェースの定義。Javaのインタフェースとは、定義のみで実装をもたない抽象型であり、型の多重継承に使用される。インタフェースのインスタンスを直接生成することはできない。サブクラスでインタフェースを実装して使用する。実装するインタフェースはカンマ区切りで複数並べることができる。
extends class の宣言で他のクラスを継承するときに使用する。Javaのクラスは1つのスーパークラスのみ継承可能で、多重継承(実装の多重継承)はできない (参考: 菱形継承問題)。interfaceの宣言では一つ以上のインタフェースを継承するときに使用する。インタフェースがインタフェースを継承するだけなので、こちらの場合は多重継承が可能。
implements class の宣言で、インタフェースを実装するときに使用する。カンマ区切りで並べた複数のインタフェースを実装することができる。
その他のキーワードとして、浮動小数点演算の移植性を高めるstrictfpがある。浮動小数点の演算では一般に全く同じ結果は期待できないものではあるが、x87などハードウェアによっては、途中の値においてより高い精度や、より広い値の範囲で演算が行われるために、最終結果が他のプラットフォームと一致しない場合があり、特にIEEE 754を前提として予想される結果から外れることが問題である。
strictfpを指定すると、途中結果についても全てIEEE 754の倍精度を強制し、相異なるプラットフォーム同士の間でも演算結果が一致することを保証するとされている(仕様では FP-strict という用語を使っている)。Java VMの実装で、これを正しく実現するには、x86系CPUを使った計算機の場合、x87を避けてSSE2で計算するか、それができない場合は特殊なテクニックが必要である。
なお、同様に移植性のある結果を保証するStrictMathというクラスがあるが、そちらはFDLIBMというSun製のライブラリと同じ結果を保証するとされている。
C言語およびC++と共通のキーワードを使用している。
分岐 if, else switch, case, default
繰り返し for, while, do
ジャンプ continue - ループの現在の反復 (iteration) をスキップする break - ループのブロックから抜け出す return - メソッドから抜け出す。戻り値のあるものは値やオブジェクトの参照を返す。