java运算符

四则运算

加减乘除:+-*/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Main4 {
public static void main(String[] args) {
// 两个常量之间
System.out.println(20+30);

// 两个变量之间
int a = 20;
int b = 30;
System.out.println(a - b);

//变量和常量混合使用
System.out.println(a * 10);

int x = 10;
int y = 3;
int result = x / y;
System.out.println(result);
}
}

注意事项:

  1. 一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种
  2. byte short char 在运算时首先会提升为int类型
1
2
double res = x + 2.5;
System.out.println(res); //12.5

加法注意事项:

  1. 对于数值来说,那就是加法
  2. 对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串的连接操作;任何数据类型和字符串进行连接的时候,结果都是字符串

自增自减运算符

自增运算符:++

自减运算符:--

基本含义:让一个变量涨一个数字1或者让一个变量降一个数字1

使用格式:写在变量名称之前,或者写在变量名称之后。例如:++num,也可以num++,自减运算符一样

使用方式:

  1. 单独使用:自己独立成为一个步骤,不与任何操作混合。
  2. 混合使用: 和其他操作混合,赋值或者打印等

使用区别:

  1. 单独使用时,前后的方式没有任何区别
  2. 混合使用,用【重大区别】,++为例
    1. 是【前++】 ,那么变量立马加一,然后拿着结果使用
    2. 是【后++】,那么首先使用变量本来的数值,然后再让变量+1

注意事项:只有变量可以使用自增、自减运算符;常量不可发生改变,所以不能用。

赋值运算符

基本的赋值运算符:就是一个等号“=”,代表将右侧的数据交给左侧的变量。

int a = 30;

复合赋值运算符:

复合赋值运算符 复合赋值式子 相当于
+= a += 3 a = a + 3
-= b -= 4 b = b - 4
*= c *= 5 c = c * 5
/= d /= 6 d = d / 6
%= e %= 7 e = e % 7

注意事项:

  1. 只有变量才能使用赋值运算符,常量不能进行赋值。
  2. 复合赋值运算符其中隐含了一个强制类型转换。
1
2
3
4
5
6
7
8
byte num = 30;
// num = num + 5;
// num = byte + int
// num = int + int
// num = int
// num = (byte)int
num += 5;
System.out.println(num); //35

比较运算符

==<><=>=!=

注意事项:如下连着写不支持

1
2
int aa = 2;
System.out.println(1 < aa < b); // 错误示范

逻辑运算符

与(并且) && : 全部都是true,才是true;否则就是false

或(或者)|| : 至少一个是true,就是true;全部是false才是false

非(取反)! : 本来就是true,变成false; 本来是false,变成true

注意事项:

  1. &&||都具有短路效果
  2. 逻辑运算符只能用于boolean值
  3. 与,或需要左右各自一个boolean值,但是取反只要唯一一个boolean值即可。
  4. 与或两种运算符如果有多个条件可以连着写 条件A && 条件B && 条件C
  5. 位运算符& | 可以进行逻辑判断,没有短路效果;但其也可以进行位运算

三元运算符

首先判断条件是否成立:

如果为true,那么将表达式A的值复制给左侧的变量

如果为false,那么将表达式B的值复制给左侧的变量

二者选其一

1
int max = a > b ? a:b;

注意事项:

  1. 必须同时保证表达式A和表达式B都符合左侧数据类型的要求
  2. 三元运算符的结果必须被使用,否则语法错误
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int m = 1;
float n = 2.5F;
float max = m > n ? m : n;
System.out.println(max); // 正确示例

int m = 1;
float n = 2.5F;
int max = m > n ? m : n; // 错误
System.out.println(max);

int m = 1;
float n = 2.5F;
m > n ? m : n; // 错误
System.out.println(max);

java运算符
https://blog.wangxk.cc/2020/08/17/java运算符/
作者
Mike
发布于
2020年8月17日
许可协议