Java中的数据类型,传说中的四类八种,你知道几个?
前言:
上一期说到Java中的变量的时候提到了数据类型,因为变量和数据类型是不分家的,所以在本期里介绍一下数据类型。
计算机的基本作用就是运算。要运算就需要数据,这些数据可以由用户输入、从文件中获得、慎重从网络中得到。数据有很多,不计其数,但是我们可以将数据进行一定的归类。
在Java中有八种(传说中的四类八种)基本数据类型来存储数值、字符和布尔值。如下图:
(Look,多清新的picture,是不是看上去心情都好多了呢?)
上一期中提到了“根据数据类型在内存中分配空间”,不同的类型的数据需要用不同大小的内存空间来存储,不同的数据在存储时所需要的空间各不相同。
一、整数类型
整合素类型用来存储整数数值,可以是正整数,也可以是负整数。整型数据在Java程序中有三种表示形式,分别为八进制、十进制和十六进制
八进制:如0123(转换成十进制数为83)、-0123(转换成十进制数为-83)
十进制:如0、100、-1024
十六进制:如0x25(转换成十进制数为37)、0Xb01e(转换成十进制数为-83)
注意:
八进制必须以0开头
十进制不能以0开头
十六进制必须以0X或者0x开头
整型数据根据它所占内存大小的不同可分为四种类型,各自有不同的取值范围,在定义以下四种类型的变量是,需要变量的取值范围,超出范围就会出错。
数据类型 | 内存空间(8位等于1字节) | 取值范围 |
---|---|---|
byte | 8位 | -128~127 |
short | 16位 | -32768~32767 |
int | 32位 | -2147483648~2147483647 |
long | 64位 | -9223372036854775808~9223372036854775807 |
对于long型值,若赋给的值大于int型的最大值或者小于int型的最小值,则需要在数字的后面加上L或1来表示该数值为长整数。
定义整型变量,代码示例:
int x; //定义int类型的变量x
int x,y; //定义int类型的变量x、y
int x=100,y=-50; //定义int型变量x、y并赋值
long z = 2147483650L; //定义long类型变量并赋值
二、浮点类型
浮点类型表示有小数部分的数字。Java语言中浮点类型分为单精度浮点类型(float)和双精度浮点类型(double),他们也具有不同的取值范围。
默认情况下,小数都被看做是double型,若使用float型小数则必须需要在小数后面添加F或者f。但是若是使用double型的小数可以不使用后缀。
</tbody>
数据类型 | 内存空间(8位等于1字节) | 取值范围 |
---|---|---|
float | 32位 | 1.4E-45~3.4028235E38 |
double | 64位 | 4.9E-324~1.7976931348623157E308 |
定义浮点类型变量 ,代码示例:
float num1=10.24f; //定义float类型的变量并赋值
double num2 = 10.24; //定义float类型的变量并赋值
字符类型
字符类型(char)用来存储单个字符,占用16位(两字节)的内存空间。在定义字符型变量时要以单引号表示,不可以用双引号表示。
同C和C++语言一样,Java语言可以把字符作为整数对待,由于unicode编码采用无符号编码可以存储65536个字符,所以Java中的字符集合可以处理所有国家的语言文字。如果想得到一个0~65536之间的数所代表的unicode表中相应位置上的字符,也必须使用char型进行转换。
声明字符型变量,代码示例:
char x='a'; //定义char类型的变量并赋值
布尔类型
布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量。布尔类型的变量只有“true”和“false”不能与整数类型进行转换。布尔类型的通常被用在流程控制中作为判断条件。
声明boolean类型变量,代码示例:
boolean a; //定义布尔类型的变量a
boolean b,c; //定义布尔类型的变量b、c
boolean d = ture; //定义布尔类型的变量d并赋值
本期就到这里,希望有所帮助!!!
关注我,持续更新!!!