JAVA属于静态类型的编程语言,也就是说,所有的变量需要预先定义他们的变量类型才能够被使用。JAVA提供了8种不同的变量类型:
byte(比特) 最短的类型,长度在-128 到 127之间,包括-128和127
short (短整型)长度在-32 768 和 32767之间,包括-32 768和32 767
int (整型)长度在-2,147,483,648和2,147,483,647之间,包括-2,147,483,648和2,147,483,647
long(长整型)长度在-9,223,372,036,854,775,808和9,223,372,036,854,775,808之间,包括-9,223,372,036,854,775,808和9,223,372,036,854,775,808
参考:http://baike.baidu.com/view/3522307.html
float(单精度浮点型)单精度浮点型(float )专指占用32位存储空间的单精度(single-precision )值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高 时,单精度浮点型的变量是有用的。例如,当表示美元和分时,单精度浮点型是有用的。
参考:http://baike.baidu.com/view/1388812.htm
double(双精度浮点型)正如它的关键字“double ”表示的,占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。所有超出人类经验的数学函数,如 sin( ),cos( ) ,tan()和sqrt( )均返回双精度的值。当你
需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。
参考:http://baike.baidu.com/view/1388812.htm
boolean(布尔型) 布尔型的值只有两个:FALSE(假)和TRUE(真), 并且 FALSE的值为0,TRUE的值为1
需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。
参考:http://baike.baidu.com/view/1388812.htm
char(字符型)
char数据类型是一个16位Unicode字符。它有一个最低值’ u0000’(或0)的最高值’ uffff’(或65,535包括在内)。
string 在类java.lang.String的作用下,还有一个(字符串型)
这些类型的默认值:
Data Type | Default Value (for fields) |
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | ‘u0000’ |
String (or any object) | null |
boolean | false |
注意:局部变量略有不同,编译器不会指定一个默认值,未初始化的局部变量。如果您不能初始化局部变量声明的地方,一定要为它分配一个值,然后再尝试使用它。访问一个未初始化的局部变量将导致编译时错误。
同时整数类型也可以被用10进制,8进制以及16进制的变量赋值中,例如:
int decVal = 26; // The number 26, in decimal int octVal = 032; // The number 26, in octal int hexVal = 0x1a; // The number 26, in hexadecim
10进制变量的定义和其他正常情况下一样,而8进制变量的定义,需要在值的最前面加上一个0,后面所跟的数字,每一位上是0-7之间。16进制则以0x开头,并且数字为0-9和A-F之间。
浮点型同时也可以用E或者e来表示(科学计数法中使用),另外单精度浮点类型(float)以F或者f结尾表示,双精度浮点类型(double)用D或者d为结尾表示。
例如:
double d1 = 123.4; double d2 = 1.234e2; // same value as d1, but in scientific notation float f1 = 123.4f;
类型字符和字符串可能包含任何的Unicode(UTF – 16)字符。如果你的编辑器和文件系统允许,您可以直接在代码中使用这些字符。如果没有,你可以使用诸如“Unicode转义”’ u0108’(capital C with circumflex),或“S u00ED本身 u00F1or”(Sí Señor in Spanish)。总是使用’单引号’的字符文字和“双引号”的字符串。 Unicode转义序列可以用在别的地方在一个程序(如字段名称,例如),不仅在字符或字符串文字。
JAVA语言还支持一些特殊的字符:b (退格) t(tab)n(换行)f(form feed)r(回车) “(爽引号) ‘(单引号)\(反斜干)