## Java语言支持如下运算符:

* 算数运算符:+,-,*,/,%(模),++,--
* 赋值运算符:=
* 关系运算符:>,<,>=,<=,==,!=instanceof
* 逻辑运算符:&&,||,!
* ---------------------------(重点掌握上面4个就好了)
* 位运算符(跟位相关的):&,|,^,~,>>,<<,>>>(了解它们就行了!)
* --------------------------------(下面两个是偷懒用的)
* 条件运算符?:
* 扩展赋值运算符:+=,-=,*=,/=

 

```java
package operator;

public class Demo01 {
public static void main(String[] args) {
//二元运算符
//Ctrl + D :复制当前行到下一行
int a=10;
int b=20;
int c=25;
int d=25;

System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);//因为有小数,所以要把int强转为double

}
}

```

```java
package operator;

public class Demo02 {
public static void main(String[] args) {
long a=123123123123123L;
int b =123;
short c =10;
byte d =8;

System.out.println(a+b+c+d);//输出123123123123064(Long类型)
System.out.println(b+c+d);//输出141(int类型)
System.out.println(c+d);//输出18(int类型)
/*运算中如果有一个数是Long类型,那么结果就会是Long类型;
同理,如果运算中里面有一个Double类型的话,那么结果一定是Double类型*/
//如果没有Long类型的时候都会转为int,不管有没有int类型在里面都会转换成int类型;
// * 怎么看是int类型?输出里面强制转换一下,报错里就可以看出这就是int类型。
//cast 转换的意思


}
}

```

```java
package operator;

public class Demo03 {
public static void main(String[] args) {
//关系运算符只会返回两种结果: 正确(true),错误(false)。 是通过布尔值来表示的,所以输出的结果一定是布尔值。
int a=10;
int b=20;
int c=21;

System.out.println(c%b);//输出结果1;取余,也叫模运算;意思就是c/a取余数,想当于21/20=20...1(1就是余数)

System.out.println(a>b);//输出false
System.out.println(a<b);//输出true
System.out.println(a==b);//输出false
System.out.println(a!=b);//输出true

}
}
```