自从Ja发布以来,基本数据类型一直是Ja语言的重要组成部分。本文将详细介绍每种基本类型的具体用法和局限性。
作者|杰里米·格里夫斯基
译者|新月,编辑|郭蕊
出品| csdn (ID: csdnnews)
以下是翻译:
前几年开始写Ja入门系列文章,觉得有必要单独写一些非常详细的内容。这样,那些介绍性的内容就更容易理解了。首先,我来介绍一下Ja 8中的基本类型。
如题,Ja语言本身有八种基本类型。在接下来的章节中,我们来看看这八种基本类型。我将介绍每个基本类型的具体用法和限制。
Int基本类型
首先,Ja整数是32位有符号(即包括正值和负值)整数,用int关键字表示:
int someNumber = 10
当然,和所有基本类型一样,整数也有自己的局限性。因为只有32位,所以取值范围是-2147483648到2147483647。这个数字很大!当然,我们可以在DrJa的交互面板中使用以下技术进行确认:
Integer.max _ value//prints2,147,483,647
integer . min _ value//prints-2,147,483,648自然,对于简单的计算,int是最常用的整数类型。如果需要更大的数字范围,请参考下面的long。
双基本类型
与int不同,Ja的双精度类型是64位浮点数,由double关键字表示:
double someNumber = 110.55需要提醒的是,浮点数其实是实数。换句话说,双精度浮点数包含小数点。
由于双精度类型是64位,它可以表示比整数多得多的数字。同样,我们可以使用交互面板来确认双精度类型的范围:
double . max _ value//prints 1.7976931348623157 e308
double . min _ value//prints 4.9e-324
需要注意的是,负指数代表的是非常小的数,而不是非常大的负数。所以这里的取值范围和整数的取值范围不完全一样。
一般来说,double是Ja中使用浮点数的默认选择。另一种选择是浮动汇率。
Char基本类型
正如我们所见,Ja的字符类型表示16位字符,这些字符由char关键字表示:
char someCharacter = ‘ f
Ja中的所有字符都用单引号表示。同时,双引号用来表示字符串。我们稍后将讨论字符串。
像往常一样,我们可以通过下面的代码找出字符的范围:
性格。MAX_VALUE // Prints ‘???’
character . min _ value//prints ‘ ‘
为了使这个范围有意义,我们可以将结果转换成一个整数(稍后将详细介绍):
(int)character . max _ value//prints 65535
(int)character . min _ value//prints 0
可以看出char类型是Ja中唯一的无符号类型。换句话说,字符的值范围从0到65535,每个值都映射到一个特定的字符。如果需要创建这个范围之外的字符,可以组合一对字符。请参见“在Ja中反转字符串”一文中的示例(https://therenegadecoder . com/code/reverse-a-string-in-Ja/)。
字节基本类型
当我们谈论二进制时,我们实际上是在谈论比特的概念。而8位组成一个字节,是Ja支持的基本类型之一。本质上,字节类型只不过是一个取值范围从-128到127的8位整数。正如您所猜测的,字节由byte关键字表示:
byte someByte = 20
同样,下面的代码片段可以用来确认字节类型的取值范围:
byte . max _ value//prints 127
byte . min _ value//prints-128
根据我的经验,byte type在读取和处理原始数据时非常有用。但一般来说,我们不会用,因为取值范围太小。
短基本类型
Short是另一种整数类型,但是它在空之间占用的空间比int类型少。其实它的occupancy 空正好是int类型的一半,是16位,用short关键字表示:
short someNumber = 11
short类型的取值范围只有整数的一半,我们可以用下面的代码来确认:
Short . max _ value//prints 32767
short . min _ value//prints-32768
在实际应用中,short的可能值只有65546个。当内存空和磁盘空有限时,我们会使用byte和short。但在其他情况下,定义整数时默认使用int更安全。
长基本类型
与short相对的是long基本类型,即长整型。该类型用于表示比int类型大的非常大的数。Long类型是64位有符号整数,取值范围超过10的18次方。
通常,长整数由long关键字表示:
long someBigNumber = 1013401346173 l;
下面的代码可以检查64位值有多大:
Long.max _ value//prints9,223,372,036,854,775,807
long . min _ value//prints-9,223,372,036,854,775,808 [/br]光在一秒钟内传播约30万公里。如果你写一个程序追踪光走过的距离,7秒后,int型就不在范围内了,而long型可以算出大概975年。你不相信吗?可以看看这个gist里的计算(https://gist . github . com/jrg 94/820 D3 f 0 f 482 DD 19 f 0170964346381 df 0)。
浮点基本类型
虽然我们通常使用64位浮点数类型double,但是Ja也支持另一种浮点数类型float。但是和int一样,Ja默认使用double来表示浮点数。无论如何,我们可以用float来表示32位浮点数类型:
float someNumber = 11.4f
浮动类型的范围如下:
float . max _ value//prints 3.4028235 e38
float . min _ value//prints 1.4e-45
可以看出32位浮点数的范围和精度要小得多。如果不需要double的精度和保存空的一半,可以选择float类型。
布尔基本类型
最后,我们来讨论一下布尔类型。布尔关键字可用于定义布尔类型:
boolean iool = true
布尔类型有点特殊。与其他基本类型不同,它们不表示数值。事实上,之前使用的MAX_VALUE和MIN_VALUE技术在这里是不能用的。反之则表示真或假,即真与假。
在这里,我不打算详细介绍布尔类型,因为Ja里的任何东西都会涉及到布尔类型。但是,我们通常不会显式声明布尔类型。相反,很多代码逻辑中比较运算的结果都是布尔类型。
原文:https://dev.to/renegade coder 94/the-8-primitive-types-in-Ja-10cl
本文由CSDN翻译,请注明出处。
【结束】
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。