0%

Java的运算符

运算符

  1. 算术运算符

    | 运算符 | 作用 |
    | :——: | :———: |
    | + | 加 |
    | - | 减 |
    | * | 乘 |
    | / | 除(取商) |
    | % | 取余 |

    ** 如果在计算的时候有小数参与,结果有可能不精确。

    ** / 运算,整数参与运算,结果只能得到整数;小数参与运算,结果有可能不精确。

    ** %运算的应用场景:A是否可以被B整除;A是否为偶数(A%2);

    隐式转换:取值范围的数据转换成取值范围的数据。(byte<short<int<long<float<double)

    ​ byte,short,char三种类型的数据在运算的时候,都会自动先提升为int,然后再进行运算

    强制转换:取值范围的数据转换成取值范围的数据。格式:目标数据类型 变量名 = (目标数据类型)被强转的数据

    ** :有可能会导致数据不准确;

    字符串相加:当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符。会将前后的数据进行拼接,并产生一个新的字符串。(连续加时从左到右逐个执行)

    字符相加:当字符+字符(字符+数字)时,会把字符通过ASCII码表查询到对应的数字再进行计算。

  2. 自增自减运算符

符号 作用 说明
++ 变量的值加1
变量的值减1

单独成行时:++,—无论是放在变量的前面还是后面,单独写一行结果都是一样的。

参与运算时:先用后加,先加后用;

  1. 赋值运算符

    =,+=,-=,*=,/=,%=。

    (扩展的赋值运算符底层隐藏了强制类型转换,不用再强转了)

  2. 关系运算符

    ==,!=, >, >= , < ,<=

    (关系运算符的结果都是布尔类型,要么true,要么false)

  3. 逻辑运算符

    | 符号 | 作用 | 说明 |
    | :——: | :———: | :—————————————-: |
    | & | 逻辑与 | 并且 ,两边都为真,结果才为真 |
    | | | 逻辑或 | 或则,两边都为假,结果才是假 |
    | ^ | 逻辑异或 | 相同为false,不同为true |
    | ! | 逻辑非 | 取反 |

    短路逻辑运算符:&& ||

    | 符号 | 作用 | 说明 |
    | —— | ——— | —————————————— |
    | && | 短路与 | 结果和&相同,但是有短路效果 |
    | || | 短路或 | 结果和|相同,但是有短路效果 |

    & | ,无论左边true false ,右边都要执行。

    && ||,如果左边能确定整个表达式的结果,右边不执行。

    &&:左边为false,右边不管是真是假,整个表达式的结果一定为false

    ||: 左边为true,右边不管是真是假,整个表达式的结果一定为true

  4. 三元运算符

    格式:关系表达式 ?表达式1:表达式2

    结果必须被使用,赋值给变量或者直接打印出来。

  5. 运算符的优先级

    ()优先于所有