欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
Facts speak louder than words!
运算符是对字面量和变量进行操作的符号。
表达式就是把字面量和变量连接起来符合Java语法的式子,不同运算符连接的表达式体现的是不同类型的表达式。
整篇文章参考我之前那篇,运算符集锦:原文链接:https://blog.csdn.net/Dong_duan/article/details/127311512
算数运算符
算数运算符包括:正号运算符(+),负号运算符(-),乘法运算符(*) ,除法运算符(/),
求余运算符(%),加法运算符(+),减法运算符(-)。
注:1.%运算符要求参加的运算对象(即操作数)为整数,结果也为整数。如8%3,结果为2。
2.除%以外的操作数都可以是任何算数类型。
3.判断i增加还是减少以本条语句后的分号(;)为依据。
类型转换运算符
类型转换分为两种:隐式转换 和 强制转换
隐式转换(也称为自动类型转换):是Java编译器自动执行的类型转换。当两个不同类型的数值进行运算时,Java编译器会将较小的类型自动转换为较大的类型,以便正确地执行运算。以下是一些常见的隐式转换规则:
- 整数之间的隐式转换:当两个整数进行运算时,结果会自动提升为较大的整数类型。例如,int类型的数值与long类型的数值进行运算时,结果会自动转换为long类型。
- 浮点数之间的隐式转换:当两个浮点数进行运算时,结果会自动提升为较大的浮点数类型。例如,float类型的数值与double类型的数值进行运算时,结果会自动转换为double类型。
- 整数与浮点数之间的隐式转换:当整数与浮点数进行运算时,整数会自动转换为浮点数类型。例如,int类型的数值与double类型的数值进行运算时,整数会自动转换为double类型。
- byte、short、char三种类型在运算时首先会先提升成int类型。
强制转换:在某些情况下,我们需要手动执行类型转换,即强制转换。强制转换是将一个类型的数值显式地转换为另一个类型。以下是一些常见的强制转换规则:
- 整数之间的强制转换:可以使用强制类型转换运算符(如
(int)
)将一个整数类型强制转换为另一个整数类型。需要注意的是,这种转换可能会导致数据丢失(如将long
类型转换为int
类型)。- 浮点数之间的强制转换:可以使用强制类型转换运算符(如
(float)
)将一个浮点数类型强制转换为另一个浮点数类型。需要注意的是,这种转换可能会导致精度损失(如将double
类型转换为float
类型)。- 整数与浮点数之间的强制转换:可以使用强制类型转换运算符(如
(double)
)将一个整数类型强制转换为浮点数类型。需要注意的是,这种转换可能会导致精度损失(如将int
类型转换为double
类型)。
字符和字符串相加操作
很简单也很好理解,放张图片就清楚了
自增自减运算符
自增运算符(++i,i++),自减运算符(--i,i--).
++i,--i,在使用之前,先将i的值加(减)1。
i++,i--,在使用之后,使i的值加(减)1。
赋值运算符
赋值运算符的优先级低于算术运算符,结合方向是自右向左;它表示即将其右侧的值送到左侧的变量中(左侧只允许是变量,不能是表达式或其他形式);不要将赋值运算符与相等运算符“==”混淆。
细节:除了=,其他符号底层都隐藏了一个强制类型转换。
关系运算符
关系运算符也叫比较运算符 ,常用来比较和判断两个常量或变量的大小。
关系运算符对应的是二元运算,运算结果常用为boolean型。
关系运算符的值为false或true对应着数字中的0或1。关系运算符只有成立与不成立的逻辑关系。
关系运算符有:
逻辑运算符
逻辑运算符常与比较运算符一起使用
短路逻辑运算符,当左边的表达式能确定最终的结果,右边就不会再参与运行了。
&&,左边为false,右边不管真假,整个表达式都为false。
||,左边为true,右边不管真假,整个表达式都为true。
三元运算符
其求值规则为:如果关系表达式的值为真,则以表达式1 的值作为整个条件表达式的值,否则以表达式2的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。
原码反码补码
原码对正数计算是不会出错的,负数就会出错,实际的值跟我们预期的是相反的。
反码是为了解决原码不能计算负数的问题而出现的
运算符优先级
觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥The road is long and the line is coming,让我们一起加油吧!🌙🌙🌙