123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- class Operator03
- {
- public static void main(String[] args)
- {
- System.out.println("Hello World!");
- //左移
- System.out.println(3<<2); //12
- /*
- 3 0000 0011
- 0000 1100 = 10进制 12
- */
- System.out.println(-3<<2); //-12
- /*
- -3
- 1000 0011 源码
- 1111 1100 反码
- 1111 1101 补码 底层
- 1111 0100 补码 -1
- 1111 0011 反码
- 1000 1100 源码 // -12
- */
- //右移
- System.out.println(3>>2); // 0
- /*
- 0000 0011
- 0000 0000
- */
- //无符号右移
- System.out.println(8>>>2); // 2
- System.out.println(-8>>>2); // 1073741822
- System.out.println(-8>>2); // -2
- //按位与:&
- System.out.println(3&7); // 3
- /*
- 0000 0011
- 0000 0111
- 0000 0011
-
- */
- //按位或:|
- System.out.println(3|7); // 7
- /*
- 0000 0011
- 0000 0111
- 0000 0111
-
- */
- //亦或:^
- System.out.println(3^7); // 4
- /*
- 0000 0011
- 0000 0111
- 0000 0100
-
- */
- //取反 ~
- System.out.println(~3); // 4
- /*
- 0000 0011
-
- 1111 1100
- */
- //如何交换两个int型变量的值?String呢?
- int a = 10;
- int b = 20;
-
- //声明临时变量 临时 ***
- /*int temp = a;
- a = b;
- b = temp;
-
- System.out.println("a="+a);
- System.out.println("b="+b);
- //方案2 溢出问题 变成String
- int c = a+b;
- a = c- a ;
- b = c -a ;
- System.out.println("a="+a);
- System.out.println("b="+b);
- */
- //方案3 亦或 对象类型
- a = a ^ b ;
- b = a ^ b ;
- a = a ^ b ;
- System.out.println("a="+a);
- System.out.println("b="+b);
- }
- }
|