---------- android培训、java培训、期待与您交流! ----------
无论学习那种语言,首先都需要了解这们语言的数据类型,Java是一种强类型的语言,对于每一个变量都要明确它的数据类型,这点和c/c++是一致的,有别于像 Linux的shell 、JavaScript、这样的弱类型语言。Java的数据类型可分为两大类,基础类型、引用类型。基础类型分为四类一共八种,整型:byte、short、int、long,浮点型:float,double,布尔型:boolean,字符型:char。引用类型分为三类,分别是,类、接口、还有数组。
用树状方式表示
----- 整数类型 ----- byte、short、int、long
----- 基本数据类型 ----- 浮点类型 ----- float、double
----- 字符型 ----- char
基础类型 ----- 布尔型 ----- boolean
----- 引用数据类型 ----- 类、接口、数组
Java变量时程序执行的最小的执行单元,变量实际是内存的一小块区域,使用变量名来访问这块区域,所以使用变量之前必须对它进行声明,然后必须进行赋值才能使用,这点对于基础类型和引用类型是一样的
例如:基本数据 int i = 0,引用类型String str = new String("Hello 黑马");
基础数据类型与引用类型的不同在于,基础类型表示的是具体一个值,而引用类型是指向堆空间上的一块区域,相当于c/c++的指针。
下面就具体说说这些个数据类型,
基础类型
整数类型
Java各数据类型有固定的占用字节数和表示范围,不受操作系统的影响,这点也是Java为了跨平台而设计的,不像c/c++的数据类型 所占字节数会受到操作系统还有编译器的不同而改变。Java整型变量的三种表示方式分别是,十进制,如5、-100;八进制,要求以 0开头,如:018;十六进制,要求以0x开头,如:0x12。Java整形常量默认为int,声明long类型的常量可以在后面加"l"或"L",如:l ong l = 123456L; byte类型,占用1字节空间,表示-128~127的数值范围;short类型,占用2字节的空间,表示-32768~32767的 数值范围;int类型, 占用4字节的空间,表示-2147483648~2147483647的数值范围;long类型,占用8个字节,它表 示-9223372036854775808~9223372036854775807的数值范围。可以通过这段代码获得,各整型表示的数值范围
System.out.println(Byte.MIN_VALUE +" " + Byte.MAX_VALUE);
System.out.println(Short.MIN_VALUE + " " + Short.MAX_VALUE);
System.out.println(Integer.MIN_VALUE + " " + Integer.MAX_VALUE);
System.out.println(Long.MIN_VALUE + " " + Long.MAX_VALUE);
浮点型
与整型类似,浮点型有固定的占用字节数和表示范围,不受平台的影响。Java浮点类型常量有两种表示形式,分别是,十进制, 如:5.20、520.0、.520;科学计数法,如:3.14e2。Java浮点型常量默认为double型,比如System.out.println(3.14),则括号内的 3.14会被Java认为是double类型而不是float类型。如果要声明一个float类型的常量,而需要在数字后面加上"f"或"F",例如:float f = 3.14f;float类型占用4字节,表示-3.403e38~3.403e38 的数值范围;double类型占用8个字节,表示的数值范围 是-1.798e308~1.798e308。同样可以通过代码,获得各浮点类型的范围
System.out.println(Float.MIN_VALUE +" " + Float.MAX_VALUE);
System.out.println(Double.MIN_VALUE + " " + Double.MAX_VALUE);
字符型
char类型用来表示通常意义上的字符,字符常量为单引号括起来的单个字符,例如:char c1 ='a';Java字符采用Unicode编码,每 个字符占两个字节,因此可用十六进制编码形式表示,例如:char c1 = '\u0061';底层这些字符时使用整型数据表示的,比如可以 打印出'a',结果是a的assic码值97.
布尔型
boolean类型用于逻辑计算,一般用于程序流程的控制,如:if,while语句。boolean类型只允许取值true或false,有区别于c,不可以 使用0或非0代替true和false。
引用类型
Java中除基本类型以外的数据类型都称之为引用类型,Java中的对象就是通过引用对其操作的,例如
类的引用
String str;
str = new String("hello");
接口的引用
List list;
list = new ArrayList();
数组的引用
String[] strs;
strs = new String[5];
引用类型指向的内容都是分配在堆空间的,也可以说是只要是new出来的东西都是被分配在堆空间的,而引用类型本身是被分配在 栈空间的,这点和基本类型一样。当没有引用指向一个对象时,这个对象会在适当的时候被垃圾回收掉,所以我们的程序中,若一 个对象不在使用,推荐把指向它的引用设置为null,这样有利于垃圾回收。
---------- android培训、java培训、期待与您交流! ----------
详细请查看:http://edu.csdn.net/