java语言基本语法------数据类型

java语言中数据类型分为8中基本数据类型和3中引用数据类型。

分类情况如图:

一、基本数据类型

因数据类型在内存中所占用的字节数不同,因此它们存储的取值范围也不同。如图所示:

1.整数型

声明为整数类型的常量或变量用来存储整数,整数型包括字节型(byte)、短整型(short)、整型(int)和长整型(long)4个基本数据类型。

程序中出现的所有整数常量值默认都是int类型

在为long型常量或变量赋值时,需要在所赋值的后面加上一个字母“L”(或“l”),说明所赋的值为long型,如果所赋的值未超出int型取值范围,也可以省略字母“L”(或“l”)。例如:

long a = 9876543210L;   //所赋值超出int的取值范围,必须加上字母"L"
long b = 987654321L;    //所赋值未超出int的取值范围,可以加上字母"L"
long b = 987654321;    //所赋值未出int的取值范围,也可以省略字母"L"

2.浮点类型

声明为浮点类型的常量或变量用来存储小数(也可以存储整数)。浮点类型包括单精度型(float)和双精度型(double)2个基本数据类型。

程序中出现的所有浮点常量值默认都是double类型。

在为float型常量或变量赋值时,需要在所赋值的后面加上一个字母“F”(或“f”),说明所赋的值为float型,如果所赋的值为整数,并且未超出int型取值范围,也可以省略字母“F”(或“f”)。例如:

float a = 9412.75f;                        //所赋值为小数,必须加上字母“f”
float b = 9876543210f;                     //所赋值超出了int型取值范围,必须加上字母“f”
float c = 9412f;                           //所赋值未超出int型取值范围,可以加上字母“f”
float d = 9412;                            //所赋值未超出int型取值范围,也可以省略字母“f”

3.字符型

声明为字符型的常量或变量用来存储单个字符,它占用内存的两个字节来存储,字符型利用关键字“char”进行声明。

在为char型常量或变量赋值时,如果所赋的值为一个英文字母、符号或汉字,必须将所赋的值放在英文状态下的一对单引号中。例如:

char a = 'M';                    //将大写字母"M"赋值给char型变量
char b = '*';                    //将符号"*"赋值给char型变量
char c = '男';                    //将汉字“男”赋值给char型变量

java采用Unicode字符编码,Unicode使用两个字节表示一个字符,并且Unicode字符集中的前128个字符与ASCII字符集兼容。

java与C、C++一样,同样把字符作为整数对待,在赋值时可以把0~65535的整数赋值给char型常量或变量,但在输出时并不是所赋的整数。例如:下面的代码把整数88赋值给char型变量c,在输出c时得到的是大写字母“X”:

char c = 88;                        //将整数88赋值给char型变量c
System.out.println(c);                //输出变量c,将得到大写字母“X”

如果要将数字0~9以字符的形式赋值给char型变量或常量,赋值方式为将数字0~9放在英文状态下的一对单引号中。例如:

char c = '6';                //将数字“6”赋值给char型变量

4.布尔型

声明为布尔型的常量或变量用来存储逻辑值,逻辑值只有true和false,分别用来代表逻辑判断中的“真”和“假”,布尔型变量用关键字“boolean”进行声明

可以将逻辑值true和false直接赋给boolean变量,例如:

package cn.edu.nefu;

public class Test {

	public static void main(String[] args) {
		boolean a = true;		//将逻辑值true赋值给boolean型变量
		boolean b = false;		//将逻辑值false赋值给boolean型变量
		System.out.println("a is "+a);	
		System.out.println("b is "+b);
	}
}

控制台输出结果为:

也可以将逻辑表达式赋值给boolean型变量,例如:

package cn.edu.nefu;

public class Test {

	public static void main(String[] args) {
		boolean a = 6<8;		//将逻辑表达式6<8赋值给boolean型变量
		boolean b = 6>8;		//将逻辑表达式6>8赋值给boolean型变量
		System.out.println("6<8 is "+a);	
		System.out.println("6>8 is "+b);
	}
}

控制台输出结果为:

二、引用数据类型

引用数据类型包括类引用,接口引用和数组引用。例如:

package cn.edu.nefu;

import java.util.List;

public class Test {

	public static void main(String[] args) {	
		Object object = null;	//声明一个java.lang.Object类的引用,并初始化为null
		List list = null;		//声明一个java.util.List接口的引用,并初始化为null
		int[] month = null;		//声明一个int型数组的引用,并初始化为null
		System.out.println("object is "+object);
		System.out.println("list is "+list);
		System.out.println("month is "+month);
	}
}

控制台输出结果为:

在具体初始化引用数据类型时要注意,对接口引用的初始化需要通过接口的相应实现类实现。例如下面的代码在声明并具体初始化接口引用list时,是通过java.util.List的实现类import java.util.ArrayList实现的。

package cn.edu.nefu;

import java.util.ArrayList;
import java.util.List;

public class Test {

	public static void main(String[] args) {	
		Object object = new Object();	//声明并具体初始化一个java.lang.Object类的引用
		List list = new ArrayList();	//声明并具体初始化一个java.util.List接口的引用
		int[] month = new int[12];		//声明并具体初始化一个int型数组的引用
		System.out.println("object is "+object);
		System.out.println("list is "+list);
		System.out.println("month is "+month);
	}
}

控制台输出结果为:

猜你喜欢

转载自blog.csdn.net/sunshinecollege/article/details/81604518