JAVA运算符
-
算数运算符
+、-、*、/、%、++、–
++、-- :a++;//a = a +1;
++a;//a = a +1;
int a= 10;
int b = a++;//先取a的值,再赋值,后a自增
int c = ++a;//先取a的值,再自增,后赋值a -
逻辑运算符
条件1 && 条件2//逻辑与 ∩;两者都为真->true
条件1 || 条件2//逻辑或∪;有一方位true->true -
赋值运算符
=
复合符号运算符(+=、-=、*=、/=、%=)不存在类型提升
short s = 1;
s = s + 1;×
s += 1;√ -
位运算符
|、&、∧、~、>>、>>>
(1)按位或|:有一方为1结果为1,两方都为0结果为0
10|5
0000 1010
0000 0101
——————
0000 1111 =15
(2)按位与&:有一方为0结果为0,两方都为1结果为1
10&5
0000 1010
0000 0101
——————
0000 0000 =0
(3)异或∧:两方如果数字相同结果为0,不相同结果为1
10∧5
0000 1010
0000 0101
——————
0000 1111 =15
(4) >>右移 >>n除以n个2
<<左移 <<n乘以n个2
10>>1 ->0000 0101 用符号为补空
10<<1 ->0001 0100
. >>>右移 用0补空 -
关系运算符
. ><、>=、!=、==
原码 反码 补码
符号位:正数0 / 负数1
10
原码:0000 0101(二进制)
反码:0111 0101(符号位不参与)
补码:0000 0101(补码 = 原码)
-10
原码:1000 1010
反码:1111 0101
补码:1111 0110(反码+1)负数补码->原码按位取反+1
给补码求原码:1.记录符号位 2.正数:原码=补码 / 负数:按位取反+1
eg:1010 1010(补码)
↓0101 0110
-23
JAVA数据类型
-
基本数据类型:
整型:byte(1)、short(2)、int(4)、long(8)
浮点:float(4)、double(8)
字符:char(2)、Unicode(字符集)
布尔:boolean(true\false)不能和整型进行转换 -
引用数据类型
遥控
int a = 10;
a = a + 1;//操作a就等于操作10
arr->0x666->1 2 3 4 5
类型转换
- 强制类型转换:byte b = (byte) s;//()里写入转化成的类型
- 隐式类型转化:short s = b;//小转大
eg:float f = 1.0;×
系统默认小数double 1.float f = (float)1.0; 2.float f = 1.0f;