三九宝宝网宝宝百科宝宝知识

java基础:基本数据类型和引用数据类型有哪些

04月09日 编辑 39baobao.com

[C和C++数据类型未对齐]自己定义了一个结构,写了一个dll返回这个结构的数据,结果一直出现错误,后来把VS2005的所有异常打开,报出了DATA misalignment的错误,查了查对我也没什么帮助。只是猜想内存对齐的...+阅读

1、8种基本类型

4种整型

byte 1字节 -128——127

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

int 4 字节 -2,147,483,648 ——2,147,483,647(超过20亿)

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

2种浮点类型

float 4 字节 32位IEEE 754单精度(有效位数 6 – 7位)

double 8 字节 64位IEEE 754双精度(有效位数15位)

1种Unicode编码的字符单元

char 2 字节 整个Unicode字符集

1种真值类型

boolean 1 位 True或者false

2、3种引用类型

类class ,接口interface , 数组array

java中的引用数据数据类型是怎样的

java中有两种数据类型:基本类型和引用类型。 基本类型有8个: 整数类型 byte、short、int、long 浮点数类型 float、double 字符型 char 布尔类型 boolean 引用类型包括三种: 类 Class 接口 Interface 数组 Array 基本类型是通过诸如 int a = 5; long b = 6L;的形式来定义的,称为自动变量,自动变量存放的是字面值,不是类的实例,它存放在内存的堆栈中,数据大小和生存期必须是确定的,存取速度比较快,在堆栈中的字面值可以共享,也就是说我们定义一个int a = 5;然后又定义了一个int b = 5;这时a与b在内存中指向的是同一个字面常量。 引用类型一般是通过new关键字来创建,比如Integer num = new Integer(3);它存放在内存的堆中,可以在运行时动态的分配内存大小,生存期也不必事先告诉编译器,当引用类型变量不被使用时,Java内部的垃圾回收器GC会自动回收走。

引用变量中存放的不是变量的内容,而是存放变量内容的地址。 在参数传递时,基本类型都是传值,也就是传递的都是原变量的值得拷贝,改变这个值不会改变原变量,而引用类型传递的是地址,也就是参数与原变量指向的是同一个地址,所以如果改变参数的值,原变量的值也会改变。这点要注意。 在java中,8种基本类型在java中都有对应的封装类型,也就是引用类型: 整数类型 Byte、Short、Integer、Long 浮点数类型 Float、Double 字符型 Character 布尔类型 Boolean 有时候我们会看到这样的语句 Integer num = 3;Boolean b = true;这样定义也能行得通,其实这里面有一个自动装箱的问题,即java自动把3这个字面常量封装成了Integer对象,同理也有自动拆箱。 还有些需要注意的比较特殊的地方: 1.Integer类型 Integer i1 = 3; Integer i2 = 3; 此时i1 == i2 返回的是true Integer i1 = 128; Integer i2 = 128; 此时i1 == i2返回的是false, 这时因为Integer的数值在-128~127之间时,即在int的范围内,默认是按照基本类型int来存放的,仍旧存在堆栈中,如果超出了int的范围,就按照对象的方式来存放和比较了。

2、String类型 String类型我们有时候也会直接这样定义: String s = "abc"; 这里的"abc"称为字符串常量,也是存在堆栈中的,s中存放的就是指向这个堆栈地址的引用,如果再定义一个 String s1 = "abc"; 这时,s与s1存放的是同一个地址的引用,即s与s1指向的是同一个字符串常量, s == s1的值是true, 但是如果有 String s2 = new String("abc"); 这时s == s2则为false,因为使用new之后,每次生成的对象都不是同一个,即使存储的内容相同。 上面的s == s1,s == s2其实比较的都是地址,并不是里面的内容。如果要比较内容,可以使用equals()方法。 其他的就不多说了,打起来太慢了,可以自己去看一下java编程思想。

java中基本数据类型和引用数据类型各有什么特点

1、布尔型 - boolean

1)boolean类型适用于逻辑运算,一般用于程序流程控制;

2)boolean类型数据只允许true或false,0或非0的整数不能替代true和false。

2、字符型 - char

1)char型数据用来表示通常意义上的“字符”;

2)字符常量为用单引号括起来的单个字符;

3)Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示;

4)Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义。

3、整型 - int、short、long、byte

1)Java各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性;

2)Java语言整数常量的三种表示形式:

1)十进制整数;

2)八进制整数,要求以0开头;

3)十六进制整数,要求以0x或0X开头。

3)Java语言的整型常量默认为int类型,声明long类型常量可以后加'l'或'L';

4)Java语言中,所有数都是带符号的(正、负)。

类型

存储空间

取值范围

byte

1字节

-128 ~ 127

short

2字节

-215 ~ 215-1

int

4字节

-231 ~ 231-1

long

8字节

-263 ~ 263-1

4、浮点型 - float、double

1)与整数类型类似,Java浮点类型有固定的表数范围和字段长度;

2)Java浮点类型常量有两种表示形式:

1)十进制数形式;

2)科学计数法形式;

3)Java浮点类型常量默认为double类型,如要声明一个常量为float类型,则需要在数字后面加'f'或'F';

4)float类型的精度为6-7位,double类型的精度为15位。

类型

存储空间

取值范围

float

4字节

-3.403E38 ~ 3.403E38

double

8字节

-1.798E308 ~ 1.798E308

以下为关联文档:

Java中包含引用数据类型对象的克隆实现在Ja中,要得到一个对象的完整拷贝不能通过"="实现,因为这样只实现了该对象的引用的拷贝,如果对该对象进行操作,针对的还是同一个对象。那么,如何得到一个对象的拷贝?我们可以通过...

sql server 2005中的数据类型有哪些1.二进制: binary、varbinary和image 2.字符型: char、nchar、varchar、text 3.Unicode字符数据:nchar、nvarchar、ntext 4.时间日期:datetime、smalldatetime 5.整形数据:bigint...

Java复杂数据类型用法是什么在这篇文章中,我们将讨论Java语言中的复杂数据类型。其内容涉及到初始化过程、默认初值和某些针对复杂数据类型的操作。 索引 同简单数据类型的定义一样,Java虚拟机(JVM)还定义...

js的基本数据类型有哪些js中有5种数据类型:Undefined、Null、Boolean、Number和String。 还有一种复杂的数据类型Object,Object本质是一组无序的名值对组成的。 Undefined类型只有一个值,即undefined...

delphi数据类型一、数据类型: (1) 基本数据类型: a、 整数类型: (通用类型:Integer-有符号;Cardinal-无符号) 具体: 有符号:Shortint,Smallint,Longint无符号:Byte,Word,LongiWordb、字符类型: (通用类型:Char...

JS中都有哪些数据类型js中有5种数据类型:Undefined、Null、Boolean、Number和String。 还有一种复杂的数据类型Object,Object本质是一组无序的名值对组成的。 Undefined类型只有一个值,即undefined...

JS中都有哪些数据类型Javascript中的数据类型可以分为基本数据类型和复合数据类型两种。基本数据类型包括以下几种:[*]数值类型[*]字符类型[*]boolean 类型[*]undefined 未定义类型复合数据类型包...

数据库中所有的数据类型数据库模型主要分有两种,即关系型数据库和非关系型数据库。 关系型数据库:网络数据库和层次数据库很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠...

MySQL支持的数据类型有哪些MySQL支持的数据类型有哪些,mysql数据库中有几种数据类型:Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型。 1.整数数据类型及其取值范围: 类型 说明...

推荐阅读
图文推荐