一、基本数据类型:
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内存堆和内存栈来进行这种类型的数据存储,简单地讲,北京北大青鸟认为“引用”是存储在有序的内磨野存栈上的,而对象本身的值存储在内存堆上的。
java基本数据类型就8种,记住就好了。除了这些都是引用型的了游旅。链州java四类八种基本数据类型
第一类:整型 byte short int long
第二类:浮点型 float double
第三类:逻辑型 boolean(它只有两个值可取true false)
第四类:字符型 char
在栈中可以直接分配内存的数据是基本数据类型。
引用数据类型:是数据的引用在栈中,但是他的对象在堆中。
要想学好Java必须知道各种数据的在内存中存储位置。 对内存有了很好的了解,可以有助你分析程序。
字节:
boolean 布尔型 1/8
byte 字节类型 1
char 字符型 2 一个字符能存储一个中文汉字
short 短整型2
int 整数类型4
float 浮点类型(单精度)4
long 长整形 8
double 双精度类型(双精度) 8
java中默认的整数类型是int类型,如果要定义为float型,则要在数值后加上l或L;
默认的浮点型也是双精度浮点,如果要定义为float型,则要在数值后加上f或F。
一个字节等于8位,一个字节等于256个数,就是-128到127一共256。
kB就是kBytes Bytes就是“字节”的意思!
K就是千的意思,因为计算机是通过二进制来计算,10个1正好是1024
1111111111(二进制)=1024(十进制)
1Bytes(字节)=8bit(比特)
一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节
一个汉字就是两个字符,占用两个字节。
一般讲大小是用Bytes,大写的“B”,讲网络速率是用bit,注意是小写的“b”。
例:一个文件有8MBytes
例:我下载神唤凳文件的速率是256KB/s,即2Mbit,这通常就是我们宽带上网的速率。
基本数据类型自动转换
byte->short,char ->int ->long
float ->double
int ->float
long ->double
记住:小可转大,大转小会失去精度!!!
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 个字节。
参考资料:百度百科——数据类型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)