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