JavaSE(上)-Day4

本文详细介绍了JavaSE中的运算符分类,包括算术运算符、自增自减、赋值运算、关系运算、逻辑运算、三元运算以及原码、反码和补码的概念及其使用。特别关注了不同类型的运算符在实际编程中的应用和注意事项。
摘要由CSDN通过智能技术生成


本篇主要介绍内容如下:

  1. 运算符
  2. 表达式
  3. 原码,反码和补码

运算符和表达式

定义1:运算符是对字面量或变量操作的符号
定义2:表达式是通过运算符连接字面量或变量的并且符合Java语法的式子。

运算符分类符号
算术运算符+ - * / %
自增自减运算符++ –
赋值运算符=、+=、-=、 *= 、/=、 %=
关系运算符== != > >= < <=
逻辑运算符&(并且)、 |(或者)、 &&(短路并且)、||(短路或者)、 ^(异或)、 !(取反)
三元运算符?:
其他运算符&(按位与)、 |(按位或)、 <<(左移)、 >>(右移)、 >>>(无符号右移)

算术运算符

  1. 只有整数参与运算,结果只会是整数
  2. 浮点数参与运算,结果可能不准确
  3. 不同的数值类型参与算术运算,取值范围小数值类型会隐式转换为取值范围大的数值类型,然后参与运算
  4. byte,short,char参与算术运算的时候,会先转换成int,然后参与运算
  5. 数值类型取值大小:byte < short < int < long < float < double
  6. 当取值范围大的数值类型转换成取值范围小的数值类型,需要强制转换,强制转换可能会发生错误
  7. 字符串 + 数据类型,是拼接操作,不是算术运算
  8. 字符参与算术运算,字符会查询ASCII码表找到对应的数值后,然后参与运算

自增自减运算符

++(自变量+1)、–(自变量-1)

  1. 后加加 参与运算时,先用后加
  2. 先加加 参与运算时,先加后用

赋值运算符

=、+=、-=、 *= 、/=、 %=
注意:+=、-=、 *= 、/=、 %=在运算的隐藏执行了强转
例子: short s = 10; s+=1; => s = (short)(s+1);

关系运算符

== != > >= < <= 返回值为boolean类型,true/false

逻辑运算符

&(并且) |(或者) &&(短路并且) ||(短路或者) ^(异或) !(取反)
其中最常用的是**&&**,||, !,短路与,短路或具有短路效果

三元运算符

三元运算符的表达式结果必须要被接收或打印。

关系表达式?表达式1:表达式2;  // 关系表达式为真,返回表达式1的结果,为假,返回表达式2的结果。

其他的运算符

  1. &(按位与) |(按位或) <<(左移) >>(右移) >>>(无符号右移)
  2. 按位与是都为1,才为1
  3. 按位或是有1,就为1
  4. 左移是低位补零,移动一位就乘以2
  5. 右移是符号位不变
  6. 无符号右移是符号位补零

原码,反码,补码

  1. 正数的原码,反码,补码是相同的
  2. 负数的反码是原码除符号位其他位取反,补码是反码+1
  3. 反码最初是为了解决负数的运算,但是运算过程存在误差正负零,然后补码解决了此问题
  4. 一个字节的情况,-128的补码1000 0000,没有原码和反码
  5. 原码是计算机展示的十进制数转换成二进制的数字
  6. 计算机中存储的二进制是补码,因此byte的取值范围是-128~127
  7. 计算机展示的二机制的原码转换成十进制
  8. 原码的首位是符号位,其他位是数值位,首位为零时表示正,为一表示负
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自律最差的编程狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值