Java基本数据类型
1.由于Java程序必须保证所有机器上都能得到相同的运行结果,所以每一种数据类型的取值范围必须固定,与运行Java代码的机器无关。Java没有任何无符号类型。
2.用于表示浮点数溢出和出错情况的三个特殊的浮点数值:正无穷大、负无穷大和NaN(不是一个数字)。一个正整数除以0的结果为正无穷大。计算0/0或者附属的平方根结果为NaN。
浮点数不适合用于禁止出现舍入误差的金融计算中,其主要原因是浮点数是使用二进制系统表示,而在二进制系统中无法精确的表示分数数值1/10。就好像十进制无法精确地表示1/3一样。如果需要在数值计算中不含有任何摄入误差,就应该使用BigDecimal类。
整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大或者NaN结果
3.Java的8种基本数据类型表示如下:
Java运算符
位运算符
在处理整型数值时,可以直接对组成整型数值的各个位进行操作。这意味着可以使用屏蔽技术获得整数中的各个位。位运算符包括:
&(“与”)、|(“或”)、^(“异或”)、~(“非”)
这些运算符在位模式下工作。例如,如果n是一个整型变量,并且用二级制表示的n从右数第4位为1,那么
int fourthBitFromRight = (n&0b1000)/0b1000;
返回1;否则返回0.通过运用2的幂次方的&运算可以将其他位屏蔽掉,而只保留其中的某一位。
“>>”和“<<”运算符将二进制位进行右移或者左移操作。当需要建立模式屏蔽某些位时,使用这两个运算符也是十分方便:
int fourthBitFromRight = (n & (1<<3))>>3;
“>>>”运算符将使用0填充高位;”>>”运算符用符号位填充高位。没有<<<运算符对移位运算符右侧的参数需要进行模32的运算,除非左侧的参数是long类型,在这种情况下需要对右侧操作数模64。例如,1<<35与1<<3或8是相同的。
数学函数与变量
Math.sqrt():数值的平方根
Math.pow(x,a):x的a次方
Math.PI:常量π
Math.E:常量e
Math.round():将一个数值四舍五入转换成long类型。
&&运算符的优先级高于||