一.运算符
1.1 运算符和表达式
•运算符:对常量或者变量进行操作的符号
•表达式:用运算符把常量或者变量连起来符合java语法的式子就可以称为表达式。
不同运算符连接到表达式体现的是不同类型表达式。
•举例说明:
int a=10;
int b=20;
int c=a+b;
+:是运算符,并且是算数运算符
a+b:是表达式,由于+是算数运算符,所以这个是算数表达式
符号 作用 说明
+ 加
- 减
* 乘
/ 除 获取的是两个数据除法的商
% 取余 获取的是两个数据除法的余数
整数相除只能得整,要小数需要浮点数参与
1.2 字符 的“+” 操作是拿字符在计算机底层对应的数值来进行计算的
‘A’=>65,A-Z是连续的
‘a’=>97,a-z是连续的
‘0’=>48,0-9是连续的
算数表达式中包含多个基本数据类型的值的时候,整个算数表达式的类型会自动进行提升。
提升规则:
•byte、short、和char类型将被提升为int类型
•整个表达式的类型自动提升到表达式中最高等级的类型
等级顺序:byte,short,char=>int=>long=>float=>double
1.3字符串的加操作:
当“+”操作出现在字符串时,整个“+”是连接符,而不是运算符。在+操作出现字符串,那就是连接操作,从左到右执行。
1.4赋值运算符
符号 作用 说明
+ 赋值 a=10,将10赋予a
+= 加后赋值 a+=b,将a+b的值赋予a
-= 减后赋值 a-=b,将a-b的值赋予a
*= 乘后赋值 a=b,将ab的值赋予a
/= 除后赋值 a/=b,将a/b的商赋予a
%= 取余后赋值 a%=b,将a/b的余数赋予a
扩展运算符隐藏了强制类型转换。
1.5自增自减运算符
符号 作用 说明
++ 自增 变量值加一
+- 自减 变量值减一
注意事项:
•++和–都可以放变量前面或者后面
•单独使用时,不论前后都是一样的
•参与操作时,如果放在变量后面,那么先将变量赋值再进行自增/减操作,如果在前面,先将变量做自增/减操作再进行赋值。
例:
a=10;
b=a++;此时先赋予b的值10,再自增11
c=++a;此时自增到11,再赋予c值
1.6 关系运算符
符号 说明
1 | == a==b,判断a与b的值是否相等,成立为true,不成立为false |
1.7 逻辑运算符
逻辑运算符是用来连接关系表达式的运算符。
逻辑运算符也可以直接连接布尔类型的常量或变量。
符号 作用 说明
& 逻辑与 a & b,a和b都是true,结果为true,否则false
| 逻辑或 a | b,a和b都是false,结果为false,否则true
^ 逻辑异或 a ^ b,a和b结果不同为true,否则false
! 逻辑非 !a,结果和a的结果刚好相反
1.8 短路逻辑运算符
符号 作用 说明
&& 短路与 作用和&相同,但是有短路效果
|| 短路或 作用和|相同,但是有短路效果
注意事项:
•逻辑与&,无论左边真假,右边都要执行。
•短路与&&,如果左边真,右边要执行;如果左边假,右边不执行。
•逻辑或|,无论左边真假,右边都要执行。
•短路或||,如果左边假,右边要执行;如果左边真,右边不执行。
1.9 三元运算符
•格式:关系表达式?表达式1:表达式2;
•范例a>b?a:b;
计算规则:
首先计算关系表达式的值
如果值为true,表达式1就是运算结果
如果值为false,表达式2就是运算结果