JAVA随笔(2)

^:异或
两边相同结果是false
两边不同结果是true
&和&&的特点:
&:无论左边是true是false,右边都运算
&&:当左边为false时,右边不运算。


|:两边都参与运算。
||:当左边为true,右边不运算。
3<<2 = 12 -> 3*2^2
6>>2 = 1 -> 6/2^2
6>>1 = 3 -> 6/2^1
>>:最高位补什么由原有数据的最高位值而定
>>>:无论最高位是什么,右移后最高位都用0补


一个数异或同一个数两次,结果还是那个数。


练习:
1、最有效的效率算出2乘以8等于几?
2<<3
2、n=3,m=8,不用第三方变量,交换值
n = n ^ m
m = n ^ m
n = n ^ m


0000-0000 0000-0000 0000-0000 0011-1100 = 60;


60&15 = 12
0000-0000 0000-0000 0000-0000 0011-1100 
0000-0000 0000-0000 0000-0000 0000-1111
----------------------------------------
0000-0000 0000-0000 0000-0000 0000-1100 = 12


temp = 60>>4
temp & 15 = 3


0000-0000 0000-0000 0000-0000 0000-0011
0000-0000 0000-0000 0000-0000 0000-1111
----------------------------------------
0000-0000 0000-0000 0000-0000 0000-0011 = 3




(char)(12-10+'A') = C
三元运算符
选择结构
格式:
switch(表达式)(byte short int char)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
......
default:
执行语句;
break;
}


int x = 3
switch(x)
{
default:
System.out.println("d");
case 4:
System.out.println("a");
case 5:
System.out.println("b");
break;
case 2:
System.out.println("c");
break;


}
结果为d
      a
      b




如果判断的具体数值不多,而是符合byte short int char 这四种类型
建议使用swtich语句
其他情况:对区间判断,对结果为boolean类型判断,使用if

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值