9.11课后题和动脑动手问题
第一个答案:类
第二个答案:成员变量和成员方法
第三个答案:可以强制转化,但是会造成误差
第四个答案:不是,String是一个类
第五个答案:静态,全局的标志
2.
答案:运行结果
(1)可以用==来比较enum的实例
(2)被enum关键字符修饰的类型就是枚举类型
(3)values可以将枚举的所有成员以数组的形式返回,也可以通过方法获取枚举类型的成员
(4)value Of()方法返回指定字符串值的枚举常量,与原枚举实例相等
(5)同一个枚举里面的枚举成员地址不同
结论:枚举类似于一个数组,又类似于String类,有其自己的封装函数,掌握了
3.
原码的最左边是符号为0为正1为负。
反码是为了负数的计算
为了解决负数跨0计算例如:-3+5就需要补码,正数的补码是其本身,负数的补码等于其反码加1
运行后对比,java中的结果是原码。
4.
5.
输出的是函数内的局部变量,其只作用于这个函数内。
6.
7.
结论:范围更小的类型能转化为范围更大的类型,一般情况下无精度损失;但是整数转化为浮点数还是会有精度损失,因为浮点数可能会丢失精度,因为浮点是的十进制值通常没有完全相同的二进制表示形式(十进制数的二进制表示形式不精确),浮点数存储是由指数和尾数构成
意外
因为浮点数可能会丢失精度,因为浮点是的十进制值通常没有完全相同的二进制表示形式(十进制数的二进制表示形式不精确)
举个例子:0.2转化为二进制
0.2*2=0.4->0;
0.2*2=0.8->0;
0.8*2=1.6->1;
0.6*2=1.2->1;
0.2*2=0.4->0;(发生循环)
无限循环的小数存储在计算机中只能被截断,因此导致了小数精度发生损失。
9.
1.浮点数没有办法用二进制表示,cpu中浮点数存储有指数和尾数两部分组成,写入double类型的不可预知的损失精度
String构造方法完全可预知。
10.
当字符串出现时后面的默认为字符串相加(自动转化),如果先相加就是先进行加法再输出字符串。