目录
一、运算符和表达式
运算符:对常量或者变量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式
不同运算符连接的表达式体现的是不同类型的表达式
举例说明:
+:是运算符,并且是算术运算符。
a+b:是表达式,由于+是算术运算符,所以这个表达式叫算术运算符
二、算术运算符
符号 | 作用 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
注意:
/和%的区别:两个数据做除法,/取结果的商,%取结果的余数。
整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。
字符的"+"操作
char类型参与算术运算,使用的是计算机底层对应的+进制数值,需要记住三个字符对应的数值:
'a' 对应 97 a-z是连续的,所以'b'对应的数值是98,'c'是99,依次递加
'A' 对应 65 A-Z是连续的,所以'B'对应的数值是66,'C'是67,依次递加
'0' 对应 48 0-9是连续的,所以'1'对应的数值是49,'2'是50,依次递加
算术表达式中包含不同的基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
提升规则:
byte类型,short类型和char类型将被提升到int类型,不管是否有其他类型参与运算。
整个表达式的类型自动提升到与表达式中最高等级的操作数相同的类型
等级顺序:byte,short,char --> int --> long --> float --> double
例如:
正是因为上述原因,所以在程序开发中我们很少使用byte或者short类型定义整数,也很少会使用char类型定义字符,而使用字符串类型,更不会使用char类型做算术运算。
字符串的"+"操作
当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。
在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。
三、赋值运算符
赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。
符号 | 作用 | 说明 |
= | 赋值 | a=66,将66赋值给变量a |
+= | 加后赋值 | a+=b,将a+b的值给a |
-= | 减后赋值 | a-=b,将a-b的值给a |
*= | 乘后赋值 | a*=b,将axb的值给a |
/= | 除后赋值 | a/=b,将a+b的商给a |
%= | 取余后赋值 | a%=b,将a+b的余数给a |
注意:扩展的赋值运算符隐含强制类型转换。