Java基础学习笔记 - Day02 - 第二章 运算符
Java基础学习笔记 - Day02 - 第二章 运算符
系统:Win10
JDK:1.8.0_121
2.1 算术运算符
算术运算符 | 描述 |
---|---|
+ | 加法运算,字符串连接运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取模运算,两个数字相除取余数 |
++、– | 自增、自减运算 |
Java中,整数使用以上运算符,无论怎么计算,也不会得到小数
public static void main(String[] args){
int i = 1234;
System.out.println(i/1000*1000); // 计算结果是1000
}
- ++ 运算,变量自己增长1。反之,-- 运算,变量自己减少1,用法与 ++ 一致
- 独立运算:
- 变量在独立运算时,前++ 和 后++ 没有区别
- 变量 前++:例如 ++a
- 变量 后++:例如 a++
- 混合运算:
- 和其他变量放在一起,前++ 和 后++ 就产生了不同
- 变量 前++:变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2
- 独立运算:
public static void main(String[] args){
int a = 1;
int b = ++a;
System.out.println(a); // 2
System.out.println(b); // 2
}
- 变量 **后++**:变量a先赋值给b,此时变量b就是1,变量a再自己加1,a的结果就是2
public static void main(String[] args){
int a = 1;
int b = a++;
System.out.println(a); // 2
System.out.println(b); // 1
}
- + 符号在字符串中的操作:
- + 符号在遇到字符串的时候,表示连接、拼接的含义
- “a” + “b” 的结果是 “ab”,连接含义
public static void main(String[] args){
String str1 = "a";
String str2 = "b";
System.out.println(str1 + str2); // ab
}
2.2 赋值运算符
赋值运算符包括 | 名称 | 举例 |
---|---|---|
= | 等于号 | a = 3 |
+= | 加等于 | 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 |
- 赋值运算符:就是将符号右边的值,赋给左边的变量
public static void main(String[] args){
int i = 5;
i += 5; // 计算方式 i = i + 5 变量i先加5,再赋值给变量i
System.out.println(i); // 10
}
2.3 比较运算符
比较运算符包括 | 描述 |
---|---|
== | 比较符号两边数据是否相等,相等结果是true |
< | 比较符号左边的数据是否小于右边的数据,如果小于结果是true |
> | 比较符号左边的数据是否大于右边的数据,如果大于结果是true |
<= | 比较符号左边的数据是否小于或者等于右边的数据,如果小于或 者等于结果是true |
>= | 比较符号左边的数据是否大于或者等于右边的数据,如果大于或 者等于结果是true |
!= | 不等于符号,如果符号两边的数据不相等,结果是true |
- 比较运算符,是两个数据之间进行比较,运算结果都是布尔值 true 或者 false
public static void main(String[] args){
System.out.println(1 == 1); // true
System.out.println(1 < 2); // true
System.out.println(3 > 4); // false
System.out.println(3 <= 4); // true
System.out.println(3 >= 4); // false
System.out.println(3 != 4); // true
}
2.4 逻辑运算符
逻辑运算符包括 | 描述 |
---|---|
&& 短路与 | 1.两边都是true,结果是true 2.一边是false,结果是false 短路特点:符号左边是false,右边不再运算 |
|| 短路或 | 1.两边都是false,结果是false 2.一边是true,结果是true 短路特点:符号左边是true,右边不再运算 |
! 取反 | 1.!true 结果是false 2.!false 结果是true |
- 逻辑运算符:是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false
public static void main(String[] args){
int i = 10;
System.out.println(true && true); // true
System.out.println(true && false); // false
System.out.println(false && ++i < 12); // false,右边不计算
System.out.println(i); // 10
System.out.println(false || false); // false
System.out.println(false || true); // true
System.out.println(true || ++i > 15); // true
System.out.println(i); // 10
}
注意事项:
1.逻辑运算符只能用于boolean值
2.与、或需要左右各有一个boolean值,但是取反只能有唯一的一个boolean值即可
3.与、或两种运算符,如果有多个条件,可以连续写
两个条件:条件A && 条件B
多个条件:条件A && 条件B && 条件C
2.5 位运算符
位运算符包括 | 名称 | 描述 |
---|---|---|
& | 与 | 两个操作数中位都为1,结果才为1,否则结果为0 |
| | 或 | 两个位只要有一个为1,那么结果就是1,否则就为0 |
~ | 非 | 如果位为0,结果是1,如果位为1,结果是0 |
^ | 异或 | 两个操作数的位中,相同则结果为0,不同则结果为1 |
2.6 三元运算符
一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减–
二元运算符:需要两个数据蔡锷可以进行操作的运算符。例如:加法+、赋值=
三元运算符:需要三个数据才可以进行操作的运算符
- 三元运算符格式
- 数据类型 变量名 = 布尔类型表达式 ? 结果1 : 结果2
- 三元运算符计算方式
- 布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量
- 布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量
public static void main(String[] args){
int a = 10;
int b = 20;
int max = (a > b ? a : b); // 取两者大的值
System.out.println(max); // 20
int j = (3 <= 4 ? 500 : 600);
System.out.println(j); // 500
}
注意事项:
1.必须同时保证表达式A和表达式B都符合左侧数据类型要求
2.三元运算符的结果必须被使用