数据类型规定了一类数据的数据位长度(或称字符个数)、取值范围以及对该类数据所能进行的操作。
Java语言中共定义了8种基本数据类型,其中4种为整型数,2种为浮点型数,1种为字符型数,1种为布尔型数。数据类型不同,所定义的变量占用的内存空间、取值范围以及对该类数据所能进行的操作也不同。
Java语言定义的8种基本数据类型及相应的关键字如下:
整 型:byte 、short、 int、 long
浮点型:float、double
逻辑型:boolean
字符型:char
整型
整型数是零和有限范围的正整数和负整数。由于4种不同整型数的数据位不同,所以相应的正整数和负整数的范围也不同。
Java的整数类型
类型 | 关键字 | 数据位 | 数值范围 |
---|---|---|---|
字节型 | byte | 8 bits | -128—127(-2^7——2^7-1) |
短整型 | short | 16 bits | -32768—32767(-2^15——2^15-1) |
整 型 | int | 32 bits | -2147483648—2147483647(-2^31——2^31-1) |
长整型 | long | 64 bits | -9223372036854775808—9223372036854775807(-2^63——2^63-1) |
Java的整型数可以表示为十进制、八进制或十六进制。具体表示方法为:
十进制:用若干个0~9之间的数字表示,并规定首位不能为0,如123。
八进制:以0打头,后跟若干个0~7之间的数字,如0123。
十六进制:以0x或0X打头,后跟若干个0~9之间的数字以及a~f之间的小写字母或A~F之间的大写字母,a~f或A~F分别表示数值10~15,如0X123E。
注:
字面值是在程序中用到的显式数据值,如123就是一个字面值。
Java语言规定,所有的整型字面值都隐含为int型。
若要将一个整数字面值明确地表示为long型时,需在后面加L或l,如21474836470L或12345l。
浮点型
浮点型数由整数部分和小数部分组成。浮点型数用来表示实数。浮点数有两种表示方式:
标准记数法:由整数部分、小数点和小数部分构成。如123.123,123.0。
科学记数法:由整数、小数点、小数和指数部分构成,指数部分由一个e或E后跟带正负号的整数表示。如123.123用科学记数法可表示为1.23123E+2。需要注意的是,科学记数法中,一个浮点型数的整数部分不一定是小数点前的整数。
浮点型数可以表示精度很高的或带有小数部分的数值。当一个变量要保存此类数值时,该变量必须定义为浮点型变量。
Java语言的浮点型有float和double两种。浮点数类型的类型、数据位和数值范围如下:
Java的浮点数类型
类型 | 关键字 | 数据位 | 数值范围 |
---|---|---|---|
单精度浮点 | float | 32 bits | 3.4e-038—3.4e+038 |
双精度浮点 | double | 64 bits | 1.7e-308—1.7e+308 |
Java语言规定,所有的浮点型字面值都隐含为double型。若要将一个浮点型字面值明确地表示为float型时,需在后面加F或f,如123.123F或1.23123E+2f。
在定义变量时,对于整型变量或浮点型变量,要认真分析变量可能的取值范围,并选择合适的数据类型来定义变量,以免造成内存空间浪费,或由于超出数值范围或数值精度不够而造成出错。例如,如果一个变量的取值为确定的1到1000,则该变量应定义成short类型。又例如,如果一个变量的可能取值无法准确估计,则应按该变量可能的最大数值、并保留相当的宽裕程度来选择该变量的数据类型。
逻辑型
逻辑型用来定义保存逻辑值的变量。逻辑型也称为布尔型。逻辑值只有真(true)和假(false)两个值。
逻辑型数值主要用在流程控制语句中的条件表达式,如if、while、for等语句的条件表达式都是逻辑型数值。
字符型
Java语言中,一个Unicode标准下的编码称作一个字符。Unicode标准用16位编码表示一个字符。字符型用来表示字符型变量和字符型字面值。
Java语言中,字符型字面值用一对单引号括起来,如’a’、’A’、’#’等都是字符型字面值。由于一些控制字符不能在屏幕上直接显示,以及字符串中特殊符号的表示等问题,需要有特殊方法表示这些符号。不能直接显示的控制字符字面值、或字符串中特殊符号表示使用转义字符的表示方法。
转义字符类型
转义字符 | 含义 |
---|---|
\n | 换行,将光标移至下一行的开始 |
\t | 水平制表,将光标移至下个制表符位置 |
\r | 回车,将光标移至当前行的开始 |
\\ | 反斜杠,输出一个反斜杠 |
\’ | 单引号,输出一个单引号 |
\” | 双引号,输出一个双引号 |
如系统标准输出语句System.out.print()
表示输出字符串后不换行,下面的输出语句:System.out.print("Hello!\n");
表示输出字符串”Hello!”后换行。
转自:http://blog.youkuaiyun.com/qq_33609401/article/details/54586544