java 常量表達式


原文地址:http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.28

這是我翻譯的,以備不時之用。

 

常量表達式是一個代表基本數據類型或者String數據類型的表達式,是在編譯期間能計算出來的值.由以下幾點組成:

  • 基本數據類型或者String數據類型的字面值
  • 轉換成基本數據類型或者String(這點不是很理解)
  • 一元操作符(只針對於數字):+(加法也對string的字面值有效),-,~,and,!(但不包括++or--)
  • 乘法操作符: *,/
  • 移位運算符: <<,>>和>>>
  • 關系操作符: <,<=,>,>=
  • 比較操作符: ==,!=
  • 位運算符和邏輯操作符 : &,^.|
  • 條件與和條件或操作符: &&,||
  • 三元運算符 :  ? :
  • 帶括號的表達式, 這個括號里面的內容是一個常量表達式
  • 簡單的變量名, 引用的是一個常量表達式 final int x = 0 ; y = x ;//這個x就是簡單變量名 final String str = "a" ;  str2 = str+"b" ; str1="ab" str1==str2 ;
  • 類型名.變量名, 引用的是一個常量表達式 Math.PI

String類型的常量表達式往往通過interned()方法來保證唯一性, 所以String類型往往是interned(這個不知道該怎么描述)

 

//http://www.iteye.com/problems/27151

//個人理解, 如有不正確的地方, 歡迎指出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM