什么是运算符: 1 + 2
对变量或常量进行操作的符号
运算符的分类:
1.算数运算符
2.赋值运算符
3.比较运算符
4.逻辑运算符
5.三元运算符
1.算数运算符
+
-
*
/
% (取余/取模) 两个数相除,取余数
public class Operator01 {
public static void main(String[] args) {
int a = 5;
int b = 3;
System.out.println(a + b); // 8
System.out.println(a - b); // 2
System.out.println(a * b); // 15
System.out.println(a / b); // 1.6666666666? 1
System.out.println(a % b); // 2
// 整数相除结果是整数,要想结果是小数,要有小数参与运算
System.out.println(5 / 3); // 1
System.out.println(5.0 / 3); // 1.6666666666666667
System.out.println(5 / 3.0); // 1.6666666666666667
System.out.println(1.0 * 5 / 3); // 1.6666666666666667
System.out.println(5 / 3 * 1.0); // 1.0
// 面试题: 取模的符号和左边数字的符号是一样
System.out.println(9 % 4); // 1
System.out.println(-9 % 4); // -1
System.out.println(9 % -4); // 1
System.out.println(-9 % -4);// -1
}
}
++: 自增1
--: 自减1
a++: 后自增 ++a: 先自增
a--: 后自减 --a: 先自减
++和--套路是一样的,我们以++为例
单独使用(常用):
效果一样a++和++a都是自己增加1
组合使用(很少使用):
i++; 先做其他操作,再自己增加1
++m 先自增1,再做其他的操作
public class Operator02 {
public static void main(String[] args) {
// 单独使用: 效果一样a++和++a都是自己增加1
/*int a = 10;
a++;
System.out.println(a); // 11
++a;
System.out.println(a); // 12*/
// 组合使用(很少使用):
int i = 10;
// 分析: 这行有2个运算符,=和++. i++是后自增,先做其他操作,将i赋值给j,j = 10,再自己增加1, i = 11
int j = i++;
System.out.println(i); // 11
System.out.println(j); // 10
int m = 10;
// 分析: 这行有2个运算符,=和++. ++m是先自增1,m = 11,再做其他的操作,将m赋值给n, n = 11
int n = ++m;
System.out.println(m); // 11
System.out.println(n); // 11
// 替换: ctrl + h
// 面试题:
int a = 10;
int b = 10;
int c = 10;
a = b++;
// a = 10, b = 11, c = 10
c = --a;
// a = 9, b = 11, c = 9
b = ++a;
// a = 10, b = 10, c = 9
a = c--;
// a = 9, b = 10, c = 8
// 请分别计算出a,b,c的值
System.out.println(a);
System.out.println(b);
System.out.println(c);
// 面试题:
int x = 5;
// x++,后++ ++x,先++
// 6
// 5 7 7 * 8
int y = (x++) + (++x) + (x * 8);
System.out.println(y); // 68,67,69,70,44,
}
}