1,算术运算符
①运算符和表达式:(1)运算符:对字面量或者变量进行操作的符号,有+,-,*,/,%
%举例:3%2=1
(2)表达式:用运算符把字面量或者变量来连接起来符合java语法的式子就可以称为表达式,不同运算符连接的表达式体现的是不同类型的表达式
②算术运算符注意事项:(1)/和%的区别,两个数据做除法,/取结果的商,%取结果的余数 (2)整数操作只能得到整数,想要得到小数,必须有浮点数参与运算
③字符串拼接操作:当 + 操作中,遇到了字符串,这时 + 就是字符串连接符,而不是算术运算
一个数值拆分案例,效果如图所示:
2,自增自减运算符
①自增自减运算符介绍:(1)++:自增,变量自身的值加1 (2)--:自减,变量自身的值减1 (3)++和--既可以放在变量的后边,也可以放在变量的前边
②自增自减运算符注意事项:(1)单独使用:++和--无论放在变量的前边还是后边,结果是一样的 (2)参与操作使用:如果放在变量的后边,在变量的后面,先拿变量的值进行运算,再对变量的值进行+1,-1;如果放在变量的前边,先对变量进行+1,-1,再拿变量的值进行运算,举一串代码来说明,如图所示:
(3)++,--只能操作变量,不能操作常量;
3,类型转换
①类型转换分类:分为隐式转换和强制转换
②隐式转换介绍:把一个取值范围小的数值或者变量,赋值给另一个取值范围大的变量
③运算过程中的隐式转换:(1)取值范围小的数据,和取值范围大的数据进行运算,小的会先提升为大的之后,再进行运算 (2)byte,short,char三种数据在运算的时候,都会提升为int,然后再进行运算
有一个练习(搞明白就理解隐式转换了):
答案(自上而下的数据类型):double; int; double;
④强制转换介绍:(1)把一个取值范围大的数值或者变量,赋值给另一个取值范围小的变量不允许直接赋值,需要加入强制转换 (2)格式: 目标数据类型 变量名 = (目标数据类型) 被强转的数据;
示例如图:
⑤进制:计算机中存储数据的单位是字节,每一个字节在计算机底层都是以二进制的形式进行体现的
⑥计算机中进制分类:二进制; 十进制; 八进制; 十六进制;
⑦不同进制的书写:十进制:110 二进制:0b110 八进制:0110 十六进制:0x110
⑧二进制到十进制转换:8421快速转换法
⑨原码反码补码:(1)原码:数据的二进制体现形式,一个字节由8个二进制位组成,最左侧的数据通过高位代表符号位,0代表正数,1代表负数 (2)正数的反码与其原码一样,负数的反码是对其原码逐位取反,符号位除外 (3)正数的补码与其原码相同,负数的补码是在其反码的末位加1 (4)计算机在运算的时候,都是以二进制补码的形式在运算
⑩强转中的精度损失:强制转换可能导致精度下降
3,赋值运算符
①
②赋值运算符的注意事项:扩展的赋值运算符隐含了强制类型转换
4,关系运算符
①
②关系运算符的注意事项:关系运算符的结果都是boolean类型,要么是true,要么是false,千万不要把==写成=
5,逻辑运算符
①逻辑运算符概述:连接布尔类型的表达式,或者是值,逻辑运算符可以用来整合多个条件,为一段整体的逻辑
②逻辑运算符的分类:(1)&逻辑与,遇false则false (2)|逻辑或,遇到true则true (3)!逻辑非,取反(4)^异或,相同为false,不同为true
③短路逻辑运算符:(1)短路与&&,如果左边为false,右边不执行 (2)短路或||,如果左边为ture,右边不执行
代码示例:
6,三元运算符
①三元运算符介绍:(1)格式: 判断条件?值1:值2; (2)执行条件:首先计算判断条件的值,如果值为true,值1就是运算结果,如果为false,值2就是运算结果
7,运算符优先级
知识来源:黑马程序员视频
本文章可供复习或Java学习使用