Java基础 - 运算符
运算符用于对常量和变量进行操作的符号
表达式用运算符连接起来的符号符合java语法的式子。不同的运算符连接的表达式是不同类型的表达式
运算符分类:
算术运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符
算术运算符
1 public class Main {
2
3 public static void main(String[] args) {
4
5 int a = 3;
6 int b = 4;
7 System.out.println(a + b); // 相加 输出7
8 System.out.println(a - b); // 相减 输出-1
9 System.out.println(a * b); // 相乘 输出12
10 System.out.println(a / b); // 相除 输出0
11 System.out.println(a % b); // 余数/取模 输出3
12
13 // 两个整数相除,如果希望得到小数,则需要有小数参与
14 System.out.println(3.0 / 4); // 输出0.75
15 System.out.println(3 / 4.0); // 输出0.75
16
17 System.out.println("====================");
18
19 // 字符参与加法运算,其实是拿字符在计算机中存储的数据值来参与运算
20 // 'A' 65
21 // 'a' 97
22 // '0' 48
23 char c = 'A';
24 System.out.println(a + c); // 输出68
25
26 // 字符串参与加法运算,其实做的不是加法运算,而是字符串的拼接
27 System.out.println("hello" + a); // 输出hello3
28 System.out.println("hello" + a + b); // 输出hello34
29 System.out.println(a + b + "hello"); // 输出7hello
30
31 System.out.println("=========================");
32 // ++, -- 自增自减,用于对变量加1或者键1
33 System.out.println("a:" + a); // a:3
34 a++;
35 System.out.println("a:" + a); // 输出 a:4
36
37 int x = 10;
38 int y = x;
39 System.out.println("x -->" + x); // x -->10
40 System.out.println("y -->" + y); // y -->10
41
42 x = 10;
43 y = x++; // 先赋值,后运算
44 System.out.println("x -->" + x); // x -->11
45 System.out.println("y -->" + y); // y -->10
46
47 x = 10;
48 y = ++x; // 先运算,后赋值
49 System.out.println("x -->" + x); // x -->11
50 System.out.println("y -->" + y); // y -->11
51
52
53 }
54 }
赋值运算符
1 /*
2 * 赋值运算符:
3 * 基本的赋值运算符: =
4 * 扩展的赋值运算符: +=, -=, *=, /=, ...
5 *
6 * */
7
8 public class Main {
9 public static void main(String[] args) {
10 // = 的操作 定义变量
11 int a = 10; // 把10赋值给int类型的变量a
12
13 // += 的操作 -=, *=, /= 与 += 类似
14 // 拿 += 的左边和右边的数据做+,然后把结果赋值给左边
15 a += 20;
16 System.out.println("a:" + a);
17
18 // 注意: 扩展的运算符隐含了强制类型转换
19 short s = 1;
20 s += 1; // 等同于 s = (short)(s + 1)
21 System.out.println("s:" + s);
22
23 }
24 }
关系运算符
1 package com.demo1;
2
3 /*
4 * 关系运算符:
5 * ==, !=, >, >=, <, <=
6 * 关系运算符的结果是boolean类型
7 * */
8 public class demo {
9 public static void main(String[] args) {
10 // 定义变量
11 int a = 10;
12 int b = 20;
13 int c = 10;
14
15 // ==
16 System.out.println(a == b); // false
17 System.out.println(a == c); // true
18 System.out.println("=============");
19
20 // !=
21 System.out.println(a != b); // true
22 System.out.println(a != c); // false
23 System.out.println("=============");
24
25 // >
26 System.out.println(a > b); // false
27 System.out.println(a > c); // false
28 System.out.println("=============");
29
30 // >=
31 System.out.println(a >= b); // false
32 System.out.println(a >= c); // true
33 System.out.println("=============");
34
35 // <
36 System.out.println(a < b); // true
37 System.out.println(a < c); // false
38 System.out.println("=============");
39
40 // >=
41 System.out.println(a <= b); // true
42 System.out.println(a <= c); // true
43 System.out.println("=============");
44
45 }
46 }
逻辑运算符
1 package com.demo2;
2
3
4 /*
5 * 逻辑运算符:用于连接关系表达式
6 * & 逻辑与 有false则false
7 * | 逻辑或 有true则true
8 * ^ 逻辑异或 相同则false,不同则true
9 * ! 逻辑非 true则false,false则true
10 *
11 * && 双与和单与的结果一样,不同之处在于前者为false,后者不执行
12 * || 双或和单或的结果一样,不同之处在于前者为true,后者不执行
13 *
14 * */
15
16 public class demo {
17
18 public static void main(String[] args) {
19 // 定义变量
20 int a = 3;
21 int b = 4;
22 int c = 5;
23
24 // &
25 System.out.println((a>b) & (a>c)); // false & false
26 System.out.println((a<b) & (a>c)); // true & false
27 System.out.println((a>b) & (a<c)); // false & true
28 System.out.println((a<b) & (a<c)); // true & true
29
30 System.out.println("================");
31 // |
32 System.out.println((a>b) | (a>c)); // false | false
33 System.out.println((a<b) | (a>c)); // true | false
34 System.out.println((a>b) | (a<c)); // false | true
35 System.out.println((a<b) | (a<c)); // true | true
36
37 System.out.println("================");
38 // ^
39 System.out.println((a>b) ^ (a>c)); // false ^ false
40 System.out.println((a<b) ^ (a>c)); // true ^ false
41 System.out.println((a>b) ^ (a<c)); // false ^ true
42 System.out.println((a<b) ^ (a<c)); // true ^ true
43
44 System.out.println("================");
45 // !
46 System.out.println(!(a>b)); // false
47 System.out.println(!(a<b)); // true
48 System.out.println(!(a>b)); // false
49 System.out.println(!(a<b)); // true
50 System.out.println("================");
51
52 // &&
53 System.out.println((a>b) && (a>c)); // false && false
54 System.out.println((a<b) && (a>c)); // true && false
55 System.out.println((a>b) && (a<c)); // false && true
56 System.out.println((a<b) && (a<c)); // true && true
57
58 System.out.println("================");
59 // ||
60 System.out.println((a>b) || (a>c)); // false || false
61 System.out.println((a<b) || (a>c)); // true || false
62 System.out.println((a>b) || (a<c)); // false || true
63 System.out.println((a<b) || (a<c)); // true || true
64 }
65 }