运算符:对常量或者变量进行操作的符号
表达式:用运算符连起来的识字
常用的运算符有:
一、算术运算符:
操作符 | 描述 |
---|---|
+ 加法 | 两侧相加 |
- 减法 | 两侧相减 |
* 乘法 | 两侧相乘 |
/ 除法 | 两侧相除 |
% 取余 | 两侧相除之后的余数 |
++ 自增 | 操作数的值加1 |
– 自减 | 操作数的值减1 |
(1)四则运算( + - * /)
常量运算符:
System.out.println(100+20);//120
变量运算符:
加法:+
int x=10;
int y=20;
System.out.println(x+y);//30
减法:-
int a = 19;
int b = 4;
int c = a - b;
System.out.println(“a-b=” + c);//15
乘法:*
int a = 19;
int b = 4;
int c = a * b;
System.out.println("a*b=" + c);//76
除法:整数/整数=整数,是截断取整,不是四舍五入取整
int a = 19;
int b = 4;
int c = a / b;
System.out.println("a/b=" + c);//4
(2)取模运算符:%相当于书序的余数,只看余数
int a = 19;
int b = 4;
int c = a % b;
System.out.println("a%b=" + c);//3
(3)自增自减:自增运算和自减运算只能用于变量,不能用于常量
++自加:
int A = 20;
int B = 20;
int C = ++A + B;
System.out.println("++A=" + (++A));//22
System.out.println("B++=" + (B++));//20
System.out.println("C=" + C);//41
–自减:
int A = 20;
int B = 20;
int C = --A + B;
System.out.println("--A=" + (--A));//18
System.out.println("B--=" + (B--));//20
System.out.println("C=" + C);//39
错误写法:
System.out.println(100++);
(4)字符串连接:任何数据类型和字符串连在一起,都是字符串的结果
算术运算符当中的加号(+)对于字符串来说,并不是相加的意思,而是连接的功能
字符串与字符串连接:
String string="Hello";
String string2="World";
System.out.println(string+string2);//HelloWorld
字符串与整数连接:
String string="Hello"+40;
System.out.println(string);//Hello40
字符串的优先级:
String string="Hello"+(40 + 40);
System.out.println(string);//Hello80
二、赋值运算符:只能左侧是一个变量,左侧不能为常量
操作符 | 描述 |
---|---|
= | 赋值运算,将右边的值赋给左边 |
+= | 加和赋值运算,将左边的数和右边的数相加再赋值给左边 |
-= | 减和赋值运算,将左边的数和右边的数相减再赋值给左边 |
*= | 乘和赋值运算,将左边的数和右边的数相乘再赋值给左边 |
/ = | 除和赋值运算,将左边的数和右边的数除加再赋值给左边 |
%= | 取余和赋值运算,将左边的数和右边的数取余后再赋值给左边 |
1.基本赋值运算符:= 不是数学当中相等的意思,而是代表一个动作,将右侧的数据交给左边的变量进行存储
2.复合赋值运算:
(1)+=加等:
int num2=20;
num2 += 5;//num2=num2+5
System.out.println("num2="+num2);//25
(2)-=减等:
int num3=20;
Num3 -= 5;//num2=num3-5
System.out.println("num3="+num3);//15
(3)*=乘等:
int num4=20;
Num4 *= 5;//num4=num4*5
System.out.println("num4="+num4);//100
(4)/=除等:
int num5=20;
Num4 /= 5;//num5=num5/5
System.out.println("num5="+num5);//4
(5)%=膜等:
int a =10;
a %= 3;
System.out.println(a);//1
三、比较运算符:也叫关系运算符,用来代表两个数据之间的关系
运算符 | 描述 |
---|---|
> | 左边大于右边为true |
>= | 左边大于等于右边为true |
< | 左边小于右边为true |
<= | 左边小于等于右边为true |
== | 两边相等为true |
!= | 两边不等为true |
System.out.println("5>4=" + (5 > 4));//true
System.out.println("5>=4=" + (5 >= 4));//true
System.out.println("5<4=" + (5 < 4));//false
System.out.println("5<=4=" + (5 <= 4));//false
System.out.println("5==4=" + (5 == 4));//false
System.out.println("5!=4=" + (5 != 4));//true
四、逻辑运算符
常量:
System.out.println(true & true);//true
System.out.println(true & false);//false
System.out.println(false & false);//false
变量:
System.out.println(4>3 & 10<20);//true
System.out.println(4>3 | 10>20);//true
System.out.println(4>3 | 10>5);//true
System.out.println(4<3 | 10<5);//false
System.out.println(true ^ true);//false
System.out.println(false ^ false);//false
System.out.println(true ^ false);//true
System.out.println(false ^ true);//true
System.out.println(!true);//false
System.out.println(!false);//true
短路:如果左侧已经可以判断到最终的结果,那么右侧将不再执行
System.out.println(3<2 | 10<20);//true
System.out.println(3>2 || 10<20);//true
System.out.println(3<2 || 10>20);//false
System.out.println(3<2 & 10<20);//false
System.out.println(3<2 && 10<20);//false
System.out.println(3>2 && 10<20);//true
System.out.println(3>2 && 10>20);//false