JAVA编程语言是一种强类型的语言,意思是在编译的时候就知道了变量和表达式的类型。
JAVA编程语言中的类型分为:
基本类型:boolean类型
数字类型:
整数类型:byte,short,int,long,char
浮点类型:
单精度类型float
双精度类型double
引用类型:object types,interface types,array types,null types
类型存在于编译时刻。而一些对应类和接口的类型存在于运行时刻。造成这种类型和类、接口不一致情况的原因有两种:
1、在运行的时候,类或接口是由JAVA虚拟机使用类装载器导入的。而每个类装载定义了自己的一个类和接口的集合。因此可能会产生这种情况,两个类装载器导入了同一个类或接口的定义,却在运行时产生了不同的类或接口。
2、类型参数和类型变量在运行时没有具体化。因此不同的参数化类型可能是由相同的类或接口实现的。
类型的语法结构为:
Type:
PrimitiveType
ReferenceType
基本类型的语法结构是:
PrimitiveType:
NumericType
boolean
NumericType:
IntegralType
FloatingPointType
IntegralType: one of
byte short int long char
FloatingPointType: one of
float double
整数类型的值范围:
For byte, from -128 to 127, inclusive
For short, from -32768 to 32767, inclusive
For int, from -2147483648 to 2147483647, inclusive
For long, from -9223372036854775808 to 9223372036854775807, inclusive
For char, from '/u0000' to '/uffff' inclusive, that is, from 0 to 65535
整数类型的操作类型:
1、比较操作,产生boolean值
数字大小比较操作:<,>,<=,>=。等于判断操作:==,!=。
2、算术运算符:
一元运算符:+,-。
多元运算符:*,/,%。
自增和自减运算符:++,--。
带符号和不带符号的移位运算符:<<,>>,>>>。
位运算符:~,&,|,^。
3、条件运算符:? :。
4、转化运算符,能从整数类型转化为任何数字类型。
5、String类型的连接操作符+。
其余还有许多有用的构造函数、方法和常量都定义在他们对应的类里面:Byte,Short,Integer,Long,Character。如果一个整数运算时,除移位运算外,有一个操作数是long型的,那么运算是会按64-bit的精度来操作,而结果会是long型的。如果其中一个操作数不是long型的,那么它会先转化为long型的,再进行运算。
在JAVA中整数类型在上溢出和下溢出时并没有任何异常表示。整数类型的操作在进行unboxing操作时,可能会抛出NullPointExceptin的异常。在进行/和%操作时,如果右边的操作数是0,那么就会抛出ArithmeticException。如果在进行自增和自减操作,有可能会引起OutOfMemoryError。
Parameter
|
float
|
float-extended-exponent
|
double
|
double-extended-exponent
|
N
|
24
|
24
|
53
|
53
|
K
|
8
|
≧11
|
11
|
≧15
|
E
min
|
+127
|
≧+1023
|
+1023
|
≧+16383
|
E
max
|
-126
|
≦-1022
|
-1022
|
≦-16382
|