转载自品略图书馆 http://www.pinlue.com/article/2020/05/1909/5810539596632.html
自从JAVA发布以来,根本数据类型就是Java言语中重要的一部分,本文就来详细介绍下每种根本类型的详细运用方法和限制。
几年前,我开端编写了一系列有关Java入门的文章,我觉得有必要将其中一些十分细节的内容单独拿出来写成文章。这样,那些入门内容就更容易理解了。首要,我来介绍一下有关Java8中的根本类
int根本类型
首要,Java的整数是32位有符号(即包括正值和负值)整数,由int关键字表明:
intsomeNumber=10;
当然,像一切根本类型相同,整型有自己的限制。由于它只要32位,所以其取值规模为-2147483648到2147483647。这数字很大嘛!当然,咱们能够在DrJava的交互面板中用下述技巧来承认:
Integer.MAX_VALUE//Prints2,147,483,647Integer.MIN_VALUE//Prints-2,147,483,648
自然地,对于简单的核算而言,int是最常用的整数类型。假如你需求更大的数字规模,请参照下面的long。
double根本类型
与int不同,Java的双精度类型是64位浮点数,由double关键字表明:
doublesomeNumber=110.55;
需求提示的是,浮点数实践上就是实数。换句话说,双精度浮点数中包括小数点。由于双精度类型是64位,它能表明的数字要比整型多许多。相同,咱们能够运用交互面板来承认双精度类型的规模:
Double.MAX_VALUE//Prints1.7976931348623157E308Double.MIN_VALUE//Prints4.9E-324
需求留意的是,负的指数表明的是十分小的数字,而不是十分大的负数。所以这儿的取值规模跟整数不是彻底相同。一般来说,double是在Java中运用浮点数的默认挑选。另一个挑选是float。
char根本类型
咱们已经看到,Java的字符类型表明16位字符,由char关键字表明:
charsomeCharacter=’f’;
Java中一切的字符都用单引号表明。同时,双引号用来表明字符串。咱们稍后会评论字符串。与平常相同,咱们能够通过下面的代码找出字符的规模:
Character.MAX_VALUE//Prints’???’Character.MIN_VALUE//Prints”
为了让这个规模有意义,咱们能够将成果转换成整数(稍后会更多地介绍):
(int)Character.MAX_VALUE//Prints65535(int)Character.MIN_VALUE//Prints0
可见,char类型是Java中仅有的无符号类型。换句话说,字符的取值规模为0到65535,每个值映射到特定的字符。假如需求创建该规模之外的字符,能够将一对字符组合起来。
参见“在Java中反转字符串”(https://therenegadecoder.com/code/reverse-a-string-in-java/)这篇文章中的例子。关注微信公众号:Java技能栈,在后台回复:java,能够获取我收拾的N篇最新Java技能教程,都是干货。
byte根本类型
当咱们评论二进制时,咱们评论的实践上是比特的概念。而8个比特组成一个字节,字节是Java支撑的根本类型之一。本质上,byte类型只不过是取值规模为-128到127的8位整数。
能够猜到,字节由byte关键字表明:
bytesomeByte=20;
相同,能够运用下面的代码片段来承认byte类型的取值规模:
Byte.MAX_VALUE//Prints127Byte.MIN_VALUE//Prints-128
依据我的经历,byte类型在读取和处理原始数据时十分有用。但是一般来说,咱们不会运用它,由于取值规模太小了。引荐:为什么byte取值-128~127?这是为什么呢?
short根本类型
short是另一种整数类型,但它占用的空间要比int类型更小。实践上,它的占用空间正好是int类型的一半,为16位,由short关键字表明:
shortsomeNumber=11;
short类型的取值规模也只要整数的一半,咱们能够用下述代码承认:
Short.MAX_VALUE//Prints32767Short.MIN_VALUE//Prints-32768
在实践运用中,short只要65546个或许的值。在内存空间和磁盘空间受限的情况下,咱们会运用byte和short。但在其他情况下,在定义整数时默认运用int更为安全。
long根本类型
与short相反的是long根本类型,即长整数。该类型用来表明比int类型还要大的十分大的数。long类型是64位有符号整数,其取值规模超过了10的18次方。一般,长整数用long关键字表明:
longsomeBigNumber=1013401346173L;
下面的代码能够查看64位值究竟有多大:
Long.MAX_VALUE//Prints9,223,372,036,854,775,807Long.MIN_VALUE//Prints-9,223,372,036,854,775,808
或许,long能够用来核算光在必定时间内走过的间隔。光在一秒内大约传达30万千米。假如编写一个程序来跟踪光走过的间隔,那么7秒后int类型就超出规模类,而long类型能够核算大约975年。
不相信吗?能够看看这个gist中的核算。
float根本类型
虽然咱们一般运用64位浮点数类型double,但Java还支撑另一种浮点数类型,叫做float。但与int类似,Java默认情况下运用double表明浮点数。不管怎样,咱们能够用float来表明32位浮点数类型:
floatsomeNumber=11.4f;
float类型的规模如下:
Float.MAX_VALUE//Prints3.4028235E38Float.MIN_VALUE//Prints1.4E-45
可见,32位浮点数的规模和精度都要小得多。假如不需求double的精度,同时节约一半的空间,那么能够挑选float类型。
boolean根本类型
最后咱们来评论一下boolean类型。定义布尔类型能够运用boolean关键字:
booleanisBool=true;
布尔类型有些特殊,不像其他根本类型那样,它们表明的不是数字值。实践上,之前运用的MAX_VALUE和MIN_VALUE技巧在这儿不能运用。相反,它表明的是true或false,即真和假。
在此,我不打算详细介绍布尔类型,由于在Java中做任何事情都会涉及到布尔类型。尽管如此,咱们一般不会明确地声明布尔类型。相反,许多代码逻辑中的比较操作的成果都是布尔类型。