学科分类
目录
Java基础

变量的数据类型

Java是一门强类型的编程语言,它对变量的数据类型有严格的限定。在定义变量时必须先声明变量的数据类型,在为变量赋值时必须赋予和变量同一种类型的值,否则程序在编译期间就会出现类型匹配错误的问题。

在Java中变量的数据类型分为两种:基本数据类型和引用数据类型。Java中所有的数据类型如图1所示。

图1 数据类型

其中,8种基本数据类型是Java语言内嵌的,在任何操作系统中都具有相同大小和属性,而引用数据类型是在Java程序中由编程人员自己定义的数据类型。本章此处重点介绍的是Java中的基本数据类型,引用数据类型会在以后的章节中进行详细地讲解。

1.整数类型变量

整数类型变量用来存储整数数值,即没有小数部分的值。在Java中,为了给不同大小范围内的整数合理地分配存储空间,整数类型分为4种不同的类型:字节型(byte)、短整型(short)、整型(int)和长整型(long),四种类型所占存储空间的大小以及取值范围如表1所示。

表1 整数类型

类型名 占用空间 取值范围
byte 8位(1个字节) -27 ~ 27-1
short 16位(2个字节) -215 ~ 215-1
int 32位(4个字节) -231 ~ 231-1
long 64位(8个字节) -263 ~ 263-1

表1中,列出了4种整数类型变量所占的空间大小和取值范围。其中,占用空间指的是不同类型的变量分别占用的内存大小,如一个int类型的变量会占用4个字节大小的内存空间。取值范围是变量存储的值不能超出的范围,如一个byte类型的变量存储的值必须是-27 ~ 27-1之间的整数。

在为一个long类型的变量赋值时需要注意一点,所赋值的后面要加上一个字母“L”(或小写“l”),说明赋值为long类型。如果赋的值未超出int型的取值范围,则可以省略字母“L”(或小写“l”)。具体示例如下:

long num = 2200000000L; // 所赋的值超出了int型的取值范围,后面必须加上字母L
long num = 198L;          // 所赋的值未超出int型的取值范围,后面可以加上字母L
long num = 198;             // 所赋的值未超出int型的取值范围,后面可以省略字母L

2.浮点数类型变量

浮点数类型变量用来存储小数数值。在Java中,浮点数类型分为两种:单精度浮点数(float)和双精度浮点数(double)。double型所表示的浮点数比float型更精确,两种浮点数所占存储空间的大小以及取值范围如表2所示。

表2 浮点类型

类型名 占用空间 取值范围
float 32位(4个字节) 1.4E-45 ~ 3.4E+38,-1.4E-45 ~ -3.4E+38
double 64位(8个字节) 4.9E-324 ~ 1.7E+308,-4.9E-324 ~ -1.7E+308

表2中,列出了两种浮点数类型变量所占的空间大小和取值范围,在取值范围中,E表示以10为底的指数,E后面的“+”号和“-”号代表正指数和负指数,例如1.4E-45表示1.4*10-45。

在Java中,一个小数会被默认为double类型的值,因此在为一个float类型的变量赋值时,所赋值的后面一定要加上字母“F”(或者小写“f”),而为double类型的变量赋值时,可以在所赋值的后面加上字符“D”(或小写“d”),也可以不加。具体示例如下:

float f = 123.4f;           // 为一个float类型的变量赋值,后面必须加上字母f或F
double d1 = 199.3d;       // 为一个double类型的变量赋值,后面可以加上字母d或D
double d2 = 100.1;           // 为一个double类型的变量赋值,后面可以省略字母d或D

在程序中也可以为一个浮点数类型变量赋予一个整数数值,例如下面的写法也是可以的。

float f = 100;                // 声明一个float类型的变量并赋整数值
double d = 100;            // 声明一个double类型的变量并赋整数值

3.字符类型变量

字符类型变量用于存储一个单一字符,在Java中用char表示。Java中每个char类型的字符变量都会占用2个字节。在给char类型的变量赋值时,需要用一对英文半角格式的单引号(' ')把字符括起来,如'a',也可以将char类型的变量赋值为0~65535范围内的整数,计算机会自动将这些整数转化为所对应的字符,如数值97对应的字符为'a'。下面的两行代码可以实现同样的效果。

char c = 'a';              // 为一个char类型的变量赋值字符'a'
char ch = 97;              // 为一个char类型的变量赋值整数97,相当于赋值字符'a'

4.布尔类型变量

布尔类型变量用来存储布尔值,在Java中用boolean表示,该类型的变量只有两个值,即true和false。具体示例如下:

boolean flag = false;     // 声明一个boolean类型的变量,初始值为false
flag = true;              // 改变flag变量的值为true
点击此处
隐藏目录