Java中的数据类型有哪些

  介绍

这期内容当中小编将会给大家带来有关Java中的数据类型有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

在Java源代码中,每个变量都必须声明一种类型(类型). Java数据类型(类型)可以分为两大类:基本类型(基本类型)和引用类型(引用类型).primitive类型包括布尔类型以及数值类型(数字类型).numeric类型又分为整型(整数类型)和浮点型(浮点型)。整型有5种:字节短int长char (char本质上是一种特殊的int)。浮点类型有浮动和翻倍。关系整理一下如下图:

癑ava中的数据类型有哪些"

Java为基本类型提供语言级别的支持,即已经在Java中预定义,用相应的保留关键字表示。基本类型是单个值,而不是复杂的对象,基本类型不是面向对象的,主要出去效率方面的考虑,但是同时也提供基本类型的对象版本,即基本类型的包装器(包装)。可以直接使用这些基本类型,也可以使用基本类型构造数组或者其他自定义类型。基本类型具有明确的取值范围和数学行为。

<强> 2.1整型

整型有字节短int长char,分别用8、16、32、64人,16位表示。有些地方可能不会把char列入整型范畴,但本质上字符类型是int的一个子集。整型的宽度不应该被看成整数所占用的内存空间大小,而应当理解成定义为整型的变量或者表达式的行为.JVM可以自由使用它们希望的,任何大小的内存空间,只要类型的行为符合规范.byte短int长都是有符号的,用2的补码(两个补数)表示。而char用16位表示,它是无符号的,表示的是utf - 16编码集。

<强> 2.1.1字节

字节由1个字节8位表示,是最小的整数类型。主要用于节省内存空间关键。当操作来自网络,文件或者其他IO的数据流时,字节类型特别有用。取值范围为:(-128、127)。字节的默认值为0(字节),如果我们试图将取值范围外的值赋给类字节型变量,则会出现编译错误,例如字节b=128;这个语句是无法通过编译的。一个有趣的问题,如果我们有个方法:公共空白测试(字节b)。试图这么调用这个方法是错误的:测试(0);编译器会报错,类型不兼容! ! !我们记得字节b=0;这是完全没有问题的,为什么在这里就出错啦?

这里涉及到一个叫字面值(文字)的问题,字面值就是表面上的值,例如整型字面值在源代码中就是诸如5 0,-200这样的。如果整型子面子后面加上L或者,则这个字面值就是长类型,比如:1000 L代表一个长类型的值。如果不加L或者,则为int类型。基本类型当中的字节短int长都可以通过不加L的整型字面值(我们就称作int字面值吧)来创建,例如字节b=100;短s=5;对于长类型,如果大小超出int所能表示的范围(32位),则必须使用L结尾来表示。整型字面值可以有不同的表示方式:16进制【0 x或者x】, 10进制【没有】,八进制【0】2进制【0 b或0 b】等,二进制字面值是JDK 7以后才有的功能,在赋值操作中,int字面值可以赋给字节短int长,爪哇语言会自动处理好这个过程。如果方法调用时不一样,调用测试(0)的时候,它能匹配的方法是测试(int),当然不能匹配测试(字节)方法,至于为什么Java没有像支持赋值操作那样支持方法调用,不得而知。注意区别包装器与原始类型的自动转换(anto-boxing auto-unboxing) .byte d=& # 39;一个# 39;;也是合法的,字符字面值可以自动转换成16位的整数。
对字节类型进行数学运算时,会自动提升为int类型,如果表达式中有双重或者浮动等类型,也是自动提升,所以下面的代码是错误的:

字节s2=& # 39;一个# 39;;
  字节和=s1 + s2;//应该投下(字节)& lt;/span> & lt;/span> & lt;/span>

<强> 2.1.2短

用16为表示,取值范围为:[15 - 2 ^ 2 ^ 15 - 1].short可能是最不常用的类型了。可以通过整型字面值或者字符字面值赋值,前提是不超出范围(16位).short类型参与运算的时候,一样被提升为int或者更高的类型。(顺序为字节短int长双浮动)。

<强> 2.1.3 int

32位,(2 ^ 31 - 1 - 2 ^ 31日]。有符号的二进制补码表示的整数。常用语控制循环,注意字节和短在运算中会被提升为int类型或更高8 . Java以后,可以使用int类型表示无符号32位整数[0,2 ^ 31 - 1]。

<强> 2.1.4长

64位,[- 2 ^ 63年2 ^ 63 - 1,默认值为0 l]。当需要计算非常大的数时,如果int不足以容纳大小,可以使用长类型。如果长也不够,可以使先导入BigInteger类用。

Java中的数据类型有哪些