编程语言
首页 > 编程语言> > 每次长时间重复使用两次时,为什么Java中会有如此多的数字类型?

每次长时间重复使用两次时,为什么Java中会有如此多的数字类型?

作者:互联网

现在,我一直在尝试学习Java编程,我想知道为什么我们只使用Long和Double时为什么要使用Float,short和int之类的东西?

我不明白那部分.

解决方法:

这是一个很好的问题,尤其是如果您来自像JavaScript这样的语言时,它不会区分数字类型.

Java比那些语言要严格一些,并且您编写的所有内容都首先被编译为所谓的字节码,类似于汇编语言,但只能由Java虚拟机(JVM)读取.因此,您必须准确指定表示数据所需的位数.即使使用诸如String之类的更抽象的概念,它仍然成为JVM可以读取的代码,该代码准确地说明了它代表多少位.

这是它在Java中的分解方式:

>字节= 1个字节,有符号的= 1个符号位和7个幅度位(Read more on Wikipedia)
>短= 2字节,带符号= 1个符号位和15个幅度位
> int = 4字节,有符号的= 1个符号位和31个幅度位
>长= 8字节,带符号= 1个符号位和63个幅度位
>浮点数= 4字节,带符号的= 1个符号位,8个指数位,23个尾数位(Read more on Wikipedia)
>双= 8字节,带符号= 1个符号位,11个指数位,52个尾数位
> char = 2字节,无符号= 16个幅度位
>布尔= 1字节,无符号= 8位
>布尔值数组中的布尔值= 1个半字节= 4位

请注意,这些都是小写字母.这意味着它们是基元,并且构成Java中所有数据的构造块.

Java有时还会使用这些Title-Case类来包装原语(包装是指当您使用一个类来表示类中的对象时,例如购买平板电脑并将其放入包装盒中.您只关心平板电脑,但是您会得到一个围绕它的框,以临时表示并按住它).这些如下:

>字节换行字节
>短包装短裤
>整数包装int
>长包长
>浮法包裹浮法
>双层包装
>字符包装字符
>布尔包装布尔
>数字充当通用数字,可以是Byte,Short,Integer,Long,Float,Double或自定义数字,例如BigInteger.您甚至可以使用它来制作自己的电话号码!

摘要

您绝对可以对所有数字使用double和long!但是,当您处理大量数字时(请记住:实际上,Java中的所有内容都可以归结为数字),您应该使用尽可能少的数据来完成一项任务,因此不会耗尽内存.

我们已经看到when the view counter for Gangnam Style surpassed the limit of an int这样的做法,即使是像Google这样的大公司也使用这种做法,这表明他们更喜欢一开始只使用32位数字作为计数器,而不是64位数字.现在,尽管他们需要它,但他们进行了更新.我建议您采用这种做法!

标签:java,long-integer,int,var,double
来源: https://codeday.me/bug/20191013/1909010.html