# Java基础之运算符 **Repository Path**: fpfgitmy_admin/java-base-operators ## Basic Information - **Project Name**: Java基础之运算符 - **Description**: java基础运算符简述 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-04-28 - **Last Updated**: 2021-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 运算符 #### 算数运算符 | 运算符 |运算 | 范例 |结果 | | --- | --- | --- | --- | | + | 正号 | +3 | 3 | | - | 负号 | -3 | -3 | | + | 加 |1+1 | 2 | | - | 减 | 1-1 | 0 | | * | 乘 | 1* 2 | 2 | | / | 除 | 2/2 | 1 | | % | 取余 | 3%2 | 1 | | ++ | 自增(前),先运算后取值 | a=2;b=++a | 3 | | ++ | 自增(后),先取值后运算 | a=2;b=a++ | b=2 | | -- | 自减(前),先运算后取值 | a=2;b=--a | b=1 | | -- | 自减(后),先取值后运算 | a=2;b=a-- | b=2 | | + | 字符串连接 | "a"+"b" | "ab" | #### 赋值运算符 + 符号: **=** + 扩展赋值运算符:**+=、-=、%=、/=、*=** #### 比较运算符 | 运算符 | 运算 | 范例 | 结果 | | --- | --- | --- | --- | | == | 相等 | 1==2 | false | | != | 不想等 |1!=2 |true | | < | 小于 | 1<2 | true | | > | 大于 | 1>2 | flase | | <= | 小于等于 | 1<=2 | true | | >= | 大于等于 | 1>=2 | false | | instanceof | 检查是否类的对象 | "Hello" instanceof String | true | #### 逻辑运算符 + `&` 逻辑与 ; `|` 逻辑或; `!`逻辑非;`&&`短路与;`||`短路或;`^`逻辑异或 | a|b | a`&`b | a`&&`b | a`|`b | a`||`b | `!`a | `^`a | | --- | --- | --- | --- | --- | --- | --- | --- | | true | true | true | true | true | true | false | false | | true | false | false | false | true | true | false | true | | false | true | false | false | true | true | true | true | | false | false | false | false | false | false | true | false | #### 位运算符 | 运算符 | 运算 | 范例 | 结果 | | --- | --- | --- | --- | | << | 左移 | 3<<2 | `=3*2*2=12` | | >> | 右移 | 3>>1 | `=3/2=1` | | >>> | 无符号右移 | 3>>>1 | `=3/2=1` | | & | 与运算 | 6&3 | =2 | | `|` | 或运算 | 6`|`3 | =7 | | ^ | 异或运算 | 6^3 | =5 | | ~ | 取反运算 | ~6 | =-7 | #### 三元运算符 + 格式:(条件表达式)?表达式1:表达式2 + 用途:简化`if-else` + 例子1:单个判断 ``` int a = 3; System.out.println(a==3?"对了":"错了") ``` + 例子2:多个判断 ``` int a = 3; int b = 4; System.out.println(a==2?"相等":(a>b)?"对了":"错了") ``` #### 运算符优先级 + 如下表,上一行运算符总优先于下一行,从上往下由高到低 + 只有单目运算符、三元运算符、赋值运算符是从右向左运算的 | | . () {} ; , | | --- | --- | | R->L | ++、--、!(data type) | | L->R | * / % | | L->R | + - | | L->R | << >> >>> | | L->R | < > <= >= instanceof | | L->R | == != | | L->R | & | | L->R | ^ | | L->R | `|` | | L->R | && | | L->R | `||` | | R->L | ? : | | R->L | = `*=` /= %= | | R->L | += -= <<= >>= | | R->L | >>>= &= ^= `|=` |