[TOC]
# 常用运算符
## 1.算术运算符
> +,-,*,/,%,++,--
```
public class OperatorDemo {
public static void main(String[] args) {
// 定义两个变量
int a = 3;
int b = 4;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
// 整数相除只能得到整数,要想得到小数,就必须有浮点数参与运算
System.out.println(3 / 4.0);
System.out.println(3.0 / 4);
}
}
```
### 取余和除法的区别
%:取余运算符。得到的是两个相除数据的余数。
/:除法运算符。得到是两个相除数据的商。
使用场景: %,判断两个数据是否整除。
```
public class OperatorDemo2 {
public static void main(String[] args) {
int a = 5;
int b = 3;
System.out.println(a / b);
System.out.println(a % b);
}
}
```
### 字符和字符串参与加法操作
> 字符参与运算
> 其实是拿该字符对应的数值来操作
> ‘a’ 97
> ‘A’ 65
> ‘0’ 48
> 字符串参与运算
> 这里其实做的不是加法运算,而是字符串拼接。
> 字符串和其他类型的数据做拼接,结果是字符串类型的。
```
public class OperatorDemo3 {
public static void main(String[] args) {
// 整数加法
int a = 10;
int b = 20;
System.out.println(a + b);
System.out.println("------------------");
// 字符参与加法操作
char c = '0';
char c2 = 'a';
System.out.println(a + c);
System.out.println(a + c2);
System.out.println("------------------");
// 字符串参与加法操作
System.out.println("hello" + a);
System.out.println("hello" + a + b); // "hello"+10,然后再和b进行拼接
System.out.println(a + b + "hello");
}
}
```
### 算数运算符++和--的用法
++,--运算符:对变量做加1或者减1的操作。
++或者--既可以放在变量的后面,也可以放在变量的前面。
单独使用的时候,++或者--无论是放在变量的前面还是后面,结果是一样的。
> 如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--
如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作
## 2.赋值运算符
基本的赋值运算符:=
扩展的赋值运算符:+=,-=,*=,/=,%=
+=: a+=20;相当于a = (a的数据类型)(a + 20);
## 3.关系运算符
关系运算符包含以下内容:
==,!=,>,>=,<,<=
关系运算符的结果都是boolean型,也就是要么是true,要么是false。
注意事项:
关系运算符“==”不能误写成“=”。
## 4.逻辑运算符
### A:逻辑运算符有哪些
* 逻辑运算 —— &,|,^,!
* 短路运算 —— &&,||
### 2.4.3 逻辑运算符&&与&的区别
#### A:&&和&的区别?
a:最终结果一样。
b:&&具有短路效果。左边是false,右边不执行。
&是无论左边是false还是true,右边都会执行
#### B:||和|的区别?
a:最终结果一样
b:||具有短路效果.左边是true,右边不执行
|是无论左边是false还是true,右边都会执行
### 注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
比较表达式:a == b(条件表达式)
### 结论:
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
!逻辑非:非false则true,非true则false
## 5.三元运算符
### A:格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
### B:示例
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数