目录
1. 算术运算符
1.1 四则运算与取模运算
- 运算符:进行特定操作的符号。例如:+
- 表达式:用运算符连起来的式子叫做表达式。例如:20+5。又例如:a+b
- 四则运算:加+、 减:- 、乘:* 、除:/
- 取模:取余数 %
public class test07 {
public static void main(String[] args) {
// 两个常量 +
System.out.println(20 + 30); //50
// 字符串 + 表示连接
String c = "java";
System.out.println(c + 8); //java8
// 两个变量 -
int a = 5;
int b = 6;
System.out.println(a - b); //-1
// 乘法 *
System.out.println(a * 10); //50
// 除法 /
int x = 10;
int y = 3;
int res = x / y;
System.out.println(res); //3
// 取模(余数) %
int res2 = x % y;
System.out.println(res2); //1
// 数据类型不一样,结果是数据范围大的类型
double res3 = x + 2.5;
System.out.println(res3); //12.5
}
}
1.2 自增自减运算符
- 自增运算符:++
- 自减运算符:--
- 含义:让一个变量加1或减1
使用区别
- 在单独使用的时候,前++/--和后++/--没有任何区别。也就是:++num/--num;和num++/num--;是完全一样的
- 在混合的时候,有【重大区别】:
A.如果是【前++】/【前--】,那么变量【立刻马上+1】/【立刻马上-1】,然后拿着结果进行使用。【先加/减后用】
B.如果是【后++】/【后--】,那么首先使用变量本来的数值,【然后再让变量+1】/【然后再让变-1】。【先用后加/减】
-
注意:只有变量才能使用自增自减运算,常量不可变,所以不能使用
import org.apache.tools.ant.util.ResourceUtils;
public class test08 {
public static void main(String[] args) {
// 单独使用 ++num 和 num++ 无区别
int a = 27;
a++;
System.out.println(a); //28
++a;
System.out.println(a); //29
// 混合使用
int b = 27;
// ++num 先加后用
System.out.println(++b); //28
// num++ 先用后加
int d = 27;
System.out.println(d++); //27
System.out.println(d); //28
// 单独使用
int e = 66;
--e;
System.out.println(e); //65
e--;
System.out.println(e); //64
// 混合使用
int f = 88;
// --num 先减后用
System.out.println(--f); //87
// num-- 先用后减
int g = 33;
System.out.println(g--); //33
System.out.println(g); //32
int x = 10;
int y = 20;
int res = ++x + y--;
// x 先加后用,y 先用后减
System.out.println(res); //31
System.out.println(x); // 11
System.out.println(y); // 19
// 常量不可以使用自增、自减运算
// 27++;
// --27;
}
}
2. 赋值运算符
- 基本赋值运算符:等号(=),代表把右侧的数据交给左侧的变量
- 复合赋值运算符:+=、-=、*=、/=、%=
public class test09 {
public static void main(String[] args) {
// += a+=5 --> a = a+5
int a = 1;
a += 5;
System.out.println(a); //6
// %= b%=3 --> b = b%3
int b = 10;
b %= 3;
System.out.println(b); //1
}
}
3. 比较运算符
- 运算符:大于>、小于<、大于等于>=、小于等于<=、相等==、不相等!=
/**
* @Time: 2021/1/30
* @Author: 大海
**/
public class test10 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a < b);
System.out.println(a > b);
System.out.println(a >= 10);
System.out.println(b <= 10);
System.out.println(10 == 10);
System.out.println(a != b);
}
}
4. 逻辑运算符
- 与(并且)&& :全都是true,才是true;否则就是false
- 或(或者)||:至少一个是true,就是true;全都是false,才是false
- 非(取反)!:本来是true,变成false;本来是false,变成true
- 注:&& 和 || 具有短路功能,如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。
/**
@Time: 2021/1/30
@Author: 大海
**/
public class test11 {
public static void main(String[] args) {
//&&
System.out.println(true && true);
System.out.println(true && false);
System.out.println(3<4 && 5>4);
//||
System.out.println(true || false);
System.out.println(false || false);
System.out.println(false || true);
// !
System.out.println(!true);
System.out.println(!false);
// 短路效果
int a = 10;
System.out.println(3 > 4 && ++a < 20);
System.out.println(a); // 10
int b = 30;
System.out.println(3 < 4 || ++b > 20);
System.out.println(b); // 30
}
}
5. 三元运算符
- 定义:需要三个数据才可以进行操作的运算符。
- 格式:数据类型变量名称=条件判断?表达式A:表达式B;
- 注意:同时保证表达式A和B都符合左侧数据类型
/**
* @Time: 2021/1/30
* @Author: 大海
**/
public class test12 {
public static void main(String[] args) {
//首先判断条件是否成立:
//如果成立为true,那么将表达式A的值赋值给左侧的变量;如果不成立为false,那么将表达式B的值赋值给左侧的变量
int a = 10;
int b = 20;
int max = a > b ? a : b;
System.out.println(max); // 20
}
}