对于刚接触java语言的我来说,因为与c语言的数据类型还有较大出入,所以在网上找到一些资料然后整合了一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。
一、数据类型:
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
2.引用数据类型:
一般分为数组,类,和接口三种。
例如:String就是一个引用数据类型,它属于“类”的范畴。
二、Java数据类型基本概念:
数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。
基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。
引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。
三、类型之间的注意事项:
1:java开发过程中整型用int、小数用double、布尔用boolean;
2:类型转换都是小范围向大范围转换,大范围往小范围转化需要用到强制转换;
例如:(1)int a=12;double b=a;(2)double a=3.0;int b=(int)a;
3:long,byte,char等很少用到,一般在数据处理的时候会用到;
4:int跟char之间的转换是通过ASCII转化的;
例如:char a ='A';int b=a;System.out.prientln(b);最后输出的结果为65;
5:String类型,String是项目中必不可少且使用最多的数据类型,它属于引用数据类型中“类”的范畴。
6:String和整型的相互转换:
String a = "21";int b = Integer.parseInt(a);//String 转int。
int a = 21; String b = String.valueOf(a);//int转String。
四、String,StringBuffer和StringBuilder的区别:
1.String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的;
2.在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的;
3.String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况