評価することで行われる。15.は,式の意味とそれらの評価規則を規定する。(実行)するとき,その結果は,次の三つのうちどれか一つを指示する。呼ぶ)式の評価は副作用を発生させることがある。式が埋込み代入,増分演算子,減分演算子及びメソッド呼出しを含むかもしれないからである。(8.4)を宣言するメソッドを呼び出すメソッド呼出し(15.12)に限り,式は何も指示しない。そのような式は式文(14.8)としてだけ用いられる。ある式が現れ得る他のあらゆる文脈は,何かを指示するためにその式を必要とするからである。メソッド呼出しの式文は,結果を生成するメソッドを呼び出してよい。この場合,メソッドが返す値は捨てられる。値を生成するすべての式の結果に適用される。おのおのの式は,何らかの(クラス又はインタフェース)型の宣言に現れる。フィールド初期化子,静的初期化子,コンストラクタ宣言,又はメソッドのためのコードに現れる。値としての変数もし式が変数を指示し,そして値がさらなる評価での使用に必要ならば,その変数の値は使用される。(value)と呼んでもよい。変数の値がこのように使用されるならば,値集合変換(5.1.8)がその変数の値に適用される。式の型もし式が変数又は値を指示するならば,その式はコンパイル時に知らされる型をもつ。式の型を決定するための規則は,それぞれの種類の式についてこの後に別々に説明する。変数に記憶された値が変数の型に対して常に互換であるように,式の値は式の型に対して常に代入互換(5.2)とする。変数への代入に適している。自身であるオブジェクトのいずれかの値をもつことが保証されることに注意すること。型は下位クラスを持たないからである。あるならば,その式の値が,どの値集合(4.2.3)から導き出されるかについて疑問があるだろう。これは値集合変換(5.1.8)の規則によって決定される。(FP-strict)かどうかに依存する。すべてのコンパイル時の定数式(15.28)は,FP厳密とする。式がコンパイル時の定数式でないならば,その式を含むすべてのクラス宣言,インタフェース宣言,及びメソッド宣言を考慮する。修飾子をもつならば,その式はFP厳密とする。(FP-strict)であると呼ぶ。修飾子をもつ任意の宣言の中に出現しない場合に限り,その式がFP厳密でないとする。FP厳密式の中では,すべての計算途中の値が単精度数値集合又は倍精度数値集合の要素でなければならない。754算術規則によって予測される結果でなければいけないことを意味するからである。FP厳密でない式の中では,中間結果を表すために拡張指数範囲を使用する実装をある程度認めることができる。これは,おおまかに言えば,単精度数値集合又は倍精度数値集合を排他的に使用するとオーバフロー又はアンダフローを引き起こすかもしれない状況下における最終的な影響は,計算が"正しい解答"を出すかもしれないことである。式及び実行時検査もし式の型がプリミティブ型ならば,その式の値は同様にプリミティブ型とする。以外のオブジェクトの参照であろうと,コンパイル時にわかるとは限らない。Javaプログラム言語では,被参照オブジェクトの実クラスが,式の型から推測できないような方法でプログラムの実行に影響することがある。メソッド呼出し(15.12)。あるクラス又はインタフェースの一部のメソッドに基づいて選択される。実行時値によって参照されるオブジェクトのクラスが関与する。呼び出すことを選択するかもしれないし,しないかもしれない。演算子(15.20.2)。用いて検査されるかもしれない。キャスト(5.5,15.16)。オペランド式の実行時値によって参照されるオブジェクトのクラスが,キャストによって規定される型と互換性がないかもしれない。参照型に関して,実行時に決定される被参照オブジェクトのクラスがターゲット型に対して代入互換(5.2)でないならば,エラーを投げる実行時検査を必要とするかもしれない。参照型(10.10,15.13,15.26.1)の配列の構成要素への代入。下位型として扱うことを許す。これはキャストに対して実行される検査と同様に,配列の構成要素への代入に対する実行時検査を必要とする。例外操作(14.19)。節によって捕らえられる。ここに列挙した最初の二つの場合では,決して型エラーを検出すべきではない。したがって,実行時の型エラーは次のような状況でだけ起こりうる。15.16)によって規定されたターゲット型と互換性がない時。参照型の配列の構成要素に対する代入において,代入された値が参照するオブジェクトの実クラスが,配列(10.10,15.13,15.26.1)の実行時構成要素に対して互換でない時。ハンドラ(11.3)によっても捕らえられない時。メソッドを呼び出し,終了する。評価の正常完了及び中途完了あらゆる式には,ある計算段階で実行される評価の正常モードがある。以降の節では,それぞれの種類の式について評価の正常モードを示す。normally)と呼ばれる。abruptly)と呼ばれる。実行時例外は,次のようにあらかじめ定義された演算子によって投げられる。投げる(15.10)。