整型

通常所说的整型分为4类

数值类型 内存(byte) 范围
byte 1 -2^7~2^7-1
short 2 -2^15~2^15-1
int 4 -2^31~2^31-1
long 8 -2^63~2^63-1

Java整数常量默认是int类型,如果较小的整数常量赋给byte或short变量,则以byte或short类型处理。

如果超过int类型范围,Java并不会自动将该整数常量当做long类型处理,此时最好使用L作为后缀。

在Java中,可以使用十进制、二进制、八进制、十六进制表示整数常量。

int octValue=013;
int hexValue=0x13;
int binValue=0b11010100;

当定义32位的二进制整数时,其最高位是符号位,因此如果是1,则表示为负数。负数在计算机是以补码形式存在的,因此还要换算成原码。(正数的补码和源码完全相同,负数的补码是反码加1)

字符型

字符型通常表示单个字符,使用单引号。Java使用16位的Unicode字符集作为编码方式。

字符型常量有3种表示形式:

  • 直接通过单个字符指定,如'A','9'

  • 通过转移字符表示,如'\n'、'\t'

  • 使用Unicode值表示,如'\u0000'

Java没有提供字符串基本类型,而是通过String类表示字符串。

浮点型

Java的浮点类型有两种:float和double。

Java的浮点类型有固定的表数范围和字段长度,遵循IEEE 754标准,采用二进制数据的科学计数法表示。

对于float,第1位是符号位,接下来8位表示指数,接下来23位表示尾数;

对double,第1位是符号位,接下来11位表示指数,接下来52位表示尾数。

由于是采用二进制数据的科学计数法,因此不可能精确表示浮点数,此时可以考虑BigDecimal类。

Java默认的浮点类型是double,并提供3个特殊的浮点数值:POSITIVE_INFINITY、NEGATIVE_INFINITY、NaN。

Java 7引入的功能是:可以在数值中使用下划线,不管是整型数值还是浮点型数值。

double pi=3.14_15_9265;

类型转换

Java中所有数值类型变量可以进行类型变换。

表数范围小的类型可以向表数范围大的类型自动转换。反之,则需要进行强制类型转换。

在算术表达式中,数据类型会自动提升为表达式中最高级操作数同样的类型。

运算符

Java支持所有基本的算术运算符,包括加减乘除和求余等。

Java支持单目运算符:++、--

Java的赋值表达式是有值的,就是右边被赋的值。

int a,b,c;
a=b=c=7;

Java支持位运算符:&(按位与)、|(按位或)、~(按位非)、^(按位异或)、<<(左移)、>>(右移)、>>>(无符号右移)、

results matching ""

    No results matching ""