Java 运算符

运算符

     运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
     Java也提供了一套丰富的运算符来操纵变量,可以把运算符分成以下几组:
     算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符 和 其他运算符
     注意:java会根据运算符的精度类型进行自动类型转换

一、算术运算符

       算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。
       表格中的实例假设整数变量A的值为10,变量B的值为20:
image.png
       注意:自增自减运算符
                   1. 自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行 
           运算,而自增自减运算符是一个操作数。 
                   2. 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。
                   3.后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算。
       示例:
                   int a0 = 1;
                   int b0 = ++a0;//自增运算
                   int c0 = 1;
                   int d0 = --c0;//自减运算
                  System.out.println("进行自增运算后的值等于" + b0);
                  System.out.println("进行自减运算后的值等于" + d0);
                  a0 = 5;
                  b0 = 5;
                  int x0 = 2 * ++a0;
                  int y0 = 2 * b0++;
                  System.out.println("自增运算符前缀运算后a = " + a0 + ", x = " + x0);
                  System.out.println("自增运算符后缀运算后b = " + b0 + ", y = " + y0);
       结果:
                进行自增运算后的值等于2        
                进行自减运算后的值等于0
                自增运算符前缀运算后a = 6, x = 12
                自增运算符后缀运算后b = 6, y = 10

二、关系运算符

      关系运算符主要用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )
      表格中的实例整数变量A的值为10,变量B的值为20:
image.png
  示例:
             int xo = 1;
             int yo = 2;
             System.out.println("xo == yo = " + (xo == yo) );
             System.out.println("xo != yo = " + (xo != yo) );
             System.out.println("xo > yo = " + (xo > yo) );
             System.out.println("xo < yo = " + (xo < yo) );
             System.out.println("xo >= yo = " + (xo >= yo) );
             System.out.println("xo <= yo = " + (xo <= yo) );
 结果:
             xo == yo = false
             xo != yo = true
             xo > yo = false
             xo < yo = true
             xo >= yo = false
             xo <= yo = true

三、位运算符

        Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char)和字节型 (byte)等类型。
        位运算符作用在所有的位上,并且按位运算。
        假设a = 60,b = 13;它们的二进制格式表示将如下:
image.png
 示例:
          int a = 60; /* 60 = 0011 1100 */
          int b = 13; /* 13 = 0000 1101 */
          int c = 0;
          c = a & b;       /* 12 = 0000 1100 */
          System.out.println("a & b = " + c );
          c = a | b;       /* 61 = 0011 1101 */
          System.out.println("a | b = " + c );
          c = a ^ b;       /* 49 = 0011 0001 */
          System.out.println("a ^ b = " + c );
          c = ~a;          /*-61 = 1100 0011 */
          System.out.println("~a = " + c );
          c = a << 2;     /* 240 = 1111 0000 */
          System.out.println("a << 2 = " + c );
          c = a >> 2;     /* 15 = 1111 */
          System.out.println("a >> 2  = " + c );
          c = a >>> 2;     /* 15 = 0000 1111 */
          System.out.println("a >>> 2 = " + c );
 结果:
          a & b = 12
          a | b = 61
          a ^ b = 49
          ~a = -61
          a << 2 = 240
          a >> 2  = 15
          a >>> 2 = 15

四、逻辑运算符

    辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示(假设布尔变量A为真,变量B为假):
image.png

五、赋值运算符

       赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。下面是Java语言支持的赋值运算符:
image.png

六、其他运算符

1.条件运算符
              条件运算符( ? : )也称为 “三元运算符”。
              语法形式:布尔表达式 ? 表达式1 :表达式2
              运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值 
   示例:
              int xo = 1;
              int yo = 2;
              int zo = 3;
              System.out.println(xo == yo ? yo : zo);
   结果:
              3
2.instanceof 运算符
              该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
              语法形式:( Object reference variable ) instanceof  (class/interface type)
   示例:
              Integer xo = 1;
             System.out.println(xo instanceof Integer);
   结果:
              true
七、Java运算符优先级
          所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级,最低优先级的在表的底部如下表所示:
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把...
    04d66c630228阅读 154评论 0 0
  • Java 运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操...
    薇薇和艾艾阅读 143评论 0 0
  • 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把...
    海人为记阅读 121评论 0 0
  • 一、Java 运算符分类: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运算符 1. 算术运算符...
    yjtuuige阅读 297评论 0 1
  • Java 运算符 运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运算符 算术...
    咖啡不解酒的醉丶阅读 397评论 0 1