当前位置:  开发笔记 > 编程语言 > 正文

为什么Java中没有字节或短文字?

如何解决《为什么Java中没有字节或短文字?》经验,为你挑选了2个好方法。

我可以通过在值上附加L来创建文字长度; 为什么我不能以某种类似的方式创建文字短或字节?为什么我需要使用带有强制转换的int文字?

如果答案是"因为C中没有短文字",那么为什么C中没有短文字?

这实际上并没有以任何有意义的方式影响我的生活; 写(短)0而不是0S或其他东西很容易.但这种不一致让我很好奇; 这是你晚上睡觉时困扰你的事情之一.有人在某个时候做出了一个设计决定,可以为某些原始类型输入文字,但不能为所有原始类型输入文字.为什么?



1> Julien Oster..:

在C中,int至少意味着具有CPU的"自然"字大小,并且long可能意味着"更大的自然"字大小(在最后一部分中不确定,但它也可以解释为什么intlong具有相同的大小在x86上).

现在,我的猜测是:for intlong,有一个完全适合机器寄存器的自然表示.在大多数的CPU然而,较小的类型byte,并short必须要被填充到int反正在使用前.如果是这样的话,你也可以进行演员表演.



2> Jon Skeet..:

我怀疑这是"除非真正增加价值,否则不要添加任何语言" - 并且它被认为增加了足够的价值而不值得.正如你所说,它很容易被解决,坦率地说,它很少是必要的(仅限消除歧义).

在C#中也是如此,我从来没有特别错过任何一种语言.我在Java中错过的是无符号字节类型:)


是的,请添加无符号字节:(.对于手头的问题,我认为值得一提的是有一个很长的迭代,因为一个int文字不能代表一个long的所有值.但是一个int可以代表一个short的所有值.另一方面.
推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有