算数运算符 小数参与运算,结果可能不准确
加 - 减 - 乘 * 除 / (整数参与运算,结果是整数) 取余 % 是否整除,是否偶数
数值拆分
个位 x % 10 十位 x / 10 % 10 百位 x / 100 % 10
隐式类型转换(自动类型提升) 取值范围小的转到大的
double> float>long>int>short>byte
byte short char 运算时 直接先提升到 int 类型
强制类型转换 取值范围大转到小
目标类型 变量名 = (目标类型) 被转数据 超过取值范围会出错
字符串 "+" 操作 "+"操作中有字符串, 则"+"为 字符连接符 "123"+123 = "123123"
连续"+"操作 从左到右逐个执行
字符"+" 字符转成int a 97 A 65
自增自减 ++/-- 单独写一行 无论放在前边还是后边 都一样 是 加一
参与计算 b = a++ 先用后加 b=++a 先加后用
逻辑运算符 与 & 或 | (左右表达式都会执行) 异或 ^ 同为false 异为 true 取反 !
短路运算符 短路与 && 短路或 || 短路效果 左边表达式能判断结果 右边表达式不执行
三元运算符 res = a>b ? a : b true res=a false res=b
IDEA 快捷键ctrl+alt+L 自动格式化代码
原反补 计算机中以补码形式存储计算
正数原反补一致,负数反码是为了解决负数计算问题,补码是为了解决负数计算两个0的问题
规定 补码 10000000 为 -128 没有原码和反码 1 字节(8bit) -128~127
byte 1字节 short 2字节 int 4字节 long 8字节
数字|数字 数字&数字 二进制补码按位进行与 或
<<左移 二进制补码左移 低位补0 左移一位相当于乘2 所以a<<2 左移两位,相当于a*2*2
>>右移 二进制补码右移 符号位与原来相同,其余高位补0 移出去的不要了 右移一位相当于除2