—— 本文参照 Learn Java for Android Development (第三版)
(看了上一篇更新的时间已经刚好三个月了,这期间因为所以种种原因没有再开始继续翻译下来,但是现在想想这个事情还是应该继续,毕竟这做的是自己喜欢的事情,不是完成任务)
乘法模型
乘法模型主要包含乘法()、除法(/)、取模(%)这3个运算符。乘法运算返回的是操作数的乘积,例如64返回的结果就是24,除法运算返回的就是左边操作数除以右边操作数以后的商,比如6/4返回的就是1。这跟我们平时数学运算里边都是一样的逻辑。但是我们的数学运算里面没有提到过取模运算,取模运算其实取的就是余数,左边操作数除以右边操作数的余数,例如6%4返回的就是2。
值得注意的是在java里面乘法、除法、取模这几个运算是不会做溢出检测的。例如两个32位的数相乘的话结果肯定是超过32位了,但是java编译器不会报错。至于溢出的意思就是超出了一个类型所能表示的数据的范围。
除此以外如果用一个数字去除以0,这样得到的结果也是很有意思的。如果用一个整数去除以0的话这样就会抛出一个arithmeticexception这样的异常,在后面的章节会详细介绍什么是异常。如果用一个浮点数或者是双精度浮点数去除以0得到的结果会是正无穷大或者负无穷大。至于结果是正还是负这取决于被除数本身是正还是负。如果用0去除以0的话返回的结果是:不是一个数。这样看起来是不是还很有意思啊。
对于这些运算也给出一个示范例子:
public class Test
{
public static void main(String[] args)
{
short age = 65;
System.out.println(age * 1000);
System.out.println(1.0 / 0.0);
System.out.println(10 % 4);
System.out.println(3 / 0);
}
}
编译运行看看结果是什么样子。javac
Test
.javajava
Test
输出结果如下:
65000
Infinity
2
exception in thread ".......
(由于这些字符加上以后发布不了,我只能把这部分省略了)
Page 65