目录
+ - * / % ++ --
注意 10 / 4 = 2 在Java中因为int类型取整位
int a = 10; a = a ++; sout(a) //10
注意 小数取余有公式 a % b; a是小数时公式 a - (int)a / b *b; -10.5 % 3 = -10.5 - (-3)* 3 = -1.5
== != > < >= <=
*返回值为Boolean值,a > b 称为关系表达式
短路与 && 短路或 || 取反 ! 逻辑与 & 逻辑或 | ^逻辑异或
int x = 5; int y = 5; if(x++=6 & ++y==6){x=11;} sout(x,y) // 6,5
int x = 5; int y = 5; if(x++=6 && ++y==6){x=11;} sout(x,y) //6,5
int x = 5; int y = 5; if(x++=5 | ++y==5){x=11;} sout(x,y) //11,6
int x = 5; int y = 5; if(x++=5 || ++y==5){x=11;} sout(x,y) //11,5
+= -= *= /= %=
a += 3; ==> a = a + 3;
条件表达式 ?表达式1:表达式2; 条件表达式为真,运算结果为表达式1;条件表达式为假,运算结果为表达式2;
表达式1,2可以赋值给变量接收; int a = 1 == 2 ? 1 : 2;
凡是自己取名字的地方都叫标识符
由26个字母,美元符号,下划线,数字组成,数字不能开头,保留字与关键字不能用,严格区分大小写,不能有空格
Scanner sc = new Scanner(System.in); int a = sc.nextInt();//得到一个整型
二转十:位数次方 0b1011 = 8+2+1 = 11
八转十:位数次方 0234 = 2*64+3*8+4*1=156
十六转十:位数次方 0x23A = 570
十转二:除二取余 34= 100010
十转八:除八取余 131 = 0203
十转十六:除十六取余 237 = 0xED
二转八转十六:每三位为八进制,每四位为十六进制
八进制、十六进制转二进制:每一位对应三个二进制,每四位对应一个二进制
45 ==> 0010 1101 -45 ==> 1010 1101
正数三码合一,负数的反码等于除符号位全部取反,补码在反码的基础上加1
0010 1101 0010 1101 0010 1101
1010 1101 1101 0010 1101 0011
位运算采用的是补码来计算。计算机看到的是原码