java中运算符主要分为算数运算符,字符串拼接符,赋值运算符,关系运算符,逻辑运算符,三元运算符。
算数运算符
算数运算符主要分为 加+ 减- 乘* 除/ 取余% 自增++ 自减--,其中加减乘除的作用跟我们数学中的加减乘除作用一直,接下来简单介绍一下取余% 自增++ 自减-- 以及在使用算术运算符时其中需要注意的地方。
取余%
取余就是一个数字对另一个数字取余数,类似于我们小学数学中的除法计算。如:11除以3,其结果为:商等于3,余2。用%进行取余,可以表示为11%3,运算结果为2。
自增自减
++ --代表在原数值的基础上加一或减一,++/--可以放在变量前(++num/--num)也可以放在变量后(num++/num--),其结果都为自增或自减法。
public class Com {
public static void main(String[] args) {
int num1 = 5;
int num2 = 5;
int num3 = 5;
int num4 = 5;
num1++;
++num2;
num3--;
--num4;
System.out.println("num1是" + num1 + ",num2是" + num2);
System.out.println("num3是" + num3 + ",num4是" + num4);
}
}
从运算结果来看,++/--放在变量前后都可以实现自增或自减。接下来说一下放在变量前和变量之后有什么区别。
++放在前,代表的是变量先进行自增,之后再参与运算。++放在之后,代表变量先参与运算,再进行自增。
public class Com {
public static void main(String[] args) {
int num1 = 5;
int num2 = 5;
System.out.println(++num1);
System.out.println(num2++);
}
}
如上述代码所示:num1的++在变量前,所以num1会先进行自增,再参与运算,所以num1自增之后num1的值变为6,在将其输出到控制台上。
num2的++在变量后,所以num2会先运算,再自增。所以打印出num2的值为5,之后num2的值自增为6,我们在控制台上能看到的就是5.来看一下运行结果↓
--和++一样,--在前,先自减再运算,--在后,先运算再自减。
算术运算符注意点
第一,算数运算符两边只能是7种基本数据类型(boolean除外,剩下的7种),引用数据类型之间不可以使用算数运算符。
第二,在java中,算术运算符(++ --除外)两边的数据类型将影响其运算结果的数据类型,算数运算符两边较大的数据类型就是结果的数据类型。如 一个int类型的数据和一个double类型的数据进行运算,由于int类型的数据大小为4字节,double类型的数据大小为8字节,所以double在本次运算中是大数据类型,其运算结果也是double类型:
class Type{
public static void main(String[] args){
int i = 1;
double d = 10.0;
double result = i + d;
}
}
第三,除号两边如果都是整数类型,那得到的结果也是整数,想要得到小数,其参与运算的两个数据中至少要有一个浮点型。如,int型的9除以int型的2,其结果也为int,值为4,而不是我们数学中计算出来的4.5。而int型的9 除以double型的2,其结果就是double类型的4.5:
public class Com {
public static void main(String[] args) {
int num1 = 9;
int num2 = 2;
double num3 = 2;
System.out.println(num1 / num2);
System.out.println(num1 / num3);
}
}
字符串拼接符
字符串拼接符(+),顾名思义,其作用就是将字符串拼接在一起。任何数据类型与字符串进行拼接,其结果都是字符串。
字符串拼接符与算术运算符都是+,如果在代码中看到+两边存在字符串,那它就是字符串拼接符,否则就是算数运算符中的+。
赋值运算符
运算符 | 作用 |
= | 将=右边的值赋值给左边的变量。 |
+= | 左边变量 + 右边的数值,其结果赋值给左边的变量 |
-= | 左边变量 - 右边的数值,其结果赋值给左边的变量 |
*= | 左边变量 * 右边的数值,其结果赋值给左边的变量 |
/= | 左边变量 / 右边的数值,其结果赋值给左边的变量 |
%= | 左边变量对右边的数值取余,其结果赋值给左边的变量 |
注意:
- 赋值运算符两边的数据类型必须保持一致(类型转换除外)。
- 如果运算符右边是基本数据类型,则将值本身赋值给左边的变量。如果右边是引用数据类型,则将其内存地址赋值给变量。
关系运算符
关系运算符 | 作用 |
> | 若左侧数据大于右侧数据,返回true,否则返回false |
>= | 若左侧数据不小于右侧数据,返回true,否则返回false |
< | 若左侧数据小于右侧数据,返回true,否则返回false |
<= | 若左侧数据不大于右侧数据,返回true,否则返回false |
== | 基本数据类型:判断==两边的数据的值是否相等,若相等,返回true,否则返回false 引用数据类型:判断==两边的数据的内存地址是否相等,若相等,返回true,否则返回false |
!= | 基本数据类型:判断==两边的数据的值是否不相等,若不相等,返回true,否则返回false 引用数据类型:判断==两边的数据的内存地址是否不相等,若不相等,返回true,否则返回false |
所有关系运算符的结果都是boolean类型。
补充:所有结果为boolean类型的表达式都称为条件表达式。
逻辑运算符
逻辑运算符 | 名称 | 作用 |
& | 逻辑与 | &两边的表达式全部为true,其结果为true,若其中一个为false,其结果为false |
&& | 短路与 | &&两边的表达式全部为true,其结果为true,若其中一个为false,其结果为false |
| | 逻辑或 | | 两边的表达式全部为false,其结果为false,若其中一个为true,其结果为true |
|| | 短路或 | || 两边的表达式全部为false,其结果为false,若其中一个为true,其结果为true |
! | 非 | ! 右侧的表达式为true,其结果为false;! 右侧的表达式结果为false,其结果为true |
三元运算符
三元运算符是三个表达式或值组成的。之前的各种运算符都是二元或一元。
语法:
条件表达式 ? 值1 : 值2;
如果条件表达式的结果为true,则输出值1,若条件表达式的结果为false,则输出值2.