java中引用数据类型都有哪些?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中引用数据类型都有哪些?相关的知识,希望对你有一定的参考价值。

Java中有俩种数据类型,其中主要有8中基本数据类型和引用数据类型,除了8中基本数据类型以外都是引用数据类型,8中基本数据类型分别是byte,short,int,long,char,boolean,float,double,具体如下:
1、boolean:数据值只有true或false,适用于逻辑计算。
2、char:char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符,每个字符占2个字节,Java字符采用Unicode编码,它的前128字节编码与ASCII兼容字符的存储范围在\u0000~\uFFFF,在定义字符型的数据时候要注意加'
',比如
'1'表示字符'1'而不是数值1,
3、byte:byte型(字节型)数据在内存中占用1个字节,表示的存储数据范围为:-128~127。
4、short:short型(短整型)数据在内存中占用2个字节。
5、int:int型(整型)数据在内存中占用4个字节。
6、long:long型(长整型)数据在内存中占用8个字节。
7、float:float型(单精度浮点型)数据在内存中占用4个字节。(float精度为7-8位)
8、double:double型(双精度浮点型)数据在内存中占用8个字节。
Java中所有的基本数据类型都有固定的存储范围和所占内存空间的大小,而不受具体操作系统的影响,来保证Java程序的可移植性。整形数据默认为int数据类型,浮点型默认为double数据类型,如果要表示long型数据或float型数据,要在相应的数值后面加上l、L或f、F,否则会出现编译问题。
在其他语言中如C语言中,字符型数据和整型数据是可以相互转换的,都是以ASCII码来存储,可以将字符型数据当整型数据来看待。
参考技术A java数据类型图:
┏数值型━┳━整数型:byteshortintlong
┏基本数据类型━━┫┗━浮点型:floatdouble
┃┣字符型:char
数据类型╋┗布尔型:boolean
┃┏类(class)
┗引用数据类型━━╋接口(interface)
┗数组(array)
java的数据类型分基本数据类型(原始数据类型)和引用数据类型;
1.基本八大类,图中可以很清楚的看到;这种类型的数据变量在声明之后java就会立刻分配给他内存空间。如:shorta;java会在可使用的内存空间寻找一个占两个字节的块给a变量;
2.引用数据类型就那三种,类似c/c++的指针,它以特殊的方式指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址,想具体知道看看数据结构就好了。
通俗讲,一、上图记住很够用;二、说内存、谈地址基本都是说引用而非基本;三、你可以把内存地址理解是你学号,而对象实体就是你,每次找你通过学号找,这就是引用;
这个知识点的应用:
1.“==”作用在引用数据类型间,判断内存地址是否相等,想判断内容实体用equals;
2、基本传值传参传的是副本,修改后原值不变;引用传值传参穿的是地址,修改后原值改变。
本人不才,大概就想到这么多吧,共同成长~~~

JAVA都有哪些基本数据类型啊

详细点的

数据类型

数据类型就是对内存位置的抽象表达。程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有 些则由程序员来定义。很多编程语言都依赖于特定的计算机类型和对数据类型属性的具体编译实现,比如word和integer数据类型的大小等。另一方面, Java的虚拟机负责定义其内置数据类型的各方面内容。这就意味着不管Java虚拟机(JVM)运行在何等低级的操作系统之上,数据类型的属性都是完全一 样的。

简单数据类型

简单数据类型是不能再简化的、内置的数据类型,由编程语言定义,表示真实的数字、字符和整数。更大、 更复杂的数据类型可以采用简单数据类型的组合来定义。在大多数情况下,简单数据类型都具有其硬件等价物。比方说,int简单类型有时存放在32位硬件寄存 器内。Java提供了几类简单数据类型表示数字和字符。

简单数据类型通常划分为以下几种类别:实数、整数、字符和布尔值。这些类别中又包 含了多种简单类型。比如说,Java定义了两种简单类型:float和double,它们都属于实数类别,另外4种简单类型:byte、short、 int和long则都属于整数类别。此外还有一种简单类型char则归于字符类型。布尔值类别只有一种简单类型:boolean。表A详细列出了Java 的简单数据类型.

表A Java简单数据类型

简单类型 大小 范围/精度

float 4 字节 32位IEEE 754单精度

double 8 字节 64位IEEE 754双精度

byte 1字节 -128到127

short 2 字节 -32,768到32,767

int 4 字节 -2,147,483,648到2,147,483,647

long 8 字节 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807

char 2 字节 整个Unicode字符集

boolean 1 位 True或者false

Java的简单数据类型

Java中的所有数字变量都是有符号的,Java不允许数据类型之间随意的转换。只有数字变量之间可以进行类型转换。比如,boolean就不能转换为其他数据类型,而且其他数据类型也不能转换为boolean。

因为Java的简单数据类型都经过准确定义,而且直接内存访问也是不允许的,所以在Java语言中取消了sizeof运算符。

Java的简单数据类型并不是对象。为了采用面向对象方式对待Java简单数据类型,你需要首先用类封装它们。

封装类

Java 还提供了Byte、Short、Boolean、Character、Integer、Double、Float和Long等内置的封装类。这些封装 (wrapper)类提供了很直观的实用方法。比如,Byte、Float, Integer、Long和Double类都具有doubleValue()方法,通过它可以把存储在类的实例中的值转换为Double类型。还有,所有 的封装类都提供了静态的valueOf(String s)方法把给定的String转换为对应的简单类型。清单A的代码演示了这些封装类的一些用法。

简单数据类型初始化

在Java 语言中,简单数据类型作为类的成员变量声明时自动初始化为默认值,除非显式地声明。简单数据类型为某一方法声明局部变量时不会自动地初始化而且会导致编译 器扔出类似以下的错误消息“Variable x may not have been initialized.(x变量没有初始化)”表B定义了Java简单数据类型的默认值。

表B Java简单数据类型的默认值

类型

默认值

boolean

false

Byte

0

short

0

int

0

Long

0

Char

�0�7u0000�0�7

Float

0.0

double

0.0

Java简单数据类型的默认初始值

清单B 中的代码显示所有的Java简单数据类型都用做了Initialization类的成员变量。该例还显示Initialization类的构造器中局部声明了一个int变量。在不修改以上代码的情况下,编译器会在对以上代码进行编译的时候扔出错误。

一旦引发问题的代码行(那些引用未初始化变量导致错误发生的代码)被删除或者注释掉。程序成功编译和执行之后就会显示以下的结果:

byte: 0

short: 0

int: 0

long: 0

float: 0.0

double: 0.0

char: 0

boolean: false

我们还可以显式地初始化成员变量为其他值,如以下代码所示:

byte b = 5;

short s = 123;

int i = 1234;

long l = 12345;

float f = 123.45f;

double d = 12345.678;

char c = �0�7A�0�7;

boolean z = true;
参考技术A 数据类型就是对内存位置的抽象表达,数据类型指明了变量或表达式的状态和行为。Java语言中数据类型分为简单数据类型和复合数据类型,如下表所示。 * 简单数据类型:简单数据类型是不能再简化的、内置的数据类型,由编程语言定义,表示真实的数字、字符和整数。例如实数、整数、字符和布尔值。 * 复合数据类型:由简单数据类型的组合形成的更大、更复杂的数据类型。例如类、接口和数字。 注意: (1)在Java语言中,字符串没有被当做数组,而是被当做对象来处理的,类String和StringBuffer都可以被用来表示一个字符串。 (2)Java语言不支持C、C++中的指针类型、结构类型、枚举类型和联合类型。 (3)Java语言中所有简单数据类型的所在内存位数都是固定的。 (4)Java语言没有提供无符号整数类型。 (5)Java语言的short数据类型很少使用,因为它限制数据有存储为先高字节,后低字节,这样在某些机器中会出错。 Java 语言的数据类型 简单数据类型 布尔数据类型 (boolean) 1 位 字符类型 (char) 2 字节 整数类型 (integer) byte 1 字节 short 2 字节 int 4 字节 long 8 字节 浮点数类型 (float) float 4 字节 double 8 字节复合数据类型 类 (class) 接口 (interface) 数组 String 是对像 参考技术B ava语言提供了八种基本类型: 六种数字类型(四个整数型,两个浮点型) 字节型byte 8位 短整型short 16位 整型int 32位 长整型long 64位 单精度float 32位 双精度double 64位 一种字符类型 字符型char 8位 还有一种布尔型。 布尔型:boolean 8位 可存储"True"和"false"
string是对象不是数据类型 String的变量名是对String类的引用

以上是关于java中引用数据类型都有哪些?的主要内容,如果未能解决你的问题,请参考以下文章

java中方法的返回类型都有哪些?可以引用数据类型吗?举例说明

JS开发中基本数据类型都有哪些

JAVA都有哪些基本数据类型啊

数据类型都有哪些

java的基本数据类型都有哪些

与JAVA类型相比较,MapReduce中定义的数据类型都有哪些特点?