一、运算符
1.运算符:进行特定操作的符号
2.表达式:用运算符连起来的式子叫做表达式
3.算数运算符:+、-、/、%、++、–
4.注意事项:
1.当运算中有不同的数据类型的时候,打印的结果是数据类型范围较大的一个。即int + double ---> double + double ---> double
2.常量与常量之间、变量与变量之间、常量与变量之间都可以进行数学运算
3.对于整数表达式,除法是整除,结果取得是商
4.只有对于整数的表达式,取余运算符才会有意义,结果取得是余数。
二、四则运算符
1.加号(+)的常见用法
1.对于数值来说,加号就是代表加法。
2.对于字符类型(char)来说,在计算之前,char会被提升成为int,然后在进行计算。其中char类型字符和int类型数字,可参照编码表。
3.对于字符串类型(String)来说,加号代表字符串连接操作。任何数据类型和字符串进行连接的时候,结果都会变成字符串。
注意事项,关于优先级的问题:
String + int ---> Stringint
即"hello" + 2021 ---> "hello2021"
"hello" + 2021 + 10 ---> "hello202110"
"hello" + (2021 + 10) ---> "hello2031" // 小括号会优先执行
三、自增、自减运算符
1.分类
自增运算符:++
自减运算符:--
基本含义:让一个变量加一个数字1,或者让一个变量减一个数字1
使用格式:写在变量名称之前,或者写在变量名称之后。例如:++num,或者num++
2.使用方式:
1.单独使用:不和其他任何操作混合。
2.混合使用:和其他操作混合,例如与赋值混合,或者与打印操作混合等。
3.使用区别:
1.在单独使用的时候,前++和后++没有任何区别,也就是:++num;和num++;是完全一样的。
2.在混合使用的时候,有【重大区别】
A.如果是【前++】,那么变量【立刻马上+1】,然后拿着结果进行使用。 【先加后用】
B.如果是【后++】,那么首先使用变量本来的数值,【然后再让变量+1】。 【先用后加】
4.注意事项:
只有变量才能使用自增、自减运算符。常量不可发生改变,所以不能用。
四、赋值运算符
1.基本运算符
就是一个等号"=",代表将右侧的数据交给左侧的变量
int a = 30;
2.复合赋值运算符
+= a += 1 相当于 a = a + 1
-=
*=
/=
%=
3.注意事项:
1.只有变量才能使用赋值运算符,常量不能进行赋值。
2.复合赋值运算符其中隐含了一个强制类型转换。
五、比较运算符
>
<
>=
<=
==
!=
注意事项:
1.比较运算符的结果一定是一个布尔值,成立就是true,成立就是false
2.如果进行多次判断,不能连着写。
数学中的写法,例如1 < x < 3,是正确的。
程序中【不允许】这种写法,这样连着写是错误的。
六、三元运算符
1.一元运算符
只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减--
2.二元运算符
需要两个数据才可以进行操作的运算符。例如:加法+、赋值=
3.三元运算符
需要三个数据才可以进行操作的运算符
4.格式
数据类型 变量名称 = 条件判断 ? 表达式A ;表达式B;
5.流程
首先判断条件是否成立:
如果成立为true,那么将表达式A的值赋值给左侧的变量;
如果不成立为false,那么将表达式B的值赋给左侧的变量;
二者选其一。
6.注意事项
1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
2.三元运算符的结果必须被使用。
3.三元运算符和if-else语句是等效的
七、逻辑运算符
1.含义
是用来连接若干个布尔值的
与(并且) && 全都是true,才是true;否则就是false
或(或者) || 至少一个是true,就是true;全都是false,才是false
非(取反) ! 本来是true,变成false
2.逻辑运算符与节省性能
对于与(&&)和或(||)这两个逻辑运算符来说:
如果根据左边这个条件已经可以判断得到最终的结果,那么右边的代码将不再执行,从而节省一定的性能。
实例分析:
int a = 10;
//左边部分是false,已经可以判断最终的结果,所以右边部分的代码不再执行
System.out.println(3 > 4 && ++a < 20); //false
System.out.println(a); //10,说明右半部分代码没有执行
int b = 20;
//左半部分是true,已经可以得出最终结果,所以右半部分代码不再执行
System.out.println(3 < 4 || ++b < 50); //true
System.out.println(b); //20
3.注意事项
1.逻辑运算符只能用于boolean值。
2.与、或需要左右各自有一个boolean值,但是取反只要有唯一的一个boolean值即可。
3.与、或,两种运算符,如果有多个条件,可以连续写。
两个条件:条件1 && 条件2
多个条件:条件1 && 条件2 && 条件3
4.逻辑运算符与比较运算符的结合
对于1 < x < 3的情况,应该拆成两个部分,然后使用与运算符连接起来:
int x = 2;
1 < x && x< 3