先搞懂一下,为什么要分为不同的数据类型呢?JAVA虚拟机是在内存(RAM)中运行程序的,而内存的大小是有限的,内存的硬件价格也不菲,如果我们不合理使用,就会造成浪费和无序。JAVA程序也需要充分、高效地使用内存空间,那么需要为不同的数据类型分配不同大小的内存空间。例如十进制数字100,这个数不大,需要的空间也不多,所以就按照int类型的标准给100分配内存就可以了,而2的1000次方很大,需要的内存空间自然就大,素以就给他按照long类型分配内存空间。
既然java是一种强类型的语言,那么Java在使用变量之前必须对变量声明一个类型,说到数据类型就来谈谈JAVA中的数据类型,其实这些数据类型的英文名称也是JAVA关键字。
一、基本数据类型,包括三大类
(1)数值型,有两种
整数类型,有4种:byte short int long
浮点类,有2种:
float double 注意这个写法
(2)布尔型,也叫逻辑型,有2种:
true false
(3)文本类型,有字符型的char和String
char:使用char类型可表示单个字符。一个char代表一个16-bit无符号的(不分正负的)的Unicode字符,一个char文字必须包含在单引号内(‘’)
String不是原始类型,而是一个类(class),用来表示字符序列,可理解成一个String类型由多个char合在一起。String字符本身符合Unicode标准,且上述char类型的反斜线符号适用于String, 注意String不能用 \0作为结束。
二、引用数据类型
类class:例如String,被String修饰的变量就是字符串,字符串可以理解成是由多个char字符组成,如"good morning"
接口类型(interface type):例如写一个自定义的接口类型interface IntrName{<代码块>}
数组类型(array type):例如整型值为元素的一维数组int[5]中,总共有5个元素
【举例】
byte a =10; int b =128; int c = a%b; // 可以在一行内分别定义多个变量
char ch1 ='a'; // 也可以每一行定义一个变量
String c ="hello";
chard ='好'; //一个char只能存放2个字节,而每个汉字长度为2字节,故只能写一个汉字
float sf = 3.14F;
doubledf =6.18;
从网上看到别人写的数据类型小结,觉得很好,就顺便抄过来:
JAVA数据类型可以分为基础数据类型和引用类型。引用类型一般是用户自定义的类型,或是java自带的引用类型如String等等。
包装类型可以看作是基本数据类型的引用类型。Java为每一个基本数据类型提供了一个封装类,除了int(Integer)和char(Character)其余类型首字母大写即成封装类的类型名。如double (Double), float(Float),long(Long), short(Short),byte(Byte),boolean(Boolean).
以int和Integer为例,Java中int和Integer区别是:
int是基本的数据类型,默认值可以为0;
Integer是int的封装类,默认值为null;
int和Integer都可以表示某一个数值;
int和Integer不能够互用,因为他们是两种不同的数据类型。