Java中的运算符

基本运算符

int a=3, b = 2;
加(+//a + b = 5;
减(-//a - b = 1;
乘(*//a * b = 6;
除(///a / b= 1;除时需要注意10不能做除数
(2)a / b =1;若 a =3.0(即为double类型时)
  a / b = 1.5;
取余(%//a % b = 1;
取余也可以叫做求模运算
%取余运算不仅可以对int求模,也可以对double 进行求模
例如:11.5 %  2.0 = 1.5;

增量运算符

加等(+=//a += b相当于 a = a + b
减等(-=//a -= b相当于 a = a - b
乘等(*=//a *= b相当于 a = a * b;
除等(/=//a /= b相当于 a = a / b;
取余等(%=//a %= b相当于 a = a %b;

自增自减运算符

/
自增(++) 分为前置自增(++a)和后置自增(a++)

int a = 6;
b = ++ a//的值7,a的值为7;先给a 加1后赋值给b
b = a++//b的值6,a的值为7;先将a赋值给b 然后a在加1
++a 和a++ 后a的值都为7;
自减(–) 分为前置自减(–a)和后置自减(a–)
int a = 6;
b = --a//的值5,a的值为5;先给a 减1后赋值给b
b = a–//b的值6,a的值为5;先将a赋值给b 然后a在减1
–a 和a–后a的值都为5;
总结:

  1. 如果不取自增(自减)运算的表达式的返回值, 则前置
    自增(自减)和后置自增(自减)没有区别.
  2. 如果取表达式的返回值, 则前置自增(自减)的返回值
    是自增(自减)之后的值, 后置自增(自减)的返回值是
    自增自减之前的值。

关系运算符

等于(==)
不等于(!=)
大于(>)
小于(<)
大于等于(>=)
小于等于(<=)
关系运算符比较简单,需要注意的是,关系运算符的
表达式返回的值都是boolean类型

逻辑运算符

逻辑与 &&(短路与)
规则: 两个操作数都为 true, 结果为 true, 否则结果为 false
表达式1 && 表达式2
若表达式1为假,则结果必定为假,所以表达式2
就不在计算了

逻辑或 ||(短路或)
规则: 两个操作数都为 false, 结果为 false, 否则结果为true
表达式1 &||表达式2
若表达式1为真,则结果必定为真,所以表达式2
就不在计算了

逻辑非 !
规则: 操作数为 true, 结果为false;操作数为false, 结果为ftrue;
!后面为一个布尔表达式或布尔值

位运算符

Java 中对数据的操作的最小单位不是字节, 而是二进制位.
位运算符主要有四个:
按位与(&)
如果两个二进制位都为1, 则结果为 1 否则为 0
按位或(|)
如果两个二进制位都为0, 则结果为 0,否则为 ,1

注意: 当 & 和 | 的操作数为整数(int, short, long, byte) 的时候,
表示按位运算, 当操作数为 boolean 的时候, 表示逻辑运算.

按位非取反(~)
如果该位为 0 则转为 1, 如果该位为 1 则转为 0
1.0x 前缀的数字为 十六进制 数字. 十六进制可以看成是
二进制的简化表示方式. 一个十六进制数字对应 4 个二
进制位.
2. 0xf 表示 10 进制的 15, 也就是二进制的 1111

按位异或(^)
如果两个数字的二进制位相同, 则结果为0,否则为1;

移位运算符

左移 <<: 最左侧不要了,最右侧补0

右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)

无符号右移 >>>: 最右侧位不要了, 最左侧补 0.

  1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
  2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
  3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
  4. 移动负数位或者移位位数过大都没有意义

条件运算符

条件运算符只有一个:
表达式1 ? 表达式2 : 表达式3
当 表达式1 的值为 true 时, 整个表达式的值为 表达式2
的值; 当 表达式1 的值为 false 时, 整个表达式的值为
表达式3 的值.
类似于if语句
if(表达式1){表达式2}
else (表达式3)
// 求两个整数的最大值
int a = 10;
int b = 20;
int max = a > b ? a : b ;

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值