当我可以使用int时,为什么我会使用byte,double,long等?

时间:2014-04-02 00:08:58

标签: java

我是一个非常新的程序员,我正在使用Java。我的老师说有很多类型的整数。我不知道何时使用它们。我知道它们有不同的尺寸,但为什么不一直使用最大尺寸?任何回复都会很棒!!!

4 个答案:

答案 0 :(得分:6)

有时候,当你构建可能占用2 GB以上内存的大量应用程序时,你真的希望限制你想要使用的原始类型。记住:

  • int占用32位内存
  • short占用16位内存,是int
  • 的1/2
  • byte甚至更小,8位。

请参阅有关基本类型的java教程:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

如果您正在处理大型数据集,则每种类型占用的空间真的很重要。例如,如果您的程序有一个100万int的数组,那么您需要占用3.81 MB的RAM。现在让我们说你确定那些1,000,000个数字只会在1-10的范围内。为什么不,然后使用byte数组? 100万byte只占用976千字节,不到1 MB。

你总是想使用只是"大"的数字类型。足够合身,就像你不会在新生婴儿身上穿上超大T恤一样。

答案 1 :(得分:0)

所以你可以。这些天内存很便宜,假设你正在编写一个简单的程序,那可能不是什么大问题。

回到内存昂贵的日子里,你需要更加小心你使用多少内存。

如果您在IBM 5100上进行文字处理,就像在70年代的第一台PC中一样 - 至少有16KB RAM(这些天难以想象) - 如果您使用的是64位值得一整天,你可以保留最多2048个字符,没有任何记忆的文字处理程序本身,这还不足以容纳我现在正在输入的内容!

知道英文的字符和符号数量有限,如果您选择使用ASCII来表示文本,则每个字符使用8位(或1个字节),这样您最多可以使用16,000个字符,并且打字的空间相当大。

通常,您将使用足够大的数据类型来保存您可能需要保存在内存中的最大数字。假设您正在为IRS编写数据库以跟踪所有税号,如果您能够为每条记录节省1位内存,那么可节省数十亿比特(千兆字节!)的内存

答案 2 :(得分:0)

可以容纳更多数字的人使用更多内存。使用更多内存是不好的。一个int经文byte与现在的差别不大。但是如果你将来编写大型程序,那么用过的内存就会增加。

你还在标题中说doubledouble不像int。它确实包含一个数字,但它可以有小数位(例如2.36),不像int只能容纳8这样的数字。

答案 3 :(得分:0)

因为我们喜欢专业,而且字节使用的内存少于int,double可以包含小数位。