脚本宝典收集整理的这篇文章主要介绍了Day 03,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
运算符: 算数,关系(比较),逻辑,位,赋值,三元
1. 算数运算符
注意⚠️:
/:1. int / int = int; 如: 10 / 4 = 2
double d = 10 / 4; // d = 2.0
2. double / int = int;
%: 1. 公式: a % b = a - (int)a / b * b
2. 10 % -3 = 1; -10 % 3 = -1;
++ i : 先自增,后赋值
i ++ : 先赋值, 后自增
易错题!!!!多看10遍!
2.关系运算符
3.逻辑运算符
&:逻辑与, 需要把两个条件都判断之后再得出结果
区别: & 和 && 的运算结果是相同的; 区别在于 需不需要判断右边的条件
| : 逻辑或
|| : 短路或
区别: 如果第一个条件为true, 逻辑或会继续判断第二个条件,虽然对最后结果没有影响。 但是短路或不会继续判断第二个条件了。
4.
^ : 逻辑异或, 如果两个条件结果相同则返回false, 两个条件结果不同则返回true
5. 赋值运算符
会进行类型转换
如: byte b = 2;
b += 2; //相当于 b = (byte) (b + 2)
6.三元运算符
表达式1 和 表达式2 的返回结果必须 是 接受变量的类型 或者(可以自动提升)
进制:
二进制: 0b开头
十进制
八进制:0开头
十六进制:0x开头
第一组: 其他进制 转 十进制
1. 二进制 转 十进制:
从 最低位 开始, 每一位上的数 乘以 2的(位数-1)次方
2. 八进制 转 十进制:(八进制 用 0开头)
从 最低位 开始, 每一位上的数 乘以 8的(次数-1)次方
3. 十六进制 转 十进制: (十六进制用Ox开头)
从最低位开始, 每一位上的数 乘以 16的(次数-1)次方
第二组: 十进制 转 其它进制
1. 十进制 转 二进制: (二进制的最高位是0b)
一直除以2, 知道商为0位置,然后将每一步的余数反过来写,就是二进制数。
2.十进制 转 八进制: (八进制最高位是0)
一直除以8, 知道商为0位置,然后将每一步的余数反过来写,就是八进制数。
3. 十进制 转 十六进制:
一直除以16, 知道商为0位置,然后将每一步的余数反过来写,就是十六进制数。
第三组: 二进制 转 其它进制
1. 二进制 转 八进制
从地位开始, 将二进制数 每三位一组, 专程对应的八进制数即可。
如: 0b11010101 --> 0325
2. 二进制 转 十六进制
从地位开始, 将二进制数 每四位一组, 专程对应的十六进制数即可。
如: 0b11010101 --> 0xD5
第四组: 八进制、十六进制 转 二进制
1. 八进制 转 二进制
将 八进制数 的每一位, 转换成对应的一个3位的二进制数。
如: 0327 --> 0b11010111
2.十六进制 转 二进制
将 十六进制数 的每一位, 转换成对应的一个4位的二进制数。
如: 0x23B --> 001000111011
位运算:
1. 按位与&: 两位都是1,结果为1,否则为0
如: 2&3: 先得到2和3的补码
2. 按位或 |:两位有一个1,结果就是1,否则为0
3.按位异或 ^ :两位一个是0,一个是1,结果为1, 否则为0
4.按位取反 ~: 0变1, 1遍0
5. >>: 算数右移, 低位溢出, 符号位不变,并用符号位补溢出的高位; 右移一位,相当于 除以2
6. <<: 算数左移,符号位不变,低位补0; 左移一位,相当于 乘以2
7. >>>: 无符号右移, 低位溢出,高位补0
8. 不存在<<<
原码、反码、补码:
1. 二进制数的最高位是 符号位: 0 表示 正数, 1 表示 负数
2. 正数的原码、反码、补码都一样(三码合一)
3. 负数的反码 = 它的 原码 符号位 不变,其他位取反(0 -> 1, 1 -> 0)
4. 负数的补码 = 它的 反码+1, 负数的 反码 = 负数的 补码-1
5. 0的反码、补码都是0
6. java 没有无符号数,都是有符号的
7. 在计算机运算的时候,都是以补码的方式来运算的 (运算用补码)
8. 当我们看运算结果的时候,要看他的原码(结果看原码)
以上是脚本宝典为你收集整理的Day 03全部内容,希望文章能够帮你解决Day 03所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。