Java基础之基本的编译和数据类型(二)

1.char 类型

用来表示单个字符,Java中为双字节表示 范围 : \u0000 ~ \uffff

特殊的转义字符

转义序列 | 名称
---- | -- 
\\b  | 退格
\\t  | 制表
\\n  | 换行
\\r  | 回车

2.boolean类型

布尔类型有两个值 true 和 false ,整型值和布尔值之间不能相互转换

1
boolean Bool = 0 ; (编译不通过)

在这里插入图片描述

3.常量

在Java中用关键字final来指示常量
final表示这个变量只能被赋值一次,一旦被赋值就不能被更改
习惯上,常量名使用全大写

4.数值类型的转换
下图中实心箭头表示无信息丢失的转换,虚线箭头表示可能有精度丢失的转换

在这里插入图片描述

(1)隐式类型转换

当大类型数据放入小类型数据中会发生隐式类型转换,或者说精度低的数据存放到精度高的数据变量中也会发生隐式类型转换

1
2
short a=10;
int b = a; (会发生隐式类型转换)
(2)显式类型转换

把大类型数据放入小类型变量中势必会发生数据的截断,精度降低的现象
一般使用强转操作符()进行使用

1
2
long a = 100l;
int b = (int)a ; (强制类型转换)

3.逻辑运算符

&& (与)
a&&b 只有a,b均为true ,结果才为true ,否则为false
| (或)
a||b只有a,b均为false结果才为false,否则为true
!a 与a的值相反

4.按位运算符
1.按位求反运算符~
对操作数的二进制数据的每一个二进制位都取反
在这里插入图片描述
0000 0101
1111 1010

2.位与运算符&
对两个操作数,相应的二进制数位进行位与运算(有0为0)
0101
1101
0001

3.位或运算符 | 有1为1
5 |11 >15
0101
1011
1111
结果为15

4.位异或运算符 ^ 两个位一样为0否则为1
5^11
0101
1011
1110
其异或结果为14

5.保留符号位的右移运算符>>
将一个操作数的各个二进制位全部都向右若干位,这个数由右操作数决定,移到低位的将被舍弃.

6 不保留符号位的右移运算符>>>
与>>不同的是, >>>右移后左边空出的位用 0 填充。 如 5>>>1 结果为 2。 -9>>>1, 结果为 2147483643。

7 左移运算符<<
将一个操作数的所有二进制位向左移若干位, 右边空出的位填 0。 若高位左移后溢出, 则舍弃溢出的数。
如 5<<1 结果为 10

运算符的优先级表
在这里插入图片描述