运算符

1、算术运算符
A、整数相除只能得到整数
B、常量不可以用++
C、++a 先自增,再运算 a++先运算,再自增,减法相同
 a=1; b=a++;结果为 a=2,b=1;
 a=1; b=++a;结果为 a=2,b=2;
 x=4;
 y=(x++)+(++x)+(x*10)
结果
 y=4+6+6*10=70;
D、运算规则从左向右
2、赋值运算符
  y+=20;结果y=y+20
3、比较运算符
 结果为布尔型只有true和false两种
4、逻辑运算符
A、 ,左边是false,右边不执行了
 x=3,y=4
 boolean b1=((x++==3)&&(++y==4))
  // x=4,y=5因为左边是true 所以右边执行y=5

 boolean b1=((++x==3)&&(++y==4))
  // x=4,y=4因为左边是false所以右边不执行
B、||具有短路效果,左边是true,右边不执行了
D、|和&则无短路效果两边都要计算。
5、位运算符
&两边为数据做的是位运算,两边是布尔值时用逻辑运算。
A: 按位取反运算是补码运算
  System.out.println(~3)//输出结果为-4
  因为运算时需要先求补码。
  3的补码为:00000000 00000000 00000000 00000011
  ~3为 :11111111 11111111 11111111 11111100(补码)
  因为其为补码所以需要求原码才能得到最终结果
  11111111 11111111 11111111 11111011(反码)
  10000000 00000000 00000000 00000100(原码)
  最终结果为-4
B:一个数被同一个数异或两次结果还为之前的数,可以用来数据加密。
C:两个数交换:
    a=a^b;
    b=a^b;
    a=a^b;//第一种方法

    a=a+b;
    b=a-b;
    a=a-b;//第二种方法

    b=(a+b)- (a=b)//第三种方法
D:右移>> 最高为是0则补0,最高为是1则补1;
  无符号位右移 >>> 无论最高位是0还是1都是用0补齐。
  a<<b 把a向左移动b位   a>>b 把a向右移动b位
6、三目运算符
比较表达式?表达式1:表达式2。表达式结果为true则运行第一个式子,反之运行第二个式子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值