数据类型
Java是强类型语言,所以必须声明变量类型。Java中共有8种基本类型:byte,short,int,long,float,double,char,boolean。
其中
整型有:byte,short,int,long;
浮点型有float,double;
字符类型:char;
布尔型:boolean;
(一)整型
整型用于表示没有小数部分的数值,可以是负数。
类型 | 存储需求 | 取值范围 |
byte | 1个字节 | -128~127 |
short | 2个字节 | -32768~32767 |
int | 4个字节 | -2147483648~-2147483647 |
long | 8个字节 | -9223372036854775808~9223372036854775807 |
通常情况,int是最常用的类型。
长整型用于表示的数值如上表格所示,但需要在变量后加上L或l。
byte,short用于特定的场合,例如底层文件的处理或者需要控制占用存储空间量的大数组。
(二)浮点型
类型 | 存储需求 | 取值范围 |
float | 4个字节 | 大约±3.40282347E+38F(有效位数为6~7位) |
double | 8个字节 | 大约±1.79769313486231570E+308(有效位数为15位) |
float类型也可以称之为单精度,实际上很少情况会使用,其精度难以满足要求;使用时要在数值后加上F或f,如果没有加上后缀,会默认为double类型。
double类型也可以称之为双精度,绝大多数应用程序都采用double类型,当然也可以在数值后加上D或d。
三个特殊的浮点数值:
①正无穷大:Double.POSITIVE_INFINITY
②负无穷大:Double.NEGATIVE_INFINITY
③NaN(不是一个数字):Double.NaN
if(a==Double.NaN)//这样的判断是错误的,所有非数值的值都不认为是相同的,而Double.NaN也是一个数值
//可以使用Double.isNaN(x)方法来判断,如:
if(Double.isNaN(x))//检测x是否不是一个数
如果在数值计算中,不允许有任何舍入误差,那么就应该用BigDecimal类。
(三)char类型
char类型原本用于表示单个字符,但是现在情况已经变化,有些Unicode字符可以用一个char值描述,另外一些Unicode字符需要用两个char值描述。强烈建议不要在程序中使用char类型。
转义序列 | 名称 | Unicode值 |
---|---|---|
\b | 退格 | \u0008 |
\t | 制表 | \u0009 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\" | 双引号 | \u0022 |
\' | 单引号 | \u0027 |
\\ | 反斜杠 | \u005c |
(四)布尔型(boolean)
布尔型有两个值:true,false,用于判断逻辑条件。
整型值和布尔值之间不能相互转换。