数据类型
整数类型:byte short int long
字节: 1个字节 2个字节 4个字节 8个字节
浮点数(小数)类型:float double
字节:4个字节 8个字节
字符类型:char
字节:2个字节
布尔类型:boolean
字节:没有明确规定,一般占1个字节,用来区分真(ture)和假(false)
温馨提醒:
定义long类型的变量数值后面加一个(L)大小写都可以
定义float类型变量数值后面加一个(F)大小写都可以
取值范围大小关系:byte < short < int < long < float < double
类型转换
Java中类型转换主要分为两类:自动类型转换(隐 式) 和 强制类型转换(显式)
自动类型转换
- 数值型数据的转换:byte→short→int→long→float→double
- 字符型转换为整型:char→int(字符根据ASCII表转换)
代码不需要经过任何处理,在代码编译时,编译器会自动进行处理,不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。
强制类型转换
数据范围大的强制转到数据范围小的
算术运算符
温馨提醒:
当字符+字符,字符+数字它们会通过ascll码对应的数字计算,字符+字符串结果为字符串
整数和整数相除结果是整数,取模(求余数)它的值是根据前面的正负号来决定的,如果是正数打印出来的是正数,如果是负数打印就是负数
自增(++)自减(--)运算符
温馨提醒:
前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算
后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算
(自增自减原理一样)
关系运算符
温馨提醒:
成立为true,不成立为false
赋值运算符
温馨提醒:
==(等于):如果两个操作数的值是否相等,如果相等则条件为真
!=(不等于):如果两个操作数的值是否相等,如果值不相等则条件为真
a+=b相当于就是a=a+b依此类推
位运算符
&:相对应位都是1,则结果为1,否则为0
|:相对应位都是0,则结果为0,否则为1
^:相同为0,不同为1
~:取反,1变成0,0变成1
<<:左移运算符,向左移动,在最右边补0(有一个小规则:左移1次就是乘2)
>>:右移运算符,向右移动,在最左边边补0或1(正数左边补0,负数补1。有一个小规则:右移1次就是除2)
>>>:无符号右移运算符,无论正负数(左边补0)
逻辑运算符
逻辑与 &&:两个表达式都为真,结果才是真,只要有一个是假,结果就是假
逻辑或 || :两个表达式都为假,结果才是假,只要有一个是真,结果就是真
逻辑非 ! :真变假,假变真
短路逻辑运算符
&&:如果左侧表达式值为 false, 则表达式结果一定是false不用计算右侧表达式,如果左侧为true执行右侧表达式,右侧为true就是true,如果为false就是false
||:如果左侧表达式值为 true, 则表达式结果一定是true, 无需计算右侧表达式,如果左侧为false执行右侧表达式,右侧为false就是false,如果为为true就是true
三元运算符(?:)
表达式1?表达式2:表达式3
当表达式为true执行表达式2,为假则执行表达式3