- 基本数据类型:基本数据类型的数据只能保存单一的值,因此也被称为原始类型、或简单类型
- Java中定义了四类/八种基本数据类型:
逻辑型—Boolean
文本型—char
整数型—byte、short、int、long
浮点型—float、double - 整形:整形数据用于保存整数的信息,Java提供了四种不同的整数类型,各有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性
byte 1字节 -128~127
short 2字节 -2(15)~2(15)-1
int 4字节 -2(31)~2(31)-1
long 8字节 -2(63)~2(63)-1 - 整形常量表示:Java语言中整形常量中的三种表现形式:
十进制整数:如12,-89,0
八进制整数:要求以0开头,如012
十六进制整数:要求0x或0X开头,如0x12
Java语言的整数常量默认为int型,声明long型常量可以后加“l”或“L‘
public class test {
public static void main(String[] args) {
int a = 39;
int b = 0x4b;
int c = 021;
int d = a+0x12+012;
long m = 3L;
long n = m + 40;
System.out.println(a+" "+b+" "+c+" "+d+" "+m+" "+n);
}
}//运行结果: 39 75 17 67 3 43
- 浮点型常量表示
Java浮点类型常量有两种表示形式
十进制—必须含有小数点,也可采用科学计数法表示,例如:3.65 0.12 .12 4.2e2 1.2E-3
十六进制—从JDK5.0开始引入,十六进制浮点数只能采用科学计数法表示,其格式为:<0x/0X><十六进制尾数><p/P><以2为底的指数>
例如:0x1.2p3,转化为十进制的计算方法为:
0x1.2p3=(11+21/16)*3=9.0
Java浮点型常量默认为double型,如要声明float型常量,则需在数字后加f或F
double d = 3.14;
float f = 3.14f - 字符型:
基本类性:字节、字符、字符集、字符编码。
Char型数据类型用来表示通常意义上的“字符“,Java语言采用16位Unicode编码保存,c语言采用8位Unicode编码保存.
字符常量的三种表示方法:
(1) 使用单引号括起来的单个字符:char c = ‘A’;
(2) 十六进制编码:char c1 = ‘\u0061’;
(3) 使用转义符:char c2 = ‘\n’; //换行 - 布尔类型:
Boolean类型数据用来表示只有两种状态的逻辑值,分别表示现实生活中的特定条件成立与否,通常用于逻辑运算和程序流程控制。
Boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和flase。
public class test {
public static void main(String[] args) {
boolean b = true;
if(b == false){
System.out.println("haha");
}else{
System.out.println("hehe");
}
}
}
- 引用数据类型:Java中除八种基本数据类型以外,其他的数据类型统称为引用类型,具体包括:类、接口、数据、枚举和注解类型。
引用类型数据以对象的形式存在。
引用类型变量的值是某个对象的句柄,而不是对象本身。
声明引用类变量时,系统只为该变量分配引用空间,并未创建一个具体的对象。
数组:有[ ] 例: String[] args - 引用数据类型:类、接口、数据、枚举和注解类型。
引用数据类型可以用户自定义
引用数据类型都为对象
引用数据类型是引用的对象的句柄
创建引用数据类型只分配引用空间不去创建对象。
注明:使用引用数据类型时可以表述为引用该对象的内存地址。 - 对象构造和初始化(1)
为引用类型变量分配引用空间 :语句MyDate d1;
创建新对象—为新对象分配内存空间,并进行属性(实例变量)的默认初始化:语句d1 = new MyDate(8,8,2008); - 对象构造和初始化(2)
Java对象默认初始化规则
public class test {
public static void main(String[] args) {
int a;//基础数据类型
//int e = a + 2; //错误,整形值为默认初始化值时不能做运算
long b;
char c ;
float d;
double f;
Student student;//引用数据类型
//System.out.println("我是整形的默认初始化:"+a); //错误,
//System.out.println("我是整形的默认初始化:"+student); //错误,
}
}
//虽然数据类型都有默认初始化规则,但是在Java中引用变量时也必须对该变量进行初始化操作,否则会报未初始化错误。
12. 对象构造和初始化(3)
进行属性的显示初始化,显示初始化取值来自于类的定义中属性声明部分。
语句:private int day = 17;
private int month = 2;
private int year = 2007;
说明:如果属性在声明时未指定缺省值,则在这个环节就不对其进行赋值操作。
初始化规则是在内存空间中使用的。
13. 对象构造和初始化(4)
执行构造方法体中的语句。
语句:
MyDate(int d, int m ,int y){
day = d;
month = m ;
year = y;
}
说明:此时新建对象和先前声明的变量d1间还是没有建立任何关联。
有关联:实例化后。
14. 对象构造和初始化(5)
为引用类型表量赋值
语句:d1 = new MyDate(8,8,2008);
说明:此时变量d1保存的并不是新建对象封装的具体信息、如属性值等,而该是对象的句柄。