Java基本数据类型?

Python013

Java基本数据类型?,第1张

一、基本数据类型

byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0

short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0

int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0

long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L

float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0

double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0

char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空

boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false

二、Java数据类型基本概念:

数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。

基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。

引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。

三、Java中的数据类型与内存的关系

在Java中,每个存放数据的变量都是有类型的,如:

charchfloatxinta,b,c

ch是字符型的,就会分配到2个字节内存。不同类型的变量在内存中分配的字节数不同,同时存储方式也是不同的。

所以给变量赋值前需要先确定变量的类型,确定了变量的类型,即确定了数据需分配内存空间的大小,数据在内存的存储方式。

四、Java数据类型在内存中的存储:

1)基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面八种数据类型是这种存储模型

2)引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,昆明北大青鸟http://www.kmbdqn.cn/认为“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的。

java中的数据类型分两大类分别是基本类型和引用数据类型。

一、基本类型

1)Java中的数据类型有八种,即基本类型。具体如下:

数据类型位数取值范围:

Boolean1True|False

Byte8-128~127

Short16-32768~32767

Int32-2e31~2e31-1

Long64-2e63~2e63-1

Float32略

Double64略

Char160~65535

‘/u0000’~’uFFFF‘

二、引用数据类型

1)定义一个byte变量如:byteb=-256;

由于-256超出了’Byte’的取值范围,所以要使程序不报错,有一下几种解决方法:

A:更改变量的数据类型(如:将byte改为int)

B:更改变量名的赋值,使其包括在变量的数据类型的值域内;

C:进行强制转换:如:byteb=(byte)-256:

‘进行强制转换后,虽然程序不在报错,但是有可能会使原值的精度收到影响’

D:定义一个浮点类型数时,记得要在数值的后面加上“f”或“F”。(如:Floatf=10000.0f;)

E:若定义Charc=a;定义intn=c;则输出的n值为“a“的ASCII值,即97。

2)引用数据类型的定义

A:对象都是引用数据类型

B:应用类型使用NEW调用构造方法进行赋值

C:在Java中,除了基本数据类型以外,其余的全都属于引用数据类型,如:

a:API中的类,如String,File等;

b:数据;

c:自定义的类,如Cars,Student

d:对象全部是引用数据类型。

扩展资料

其他数据类型:

在java中,String本身也提供了很多的方法供我们使用:

获取到指定索引位置的字符:charc=字符串.charAt(索引位置)

获取到指定索引位置的字符:charc=字符串.charAt(索引位置)

获取第一次出现在字符串中的字符:intindex=字符串.index('a')

获取在字符串中字符的索引位置:intindex=字符串.index('a',1)

如果想比较两个字符串是否相等:字符串.equeals(字符串)

判断字符串是否为空:字符串.isEmpty()

获取字符串的长度:字符串.length()

根据某一个条件,将字符串进行分割:字符串.split("abc")

根据条件取出内容:字符串.substring(开始位置,结束位置)

java的基本数据类型有:

1、布尔型(boolean)

取值范围:True 或 False

2、字节型(byte)

取值范围:0 - 255

3、短整型(short)

取值范围:-32,768 ~ 32767

4、整型(int)

取值范围:-2,147,483,648 ~ 2,147,483,647

5、长整型(long)

取值范围:-9223372036854775808~9223372036854775807

6、单精度浮点型(float)

负数范围:

-3.402823E38 ~ -1.401298E-45

正数范围:

1.401298E-45 ~ 3.402823E38

7、双精度浮点型(double)

负数范围:

-1.797,693,134,862,32E308 ~

-4.940,656,458,412,47E-324

正数范围:

4.940,656,458,412,47E-324 ~

1.797,693,134,862,32E308

8、字符型(char)

取值范围:'\u0000'~'\ufff'

扩展资料

任何数据类型的数组都需要 20 个字节的内存空间,加上每一数组维数占 4 个字节,再加上数据本身所占用的空间。数据所占用的内存空间可以用数据元数目乘上每个元素的大小加以计算。

例如,以 4 个 2 字节之 Integer 数据元所组成的一维数组中的数据,占 8 个字节。这 8 个字节加上额外的 24 个字节,使得这个数组所需总内存空间为 32 个字节。

参考资料:百度百科——数据类型