9.11课后题和动脑动手问题

1.

 第一个答案:类

第二个答案:成员变量和成员方法

第三个答案:可以强制转化,但是会造成误差

第四个答案:不是,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.

 

 当字符串出现时后面的默认为字符串相加(自动转化),如果先相加就是先进行加法再输出字符串。

posted @ 2023-09-11 21:07  艾鑫4646  阅读(11)  评论(0编辑  收藏  举报