9.Java算术优先级及左移,右移

1.Java运算符优先级:(从左往右优先级越小)

[ ]        ( )    ++      --        !      ~      instanceof      *      /      %      +        -        <<      >>          >>>        <      >      < =      > =      ==      !=      &    ^      &&      ||        ? :          op=

2.左移:(<<) 操作数乘以2的n次方 ,不够就是补0

System.out.println(6<<2);  //6 x 2 x2 = 24

3.右移:(>>)  操作数除以2的n次方 ,(这里注意点:如果是负数的话就是补1,正数补0)

System.out.println(6>>2); 6 /(2*2) = 1

4.无符号右移 :(都是补0的操作)

5.左移,右移的应用:

1.需求:交换两个数字的大小,不能使用三方变量来实现改功能

    //方式一: 相加法  

    //方式二: 异或法

//方式一:相加法,确定是不能超过Int的存储的范围

int  a = 5;

int b = 3;

a = a + b;//a = 5+3 = 8

b = a - b;//b = 8-3 = 5

a = a - b;//a = 8-5 = 3

//方式二:异或法

int  a = 5;

int  b = 3;

a = a^b;//a = 5^3

b = a^b;//b = 5^3^3 = 5

a = a^b;//a = 5^3^5 = 3

2.需求:求一个数的低四位的值 (使用与&) 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,857评论 0 6
  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 673评论 0 0
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,908评论 0 2
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,165评论 0 41