一、变量数据类型
1.Java是一门强类型的编程语言,它对变量的数据类型有严格的限定。强类型包含以下两方面的含义:
所有的变量必须先声明、然后再使用。
指定类型的变量只能接受类型与之匹配的值。
java变量数据类型分为两种,基本数据类型和引用数据类型。
如下图所示:
二、基本数据类型
(一)整型类型变量
整型类型变量用来存储整数数值,也就是没有小数部分的值。整型类型分为4种不同类型:
字节型(byte)、短整型(short)、整型(int)、长整型(long),这4种类型所占的存储空间大小和取值范围如下所示:
以上这个表,列出了4种不同类型的所占空间和取值范围。占用空间表示不同类型的变量分别占用的内存大小。字节表示的是byte类型,1个字节,在需要逐字节处理数据时(如图像处理),使用byte类型。如果表示整数,就可以表示-127~128的整数。取值范围表示的是不能超出这个范围。
需要注意的一个long类型,变量赋值的时候需要在后面加个L,说明赋值为long类型。
如下所示:
- long a=9999999999999; //错误,9999999999999超出了默认的int型的取值范围。
- Long a=9999999999999L; //正确,后面加上L或l表示long型。
byte类型变量赋值
- byte a = 56; //正确,允许byte或short范围内的直接赋值给byte或short。
(二)浮点型
浮点型主要存储小数数值。可分为单精度浮点型(float)和双精度浮点型(double)。double所用占用空间比float多,也比较精确。这两个类型所占空间和取值范围如下所示:
以上这个表,列出了2种类型的所占空间和取值范围。在取值范围中E表示以10为底的指数。e后面的+号和-号表示正指数和负指数,例如5.12e+2表示5.12乘10的2次方。
在一个float类型的变量赋值需要注意,所赋值的后面加F或f。例如:
- float a=123.5f; //给float类型的变量赋值,后面需要加字母f
double类型的变量赋值,后面可以加D或d,也可以不加。
- double a1=100.1;//给double类型的变量赋值,后面可以不需要加d;
- double a2=123.2d;//给double类型的变量赋值,后面可以加d;
还有一个需要注意3个特殊浮点值:
正无穷大:double或float的POSITIVE_INFINITY。正数除以0的结果。
负无穷大:double或float的NEGATIVE_INFINITY。负数除以0的结果。
非数:double或float的NaN。0.0除以0.0或对一个负数开方的结果。
所有正无穷大数值都相等,所有负无穷大数值都相等,NaN不与任何数值(包括自身)相等。
(三)字符型
1.Java中采用Unicode编码的16位字符类型,表示范围为0~65536。ASCII字符集是Unicode的子集,其取值范围为0~127。
2.字符类型变量是用来存储一个单一字符,用char表示。char类型的字符变量占用空间是2个字节。在给char类型的变量赋值,需要用单引号把字符括起来。例如’a’,’9’。也可以把char类型的变量赋值为0到65535范围内的整数。例如数值97对应的字符是’a’。
具体例子以下所示:
- char c=’a’ ;//给char类型的变量的c赋值字符’a’
- char c1=97; //给char类型的变量的c1赋值数值为97,相当于字符’a’
(四)布尔型
布尔类型用来存储布尔值。用boolean这个类型的值只有2个,true和false。
具体例子如下所示:
- boolean a =false;//声明一个boolean类型变量a,初始值为false;
- a=true;//改变a的值为true
需要注意的两个点:
1.字符串"true"和"false"不会直接转换成boolean类型。
2.boolean类型的值和字符串进行连接运算,则boolean类型的值将会自动转换成字符串。 如:String s = true + "";
二、总结
本文主要介绍了变量数据类型分为基本数据类型和引用数据类型,详细介绍了基本数据类型包括了整型类型、浮点型、字符型、布尔型。
整型类型4种不同类型,分别有字节型(byte)、短整型(short)、整型(int)、长整型(long),这4种类型所占用空间和取值范围,注意一个长整型(long),变量赋值后面需要加个L。
浮点型分为单精度浮点型(float)和双精度浮点型(double),这两种类型的所占空间和取值范围,需要注意一个单精度浮点型(float)后面需要加个f。字符型是存储一个单一字符,用char表示。
布尔类型是存储布尔值。布尔值只有true和false。希望通过本文的学习,能够帮助你理解基本的数据类型。