运算符你会了吗?

public class Operator {
	public static void main(String[] args) {
		int x = 20;
		boolean y = false;
			//把true赋给y  &&左边为真执行下一步
			//先运算后赋值  结果为true  x++
			//x++    结果为222
		if (y = true && x++ == 20) {
			x++;
		}
			//x的值为22 大于20所以为true
			//&运算符不管前面真假,后面都执行
			//true & true   x++
		if ((x | 1) > 20 & y) {
			x++;
		} 
		System.out.println(x); //23
		/*
		 * 	0001 0100
		 * 	右移两位-->0000 0101
		 */
		System.out.println(20 >> 2); //5
		/*
		 * 	1001 0100	原码
		 * 	负数先转换补码
		 * 	1110 1011	反码
		 * 	+1
		 * 	1110 1100	补码
		 * 	右移两位-->1111 1011
		 * 	-1
		 * 	1111 1010
		 * 	1000 0101	再转换回来原码
		 */
		System.out.println(-20 >> 2);//-5
		/*
		 * 	0001 0100
		 * 	左移两位--->0101 0000
		 */
		System.out.println(20 << 2);//80
		/*
		 * 	1001 0100
		 * 	1110 1011
		 * 	1110 1100
		 * 	左移
		 * 	1011 0000
		 * 	1010 1111   //0-1减去等于1  向高位借了
		 * 	1101 0000	//符号位不变其他取反
		 */
		System.out.println(-20 << 2);//-80
	}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值