たとえば、定数リテラルはコンパイル時に計算されることがわかりました。int a=10+20;
しかし、使用しようとするとint b=10/0;
、実行時に計算されることがわかります。この定数リテラルが実行時に計算される理由を教えてください。ありがとうございました。
1 に答える
3
定数値は、コンパイラが実行時に行われた場合と同じセマンティクスを維持できる場合、コンパイル時に計算される場合があります。そうでない場合 (たとえば、ゼロ除算の場合)、計算は実行時に延期されます。詳細については、JLS 15.28を参照してください。
于 2012-09-11T19:25:56.803 に答える