Java 语言是一个“强类型”的语言,在声明任何变量时,必须将该变量定义为一种数据类型。Java中的数据类型包括:基本数据类型和对象类型。对象类型不属于本章所讲述的内容,本节主要介绍数据的基本类型。Java 程序中,
总共有 8 大基本类型,其中 4 种整型、1 种字符型、2 种浮点型、1 种布尔型
,除了这几种基本类型外,其他都属于对象类型的数据。
1.字节型
用一个字节来表示整数值,它的范围介于-128~127 之间。通常这种类型的整型数据,拥有上节中提到的所有进制。但无论采用哪种进制,在输出控制台上,系统都会将其自动转化为十进制,从下列代码段可以得到证实。
public class Byte{
public static void main(String[] args){
byte x=22;
byte y=022;
byte z=0x22;
System.out.println("转化成十进制,x="+ x);
System.out.println("转化成十进制,y="+ y);
System.out.println("转化成十进制,z="+ z);
}
}
运行结果:
转化成十进制,x=22
转化成十进制,y=18
转化成十进制,z=34
2.短整型
用两个字节表示整数值,其整数值介于-32768~32767 之间,其十进制、八进制、十六进制的声明方法分别为为:
short x=22; short y=022; short z=0x22;
其实,在实际编程过程中,开发者最常用的整型是 Int型。
3.Int型
Int 型又被称作是整数型,用四个字节来表示整数值,其整数值介于-2147483648 和 2147483647 之间。Int 型拥有以上所说的各种进制,其十进制、八进制、十六进制的声明方法分别为:
int x=22; int y=022; int z=0x22;
4.长整型
长整型用八个字节表示整数型,其数值介于-9223372036854775808~9223372036854775807 之间。它所有特性基本与前几种整型一样,惟一不同的是,长整型的数据后面有一个“L”字母,这个也是从表现形式上,区别于其他整型的最大特征。其十进制、八进制、十六进制的声明方法分别为:
long x=22L; long y=022L; long z=0x22L;
可以看出,4 种不同的整型类型的数据,在程序段中所表现出来的运行结果几乎是一样的。不同的是每个类型数据的取值范围不一样,随着字节数增多,而取值范围增大。虽然长整型的数据可以表示很大的数据,但如果超过了长整型的数据取值范围,该如何处理这些数据呢?在 Java中,有一种大数字类型的数据,由于它属于对象类型数据,所以此处不作介绍。
总之,字符数据类型只能表示单个字符,任何超过一个字体的内容,都不能被声明为字符型。字符的声明是用单引号,通过输出控制台,看到的是单引号内的字符数据。通过下列的程序代码,来看看字符型数据是如何输出的。
public class Char{
public static void main(String[] args){
char x='微';
char y='学';
char z='苑';
System.out.println("这些字符组合起来就是:"+x+y+z );
}
}
运行结果:
这些字符组合起来就是:微学苑
字符型的数据和整型数据都是无小数点的数据,下面将要讲述的类型则是带小数点的数据,用专业术语来讲,就是浮点型。
1.单精度浮点型数据
单精度浮点型占四个字节,有效数字最长为 7 位,有效数字长度包括了整数部分和小数部分。一个单精度浮点型的数据定义如下所示:
float x=223.56F; 或 float x=223.56f;
注意:在每个单精度浮点型数据后面,都有一个标志性符号“F”或者“f”,有这个标志就代表是单精度浮点型数据。
下面演示单精度浮点型数据,在程序代码段中的使用情况。
public class Float{
public static void main(String[] args){
float x=22.2f;
float y=42.2f;
float z=x*y;
System.out.println("x*y="+z);
}
}
运行结果:
x*y=936.84
提示:如果在一个浮点数后面加上“F”或者“f”时,代表的就是单精度浮点型数据,否则,系统会认为是双精度浮点型数据。
2.双精度浮点型数据
双精度浮点型数据占据八个字节,有效数字最长为 15 位。由于单精度浮点型数据的有效数字长度是 7 位,所以称之为双精度浮点型数据。其与单精度浮点型数据一样,后面也带有标志性符号“D”或“d”,而系统默认不带标志性符号的浮点型数据,就是双精度浮点型数据。双精度浮点型数据的定义如下所示:
double x=33.5D; 或 double x=33.5d;
下面有一个简单的程序段代码。
public class Double{
public static void main(String[] args){
float x=23f;
double y=44;
System.out.println("x="+x);
System.out.println("y="+y);
}
}
运行结果:
x=23.0
y=44.0
从这个程序段代码中可以看出,即使浮点型数据是一个只有整数位没有小数位的数据,在输出控制台上,其仍然是带小数点的浮点数据,系统会自动加上小数点,并且小数位全部置为 0。
public class Boolean{
public static void main(String[] args){
int a=30;
int b=59;
boolean x,y,z;
x=(a>b);
y=(a<b);
z=((a+b)==50);
System.out.println("x="+x);
System.out.println("y="+y);
System.out.println("z="+z);
}
}
当说“a>b”时,不等式不成立,所以它的结果是假。
当说“a<b”时,不等式成立,所以它的结果是真。
布尔型数据的使用是在只有两种选择,不可能出现第三种选择的时候。
一.整型
整型就是整数类型,也就是没有小数点的数字,可以是正数也可以是负数。 在 Java 中,总共的整型主要有 4 种:字节型(Byte)、整型(Int)、短整型(Short)、长整型(Long) 。1.字节型
用一个字节来表示整数值,它的范围介于-128~127 之间。通常这种类型的整型数据,拥有上节中提到的所有进制。但无论采用哪种进制,在输出控制台上,系统都会将其自动转化为十进制,从下列代码段可以得到证实。
public class Byte{
public static void main(String[] args){
byte x=22;
byte y=022;
byte z=0x22;
System.out.println("转化成十进制,x="+ x);
System.out.println("转化成十进制,y="+ y);
System.out.println("转化成十进制,z="+ z);
}
}
运行结果:
转化成十进制,x=22
转化成十进制,y=18
转化成十进制,z=34
2.短整型
用两个字节表示整数值,其整数值介于-32768~32767 之间,其十进制、八进制、十六进制的声明方法分别为为:
short x=22; short y=022; short z=0x22;
其实,在实际编程过程中,开发者最常用的整型是 Int型。
3.Int型
Int 型又被称作是整数型,用四个字节来表示整数值,其整数值介于-2147483648 和 2147483647 之间。Int 型拥有以上所说的各种进制,其十进制、八进制、十六进制的声明方法分别为:
int x=22; int y=022; int z=0x22;
4.长整型
长整型用八个字节表示整数型,其数值介于-9223372036854775808~9223372036854775807 之间。它所有特性基本与前几种整型一样,惟一不同的是,长整型的数据后面有一个“L”字母,这个也是从表现形式上,区别于其他整型的最大特征。其十进制、八进制、十六进制的声明方法分别为:
long x=22L; long y=022L; long z=0x22L;
可以看出,4 种不同的整型类型的数据,在程序段中所表现出来的运行结果几乎是一样的。不同的是每个类型数据的取值范围不一样,随着字节数增多,而取值范围增大。虽然长整型的数据可以表示很大的数据,但如果超过了长整型的数据取值范围,该如何处理这些数据呢?在 Java中,有一种大数字类型的数据,由于它属于对象类型数据,所以此处不作介绍。
数据类型 | 所占位数 | 数的范围 |
---|---|---|
byte | 8 | -27~27-1 |
bhort | 16 | -215~215-1 |
int | 32 | -231~231-1 |
long | 64 | -263~263-1 |
二.字符型
字符型数据是平时程序设计中,使用比较频繁的类型,其占两个字节。 特别注意的是它必须以单引号表示,例如‘A’表示一个字符,这个字符就是 A。“A”表示一个字符串,虽然其只有一个字符,但因为使用双引号,所以它仍然表示字符串,而不是字符。总之,字符数据类型只能表示单个字符,任何超过一个字体的内容,都不能被声明为字符型。字符的声明是用单引号,通过输出控制台,看到的是单引号内的字符数据。通过下列的程序代码,来看看字符型数据是如何输出的。
public class Char{
public static void main(String[] args){
char x='微';
char y='学';
char z='苑';
System.out.println("这些字符组合起来就是:"+x+y+z );
}
}
运行结果:
这些字符组合起来就是:微学苑
字符型的数据和整型数据都是无小数点的数据,下面将要讲述的类型则是带小数点的数据,用专业术语来讲,就是浮点型。
三.浮点型
浮点型数据表示有小数部分的数字,总共有两种类型组成: 单精度浮点型(float)和双精度浮点型(double) 。1.单精度浮点型数据
单精度浮点型占四个字节,有效数字最长为 7 位,有效数字长度包括了整数部分和小数部分。一个单精度浮点型的数据定义如下所示:
float x=223.56F; 或 float x=223.56f;
注意:在每个单精度浮点型数据后面,都有一个标志性符号“F”或者“f”,有这个标志就代表是单精度浮点型数据。
下面演示单精度浮点型数据,在程序代码段中的使用情况。
public class Float{
public static void main(String[] args){
float x=22.2f;
float y=42.2f;
float z=x*y;
System.out.println("x*y="+z);
}
}
运行结果:
x*y=936.84
提示:如果在一个浮点数后面加上“F”或者“f”时,代表的就是单精度浮点型数据,否则,系统会认为是双精度浮点型数据。
2.双精度浮点型数据
双精度浮点型数据占据八个字节,有效数字最长为 15 位。由于单精度浮点型数据的有效数字长度是 7 位,所以称之为双精度浮点型数据。其与单精度浮点型数据一样,后面也带有标志性符号“D”或“d”,而系统默认不带标志性符号的浮点型数据,就是双精度浮点型数据。双精度浮点型数据的定义如下所示:
double x=33.5D; 或 double x=33.5d;
下面有一个简单的程序段代码。
public class Double{
public static void main(String[] args){
float x=23f;
double y=44;
System.out.println("x="+x);
System.out.println("y="+y);
}
}
运行结果:
x=23.0
y=44.0
从这个程序段代码中可以看出,即使浮点型数据是一个只有整数位没有小数位的数据,在输出控制台上,其仍然是带小数点的浮点数据,系统会自动加上小数点,并且小数位全部置为 0。
数据类型 | 所占位数 | 数的范围 |
---|---|---|
float | 32 | 3.4e-038 ~3.4e+038 |
double | 64 | 1.7e-038 ~1.7e+038 |
四.布尔型
布尔型数据其实很简单,如果有人问:去不去麦当劳,可以说不去。如果有人问去不去看电影,可以说去。这里就隐藏着布尔型的数据,布尔型数据就是“是”与“否”。在程序中使用“真”和“假”来代替“是”与“否”,即“true”和“false”。仔细观察下列程序代码:public class Boolean{
public static void main(String[] args){
int a=30;
int b=59;
boolean x,y,z;
x=(a>b);
y=(a<b);
z=((a+b)==50);
System.out.println("x="+x);
System.out.println("y="+y);
System.out.println("z="+z);
}
}
当说“a>b”时,不等式不成立,所以它的结果是假。
当说“a<b”时,不等式成立,所以它的结果是真。
布尔型数据的使用是在只有两种选择,不可能出现第三种选择的时候。
在程序设计的过程中,当要对一个参数的是与否采取不同的行动时,可以将这个参数设为布尔型数据。也就是说,如果一个参数只有正和反两方面,就可以将其设置为布尔型变量。