java学习笔记(三) - 运算符
java学习笔记(三) - 运算符
执笔一、算术运算符
- 有小数运算时,得到的结果为近似值
二、逻辑运算符
- &&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false
&逻辑与:不管第一个条件是否为false,第二个条件都要判断
符合运算会进行类型转换
1
2byte b = 3;
b += 2;//b = (byte)(b + 2);
三、三元运算符
1 | 条件表达式? 表达式1:表达式2; |
- 如果条件表达式为true,运算后的结果是表达式1
- 如果条件表达式为false,运算后的结果是表达式2
四、运算符的优先级
从上至下优先级降低
2行:单目运算;3行:算术运算符;4行:位移运算符;5行:比较运算符;6行:逻辑运算符;7行:三元运算符;8、9、10:赋值运算符
只有单目运算符、赋值运算符是从右向左运算的
五、标识符
- 对各种变量、方法和类名等命名使用的字符序列为标识符
1. 命名规则
- 由26个英文字母大小写,0-9,_或$组成
- 数字不可以开头
- 不可以使用关键字和保留字,但能包含关键字和保留字
- Java中严格区分大小写,长度无限制
- 标识符不能包含空格
2. 命名规范
- 包名:多单词组成时所有字母都小写:aaa.bbb.ccc,比如com.study.crm
- 类名、接口名:多单词组成时,所有单词的首字母大写: XxxYyyZzz,比如:TankShotGame
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz,比如:tankShotGame
- 常量名:所有字母都大写,多单词时每个单词用下划线连接:XXXYYY Zzz,比如︰TAX_RATE
六、关键字
- 用作专门用途的字符串
- 关键字中所有的字母都为小写
七、保留字
- 现有Java版本尚未使用,但以后版本可能会作为关键字使用
1 | byValue、cast、future、generic、inner、operator、outer、rest、var .goto、 const |
八、键盘输入语句
- 用于接收用户输入的数据
- java.util包下的Scanner
1 | //步骤2:创建Scanner类的对象 |
九、进制
1. 二进制
- 0,1 满2进1,以0b或0B开头
2. 十进制
- 0~9,满10进1
3. 八进制
- 0~7,,满8进1,以数字0开头表示
4. 十六进制
- 0~9及A(10)~F(15),满16进1,以0x或0X开头表示
十、位运算
1. 按位与&
- 两位全为1,结果为1,否则为0
2. 按位或|
- 两个有一个为1,结果为1,否则为0
3. 按位异或^
- 两位一个为0一个为1,结果为1,否则为0
4. 按位取反~
- 0 —> 1,1 — > 0
5. 算术右移>>
- 低位溢出,符号位不变,并用符号位补溢出的高位
- 相当于除2
1 | int a = 1>>2;//1 => 00000001 => 00000000 本质 1 / 2 / 2 = 0 |
6. 算术左移<<
- 符号位不变,低位补0
- 相当于乘2
1 | int a = 1<<2;//1 => 00000001 => 00000100 本质 1 * 2 * 2 = 4 |
7. 逻辑右移>>>
- 也叫无符号右移
- 低位溢出,高位补0
十一、补码、原码、反码
- 二进制的最高位是符号位:0表示正数,1表示负数
- 正数的原码,反码,补码都一样(三码合一)
- 负数的反码 = 它的原码符号位不变,其它位取反(0->1,1->0)
- 负数的补码 = 它的反码 + 1,负数的反码 = 负数的补码 - 1
- 0的反码,补码都是0
- java没有无符号数,换言之, java中的数都是有符号的
- 在计算机运算的时候,都是以补码的方式来运算的
- 当我们看运算结果的时候,要看他的原码
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果