【java基础】基本数据类型

上图:

【java基础】基本数据类型

        以上的就是java带的,非对象类型的,数字类型,其中也有很多是有对应的对象型的类型的,比如String就是char的对象型的类型,里面包函了很对对象的操作等等。

        Java还提供了三个特殊的浮点数值:正无穷大、负无穷大和非数,用于表示溢出和出错。例如,使用一个正数除以0将得到正无穷大,使用一个负数除以0将得到负无穷大,0.0除以0.0或对一个负数开方将得到一个非数。正无穷大通过Double或Float类的POSITIVEINFINITY表示;负无穷大通过Double或Float类的NEGATIVE_INFINITY表示,非数通过Double或Float类的NaN表示。

        必须指出的是,所有的正无穷大数值都是相等的,所有的负无穷大数值都是相等的;而NaN不与任何数值相等,甚至和NaN都不相等。

java代码特性:

【java基础】基本数据类型

从java7以后开始支持用下划线来分割长数字。


类型转换

【java基础】基本数据类型


        按照上面的各种数据类型所占空间大小来区分,按照顺序来进行排列,为转换无损失的标准,当我们要把一个小类型的数据转换成大类型的数据,不会发生丢失,反之则不然。

布尔类型占用空间

        Java规范并没有强制指定boolean类型的变量所占用的内存空间。虽然boolean类型的变量或值只要1位即可保存,但由于大部分计算机在分配内存时允许分配的最小内存单元是字节(8位),因此bit大部分时候实际上占用8位。


逻辑运算符

逻辑运算符用于操作两个布尔型的变量或常量。逻辑运算符主要有如下6个。

1、&&:与,前后两个操作数必须都是true才返回ture,否则返回false。

2、&:不短路与,作用与&&相同,但不会短路。

3、||:或,只要两个操作数中有一个是e,就可以返回e,否则返回false。

4、|:不短路或,作用与1相同,但不会短路。

5、!:非,只需要一个操作数,如果操作数为true,则返回false:如果操作数为false,则返回true。

6、^:异或,当两个操作数不同时才返回true,如果两个操作数相同则返回false.

位运算符

1、&:按位与。当两位同时为1时才返回1。
2、|:按位或。只要有一位为]即可返回1。
3、~:按位非。单目运算符,将操作数的每个位(包括符号位)全部取反。
4、^:按位异或。当两位相同时返回0,不同时返回0
5、<<:左移运算符。
6、>>:右移运算符。
7、>>>:无符号右移运算符。