~Java数据类型可分为两大类:基本类型和引用类型
基本类型:
基本类型包含数值型,字符型和boolean类型
(一)数值型
-
整型(int)
在java中一个int变量占4个字节 -
短整型(short)
short占两个字节,取值范围(-2^15 ~ 2^15) -
长整型(long)
long占8个字节,取值范围63(-2^63 ~ 2^) -
字节类型(byte)
byte只占一个字节,取值范围(-128 ~ 127),定义时,超出范围就会报错 -
单精度浮点类型(float)
float占4个字节,在给float类型变量赋初值时,可以写成 int float a = 10L 或者 int float a = 10l(不建议写成这种,不易区分1和l) -
双精度浮点类型(double)
double占8个字节,取值范围为(-2^63 ~ 2^63)
(二)字符型
char占2个字节,取值范围(-2^15 ~ 2^15),这里的char虽然和short的大小一样,但是二者类型不一样,所以二者在进行运算时需强制类型转换
(三)布尔类型
Java 规范中没有规定它的大小,boolean不能和其他类型之间进行转换,其值为(true / false)
注意:
- 数值型(默认值为0),浮点型(默认值为0.0),字符型(默认值为‘\u0000’),布尔型(默认值为false)
- Java里的数值类型均为有符号的
- 在进行混合运算时,小类型将提升为大类型(大小和精度)
引用类型
数组、类、接口(默认值为null)
~运算符
- 算术运算符
+ - * / % += -= *= /= %= ++ --
- 取模(%), 在C语言只能对int求模, 而在Java中既能对int求模,也能对double求模
- 如果不取(++ 或 – 表达式的值),则前置自增和后置自增的返回值没有区别
- 若取表达式的值,则前置++(–)先使用再自增,后置++(–),先自增再使用
- 关系运算符
> < == != <= >=
关系运算符的返回类型为boolean类型
- 逻辑运算符
&& || !
- 逻辑运算符的操作数一般为关系运算符的结果
- 逻辑或(||),若表达式有一个为真,则结果为真,第一个表达式为真,则后面的表达式不用再判断
- 逻辑与(&&),若表达式有一个为假,则结果为假,第一个表达式为假,则后面的表达式不用再判断(短路求值)
- 若 & 和 | 的操作数为boolean,也表示逻辑运算 ,但他们不支持短路求值
- 位运算符
(二进制位)
& | ~ ^
- 移位运算符
>> << >>>
- 左移(<<),右侧补0,相当于乘2
- 右移(>>),左侧补符号位,相当于除2
- 无符号右移,左侧补0
6.条件运算符
表达式 1 ? 表达式 2 : 表达式 3
若表达式1结果为true,则结果为表达式2的结果,否则为表达式3的结果