《21天学通Java(第6版)》—— 2.8 问与答

  1. 云栖社区>
  2. 博客>
  3. 正文

《21天学通Java(第6版)》—— 2.8 问与答

异步社区 2017-05-02 15:33:00 浏览685
展开阅读全文

本节书摘来异步社区《21天学通Java(第6版)》一书中的第2章,第2.8节,作者:【美】Rogers Cadenhead,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.8 问与答

21天学通Java(第6版)
问:如果将一个超出变量取值范围的整数值赋给该变量,将发生什么情况?

答:从逻辑上说,您可能认为该变量将被转换为与之接近的更大类型,但情况并非如此。相反,将发生溢出,即从一个极端回到另一个极端。例如,byte变量的值从127(可接受的值)变到128(不可接受)时,将转到最小的可接受值,即−128,然后往上增大。您并不希望程序中发生溢出,因此将值赋给变量时,不应超过其所属数据类型的取值范围。

在计算机的内存很少,每个字节的内存都很金贵时,使用byte等较短的数据类型显得很重要。当前,计算机配置了大量内存和硬盘空间,其大小以吉字节计,因此最好使用较长的数据类型,如int,这样可确保变量有足够的空间存储所有可能的值。

问:为什么Java包含所有对应于数学运算和赋值的简化运算符?它们不太好阅读。

答:Java的语法是基于C++的,而后者又是基于C的(又是一个俄罗斯嵌套洋娃娃)。C是一种专家语言,它更重视功能,而不是可读性,简化运算符是这种设计思想的产物之一。并不是非得在程序中使用它们,因为可能采用其他方式。如果愿意,可以在程序中尽量避免使用它们。

网友评论

登录后评论
0/500
评论
异步社区
+ 关注