Java运算符

一、简介
运算符是一种用于表示数据的运算、赋值和比较等的特殊符号,包括算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和三元运算符。
二、运算符介绍
1)算术运算符
算术运算符包括正号(+)、负号(-)、加(+)、减(-)、乘(*)、除(/)、取模或取余(%)、自增(前或后)++、自减(前或后)–等。
注意:

  • 取模操作的结果符号取决于被模数,与模数无关,且取模的结果不一定总是整数。
System.out.println(5%2); // 1
System.out.println(-5%2); // -1
System.out.println(-5.1%2); // -1.0999999999999996
  • 对于除法运算,如果整数之间的除法运算,则结果必为整数。
System.out.println(5%2); // 1

2)赋值运算符
赋值运算符为=。

  • 当赋值运算符=两侧的数据类型不一致时,可以使用自动类型转换或强制类型转换进行处理;
  • 支持连续赋值。
  • 扩展的赋值运算符:+=、-=、*=、/=、%=
    注:
// 
short s1 = 10;
//s1 = s1 + 10; // 会编译失败,类型自动提升为int
s1 += 10; // 可编译成功,+=不会改变变量的数据类型,

3)比较运算符
比较运算符包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。
注意:

  • 比较运算符的结果都是布尔类型,即true或false。

4)逻辑运算符
逻辑运算符包括逻辑与(&)、逻辑或(|)、逻辑异或(^)、逻辑非(!)、短路与(&&)、短路或(||)。
注意:

  • 逻辑运算符用于操作布尔类型表达式
  • 逻辑与(&)和短路与(&&)的区别:
    A&B 在计算时,无论A表达式为真或为假,B表达式都会进行运算;
    A&&B 在计算时,如果A表达式为真,则会计算表达式B,否则不会计算表达式B。
  • 逻辑或(|)和短路或(||)的区别:
    A|B 在计算时,无论A表达式为真或为假,B表达式都会进行运算;
    A||B 在计算时,如果A表达式为真,则会计算表达式B,否则不会计算表达式B。
  • 逻辑非(!)
    !A 在计算时,若A为真,则!A为假;若A为假,则!A为真;
  • 逻辑异或(^)
    A^B 在计算式,当A=B时结果为false;当A!=B时,结果为true;

5)位运算符
位运算符包括左移(<<)、右移(>>)、无符号右移(>>>)、与(&)、或(|)、异或(^)、取反(~)。
注意: 位运算符是对整数进行的二进制运算。
如:

  • 左移
    在这里插入图片描述
    21<<2 , 21 左移 2 位,左边两位(高位)溢出,右边空缺补0,结果为84。
  • 右移
    在这里插入图片描述
    21>>2,21 右移 2位,右边两位(高位)溢出,左边空缺补0,结果位5。
  • 无符号右移
    被移位二进制最高位无论是0或1,空缺位都用0补。
  • &
    二进制位的&运算,只有1&1时结果为1,否则为0
  • |
    二进制位的|运算,只有0|0时结果为0,否则为1
  • ^
    二进制的异或运算,只有当围巾职位不同时运算结果为1
  • 取反~
    取反操作是各二进制码按补码对各位取反

6)三元运算符
三元运算符,也称为三目运算符,即有三个操作数的运算符。
格式为: (条件表达式) ? 表达式1 : 表达式2

  • 计算条件表达式的值result,结果为true或false;
  • 如果result为true,则计算后的结果为表达式1的值;
  • 如果result为false,则计算后的记过为表达式2的值;
  • 表达式1和表达式2的值为相同类型;

三、运算符的优先级
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值