一:表达式
用运算符链接起来的符合Java语法的式子 不同运算符连接的的表达式是不同的表达式
二:运算符
定义:用于常量和变量进行操作的符号
运算符分类
1:算数运算符
+,-,*,/(取商),%(取余),++,--
<1> ++ 自加一
++在后面,先拿变量操作,在++
++在前面,先++,在拿变量操作
例如:
public class OperatorDemo {
public static void main(String[] args) {
int a = 3;
int b = 4;
a = ++a;//先加1,再赋值给a
b=b++;//先赋值给b,在加1
System.out.println(a);//输出4
System.out.println(b);//输出4
}
}
<2> --再减1
--在后面,先拿变量操作,在--
--在前面,先--,在拿变量操作
2:赋值运算符
基本赋值:=
拓展:+=,-+,*=,/=......
=+:先把左边和右边做+运算,再把值赋值给左边
3:关系运算符
==,!=,>,>=,<,<=
关系运算符结果为Boolean类型 true or false
注意:
System.out.println(a=b)//这里表示b赋值给a,在输出a
4:逻辑运算符
用于连接关系表达式 &,|,!,^,&&,||
<1> &(与)
两边只要有一个false , 结果就为false (有false,则false)
<2> |(或)
链接的关系表达式,有一个为true,则结果为true (有true,则true)
<3> ^(异或)
两边相同则为false,两边不同则为true
可以这样理解: 情侣(必须是男女) 俩男的不能为情侣(相同为false)
<4> !(非)
true则false , false则true
<5> &&(双与)
有false则false
注意 &与&& 区别
&&有短路效果
若左边的关系表达式为false,右边表达式不会执行
& 不管左边表达式结果为什么,右边都执行
<6> ||(双或)
注意 |与||区别
|| 若左边关系表达式为true,右边不会执行
| 不管走遍关系表达式结果为什么,右边都执行
5:三元运算符
格式 : 关系表达式 ? 表达式1:表达式2
执行流程:<1>计算关系表达式,true 或者 false
<2>若为true 执行表达式1
若为false 执行表达式2