在Java中基本的算数运算符有五类
加 | + | |
减 | - | |
乘 | * | 在编程语言中乘号一律写为 * |
除 | / | 在Java中两个整数相除结果还是整数 |
取余 | % | 取得的是两个数相除的余数 |
这里可以看见,在输出加法和减法时,我在后面多加了一个括号,这是因为运算优先级的原因,加法和减法的优先级是一样的,所以根据计算机在同等优先级下从左至右的运算原则,如果我们不加括号就会变成下面这个样子
这种情况是因为从左向右,"a + b = "是一个字符串,而这个字符串无法和a相加,于是在这个字符串与a相加时,就会把a的值放在字符串后面,就出现 "a + b = 10"这个字符串,然后这个字符串也是无法和b相加的,于是在与b相加时,就自动把b的值放在了后面,也就是最后得到的"a + b = 102"
由于我们在编程中" *,/,%"的优先级比" +,-"高,在这个算式中会先算后面的"*,/,%",所以我们不加括号也是没有影响的
那么我们这篇文章重点来讲一讲除法的一些要点
除法
在上面说过,两个整数类型相除会是整数,但我们可以通过一些方法,来把它变为小数
可以看见,第一种情况属于直接运算,所以遵循了两个整数相加结果为整数的原则,但我们要的结果并不是只有整数,所以我们通过下面的两种方式可以得到我们需要的正确结果
最简单的就是直接在运算时强制把整形转换为浮点型,这样在这个算式里面最大的为浮点型之后就会按照浮点型的格式来运算(注意:计算机在运算时,最终结果会遵从最大的一个类型,例如在上面这个运算中,由于我把a转换为了double型,又由于double型比int型大,所以最终结果一定是以double型来呈现的)
还有一种就是在算式前面乘一个1.0,这样这个算式的最高类型又变成double型了,所以最后的结果也是会有小数的。