一、数据类型
基本数据类型:
字符类型(char)
布尔类型(boolean)
数值类型:整数类型 (byte、short、int、long)
浮点数类型 (float、double)
浮点型默认是double类型。
引用数据类型:
类(class)
接口(interface)
数组
1)基本数据类型:基本类型存储在栈中,因此它们的存取速度要快于存储在堆中的对应包装类的实例对象。
2)引用数据类型
注:void也是一种数据类型。它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。
下记代码是转载的
<span style="font-size:12px;">public class PrimitiveTypeTest {
public static void main(String[] args) {
// byte
System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
System.out.println("包装类:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
System.out.println();
// short
System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
System.out.println("包装类:java.lang.Short");
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();
// int
System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
System.out.println("包装类:java.lang.Integer");
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();
// long
System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
System.out.println("包装类:java.lang.Long");
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();
// float
System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
System.out.println("包装类:java.lang.Float");
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();
// double
System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
System.out.println("包装类:java.lang.Double");
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();
// char
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
System.out.println("包装类:java.lang.Character");
// 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台
System.out.println("最小值:Character.MIN_VALUE="
+ (int) Character.MIN_VALUE);
// 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台
System.out.println("最大值:Character.MAX_VALUE="
+ (int) Character.MAX_VALUE);
}
} </span>
运行结果<span style="font-size:12px;">1、基本类型:byte 二进制位数:8
2、包装类:java.lang.Byte
3、最小值:Byte.MIN_VALUE=-128
4、最大值:Byte.MAX_VALUE=127
5、
6、基本类型:short 二进制位数:16
7、包装类:java.lang.Short
8、最小值:Short.MIN_VALUE=-32768
9、最大值:Short.MAX_VALUE=32767
10、
11、基本类型:int 二进制位数:32
12、包装类:java.lang.Integer
13、最小值:Integer.MIN_VALUE=-2147483648
14、最大值:Integer.MAX_VALUE=2147483647
15、
16、基本类型:long 二进制位数:64
17、包装类:java.lang.Long
18、最小值:Long.MIN_VALUE=-9223372036854775808
19、最大值:Long.MAX_VALUE=9223372036854775807
20、
21、基本类型:float 二进制位数:32
22、包装类:java.lang.Float
23、最小值:Float.MIN_VALUE=1.4E-45
24、最大值:Float.MAX_VALUE=3.4028235E38
25、
26、基本类型:double 二进制位数:64
27、包装类:java.lang.Double
28、最小值:Double.MIN_VALUE=4.9E-324
29、最大值:Double.MAX_VALUE=1.7976931348623157E308
30、
31、基本类型:char 二进制位数:16
32、包装类:java.lang.Character
33、最小值:Character.MIN_VALUE=0
34、最大值:Character.MAX_VALUE=65535</span>
基本数据类型 | 内存占用 | 取值范围 | 包装类 |
byte | 1 字节(8 位) | -128 ~ 127(2^7 ~ 2^7-1) | Byte |
short | 2 字节(16 位) | -2^15 ~ 2^15-1 | Short |
int | 4 字节(32 位) | -2^31 ~ 2^31-1 | Integer |
long | 8 字节(64 位) | -2^63 ~ 2^63-1 | Long |
boolean | 1 字节(8 位) | true 或 false | Boolean |
char | 2 字节(16 位) | Unicode 0 ~ Unicode 2^16-1 | Character |
float | 4 字节(32 位) | -3.403E38~3.403E38 | Float |
double | 8 字节(64 位) | -1.798E308~1.798E308 | Double |
注:Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的“E+数字”表示E之前的数字要乘以10的多少倍。比如3.14E3就是3.14×1000=3140,3.14E-3就是3.14/1000=0.00314。
二) 基本数据类型之间的相互转换
1)布尔型不可以和其他数据类型转换。
2)数值类型有2种转换方法
a)自动转换
当把一个取值范围小的数据向取值范围大的数据转换时,会自动转换。
public class Lesson03_1{
public static void main(String[] args){
byte byte1=100;
short short1=10000;
char char1= 23002;
int int1= 1000000;
long long1= 9876543210L;
float float1= 9876543210.12345f;
double double1= 9876543210.123456789;
short short2=byte1;
// byte byte2=short1;
}
}
short向byte转化时,则会精度损失报错。
b)强制转换
强制转换时,会出现精度损失,short1是250转化成byte时,结果是-6.
public class Lesson03_2{
public static void main(String[] args){
short short1=100;
byte byte1=(byte)short1;
System.out.print(byte1);
}
}
三)字符串
public class Lesson03_4{
public static void main(String[] args){
String name1="nebulayao";
String name2=null;
name2=name1;
System.out.println("name2="+name2);
}
}
![](http://android.yaohuiji.com/wp-content/uploads/2010/09/image_thumb52.png)