JavaSe·基础篇(十一) Java中常见的5种运算符
Java基础学习之——运算符
第一种:算数运算符
算数运算符包括: | |
---|---|
+ | 加法运算,字符串连接运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取模运算,两个数字相除取余数 |
++ 、 – | 自增自减运算 |
在Java中,整数使用以上的运算符,无论怎么计算都不会得到小数
int i = 1234;
System.out.println(i / 1000 * 1000);//计算结果是1000
- ++ 运算,变量自己增长1,同理,-- 运算,变量自己减少1,用法与 ++ 一致
-
独立运算:
- 变量在独立运行时,前 ++ 和后 ++ 没有区别。
- 变量 前++ :例如 ++i;
- 变量 后++ :例如 i++;
-
混合运算:
- 和其他变量放在一起,前++ 和 后++ 就产生了不同的效果。
- 变量 前++ :变量 a 自己加1,将加1后的结果赋值给b,也就是说a先计算,再赋值,所以a和b的结果都是2,
int a = 1; int b = ++a; System.out.println(a); //计算结果是2 System.out.println(b); //计算结果是2
- 变量 后++ :变量a先把自己的值1赋给了变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b的结果是1。
int a = 1; int b = a++; System.out.println(a); //计算结果是2 System.out.println(b); //计算结果是1
-
- 符号在字符串中的操作:
-
- 符号在遇到字符串的时候,表示拼接的含义。
- “a” + “b” 的结果是 “ab”,连接含义
-
System.out.println("5+5=" + 5 + 5); //输出5+5=10
第二种:赋值运算符
赋值运算符包括: | |
---|---|
= | 等于号 |
+= | 加等于 |
-= | 减等于 |
*= | 乘等于 |
/= | 除等于 |
%= | 取模等 |
- 赋值运算符,就是将符号右边的值,赋给左边的变量。
int i = 5;
i += 5; //计算方式 i = i + 5 变量i先加5,再赋值给变量i
System.out.println(i); //输出结果是10
第三种:比较运算符
比较运算符包括: | |
---|---|
== | 比较符号两边数据是否相等,相等结果是true。 |
< | 比较符号左边的数据是否小于右边的数据,如果小于结果是true。 |
> | 比较符号左边的数据是否大于右边的数据,如果大于结果是true。 |
<= | 比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。 |
>= | 比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true。 |
!= | 不等于符号 ,如果符号两边的数据不相等,结果是true。 |
- 比较运算符,是两个数据之间进行比较运算,运算结果都是布尔值(要不是 true 要么是 false)
第四种:逻辑运算符
逻辑运算符包括: | |
---|---|
&& 短路与 | 两边都是true,结果是true;一边是false,结果是false |
|| 短路或 | 两边都是false,结果是false2;一边是true,结果是true |
! | 取反 ! true 结果是false2; ! false结果是true |
- 逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false
&和&&的区别和联系,|和||的区别和联系
&和&&的联系(共同点):
&和&&都可以用作逻辑与运算符,但是要看使用时的具体条件来决定。
-
情况 1:当上述的操作数是 boolean 类型变量时,&和&&都可以用作逻辑
与运算符。 -
情况 2:当上述的表达式结果是 boolean 类型变量时,&和&&都可以用作
逻辑与运算符。 -
表示逻辑与(and),当运算符两边的表达式的结果或操作数都为 true 时,整个运算结果才为 true,否则,只要有一方为 false,结果都为 false。
&和&&的区别(不同点):
(1)、&逻辑运算符称为逻辑与运算符,&&逻辑运算符称为短路与运算符,也可叫逻辑与运算符。
- 对于&:无论任何情况,&两边的操作数或表达式都会参与计算。
- 对于&&:当&&左边的操作数为 false 或左边表达式结果为 false 时,&&右边的操作数或表达式将不参与计算,此时最终结果都为 false。
System.out.println(true && true);//true
System.out.println(true && false);//false
System.out.println(false && true);//false,右边不计算
System.out.println(false & true);//false,右边也得计算
System.out.println(false || false);//falase
System.out.println(false || true);//true
System.out.println(true || false);//true,右边不计算
System.out.println(true | false);//true,右边也得计算
System.out.println(!false);//true
综上所述,如果逻辑与运算的第一个操作数是 false 或第一个表达式的结果> 为 false 时,对于第二个操作数或表达式是否进行运算,对最终的结果没有> 影响,结果肯定是 false。推介平时多使用&&,因为它效率更高些。
|和||的区别和联系与&和&&的区别和联系类似
第五种:三元运算符
- 三元运算符格式:
数据类型 变量名 = 布尔类型表达式 ? 结果1 : 结果2;
- 三元运算符得计算方式
- 布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
- 布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
int i = (1 == 2 ? 100 : 200); // 布尔表达式结果为false,所以右边结果赋值给变量
System.out.println(i); //200
int j = (3 <= 4 ? 500 : 600); // 布尔表达式结果为true,所以左边结果赋值给变量
System.out.println(j); //500