## 一、算数运算符

### 2.运用

#### +

``````package com;

public class liu {
public static void main(String[] args) {
//实例一：作为正常运算
int c = 1;
int d = 2;
int e = c + d;
System.out.println(e)  //最后结果为3;

//实例二：作为连接符
//已知有两个变量a和b,值分别为1和2，在控制台上输出a + b = 3, 1 + 2 = 3
int a = 1;
int b = 2;
System.out.println(a + " + " + b + " = " + (a + b));
//控制台显示结果为：a + b = 3。
//注意此时的"+","="作为字符串,而(a + b)则进行运算。
}
}``````

#### -

``````package com;

public class liu {
public static void main(String[] args) {
int a = 1;
int b = 3;
int c = b-a;
System.out.println(c);  //运算结果：2。
}
}``````

#### *

``````package com;

public class liu {
public static void main(String[] args) {
int i = 4;
int j = 2;
int a = i*j;
System.out.println(a);//8
}
}``````

#### /

``````package com;

public class liu {
public static void main(String[] args) {
//实例1：作为整数运算
int i = 4;
int j = 2;
int a = i / j;
System.out.println(a);//2

//实例2：作为浮点运算
int i = 5;
double j = 2;
double a = i / j;
System.out.println(a);//2.5
}
}``````

#### %

``````package com;

public class liu {
public static void main(String[] args) {
int i = 2;
int j = 3;
System.out.println(i % j);  //0

int a = 4;
int b = 2;
System.out.println(a % b); //2
}
}``````

## 二、自增自减运算符

### ++

``````package com;

public class liu {
public static void main(String[] args) {
//实例1：单独运算。
int i = 1;
i++; // i = i + 1
++i;
System.out.println(i);//结果都等于2。

//实例2：++在前。
int i = 1;
int j = ++i;
System.out.println(j);//2
System.out.println(i);//2

//实例3：++在后。
int i = 1;
int j = i++;
System.out.println(j);//1
System.out.println(i);//2
}
}``````

### –

``````package com;

public class liu {
public static void main(String[] args) {
//实例1：单独运算。
int i = 2;
i--; // i = i - 1
--i;
System.out.println(i);//结果都等于1。

//实例2：--在前。
int i = 1;
int j = --i;
System.out.println(j);//1
System.out.println(i);//1

//实例3：--在后。
int i = 1;
int j = i--;
System.out.println(j);//2
System.out.println(i);//1
}
}``````

## 三、赋值运算符

``````package com;

public class liu {
public static void main(String[] args) {
int i = 1;
i += 2; // i = i + 2
System.out.println(i); //输出结果3

byte b = 1;
b += 2; // b = (byte)(b + 2)
System.out.println(b);
}
}``````

## 四、关系运算符

``````package com;

public class liu {
public static void main(String[] args) {
int i = 3;
int j = 2;
System.out.println(i > j);//true
System.out.println(i < j);//false

System.out.println(i >= j);//true
System.out.println(i <= j);//false

System.out.println(i != j);//true
System.out.println(i == j);//false
// ==是比较两边的大小,=是赋值。
}
}``````

## 五、逻辑运算符

### &(单与)：

``````package com;

public class Demo12 {
public static void main(String[] args) {
System.out.println(true & true);
System.out.println(true & false); //false
System.out.println(false & false);
System.out.println(false & true); //false
}
}``````

### | (单或)：

``````package com;

public class Demo12 {
public static void main(String[] args) {

System.out.println(true | true);
System.out.println(true | false);
System.out.println(false | false); //false
System.out.println(false | true);
}
}``````

### ^(异或)：

``````package com;

public class Demo12 {
public static void main(String[] args) {

System.out.println(true ^ true); //false
System.out.println(true ^ false);
System.out.println(false ^ false); //false
System.out.println(false ^ true);

}
}``````

### ！(非)：

``````package com;

public class Demo12 {
public static void main(String[] args) {

System.out.println(!true); //false
System.out.println(!false); //true
System.out.println(!!true); //true
System.out.println(!!!true); //false
}
}``````

### &&(双与)：

``````package com;

public class Demo12 {
public static void main(String[] args) {

System.out.println(true && true);
System.out.println(true && false); //false
System.out.println(false && false); //false
System.out.println(false && true);  //false
}
}``````

&和&&的区别？

• &&：如果左边为false，右边就不再执行了，结果就为false。
• &：如果左边为false，右边依然会执行，结果就为false。

### || (双或)：

``````package com;

public class Demo12 {
public static void main(String[] args) {

System.out.println(true || true); //true
System.out.println(true || false); //true
System.out.println(false || false); //false
System.out.println(false || true); //true
}
}``````

|和||的区别？

• ||：如果左边为true，右边就不再执行了，结果就为true。
• |：如果左边为true，右边依然会执行，结果就为true。

## 六、位运算符

``````package com;

public class Demo01 {
public static void main(String[] args) {
System.out.println(3 & 2); //2
System.out.println(3 | 2); //3
System.out.println(3 ^ 2); //1
System.out.println(~3);//-4
System.out.println(3 >> 2);//0
System.out.println(3 << 2);//12
System.out.println(3 >>> 2);//0
System.out.println(-3 >> 2);//-1
System.out.println(-3 >>> 2);
}
}``````

>>和>>>区别是什么？
>>：如果数据是负数，最左边的符号位是1，右移之后，左边要补1。

>>>：不管数据是正数还是负数，右移之后，左边都补0。

## 七、三元运算符

``````package com;

public class Demo02 {
public static void main(String[] args) {
//获取两个数的较大值
int i = 2;
int j = 3;
//第一种：
int max = i > j ? i : j;
System.out.println(max);  //3
//第二种：
System.out.println(i > j ? i : j);

//表达式1和表达式2既然会得到一个结果，如果传递给一个变量去接收，该变量的数据类型应该和表达式1和表达式2的结果的数据类型匹配。
//浮点型：
double d = 3 > 2 ? 1 : 2;
System.out.println(d); //输出：1.0
//字符型：
char c1 = 3 > 2 ? 97:98;
System.out.println(c1); //输出：a

}
}``````