Java数据类型
作者:互联网
在Java中,一共有8种基本类型,分别有4种整型、2种浮点类型、1种字符类型char、1种用来判断的boolean类型。
1、整型
整型是用来表示没有小数的数值。
类型 | 存储要求 | 取值范围 |
byte(字节) | 1字节 | -128~127 |
short(短整型) | 2字节 | -32 768~32 767 |
int(整型) | 4字节 | -2 147 483 648~2 147 483 647 |
long(长整型) | 8字节 | -9 223 372 036 854 775 808~9 223 372 036 854 775 807 |
一般情况下我们使用int就可满足日常需求,在一些特殊的场景比如底层文件处理我们可能用到byte、short,表示特别大的数值时用long。
从Java7开始我们可以使用前缀0b或0B表示二进制数例如int a = 0b1000 就代表的是8。还可以为数字字面量增加下划线便于我们阅读,例如100_000_000就表示1亿,在编译的时候会去除这些下划线。
2、浮点类型
浮点类型用来表示有小数的数值。
类型 | 存储要求 | 取值范围 |
float(单精度浮点型) | 4字节 | 约为 ± 3.402 823 47E+38F(有效位数为6~7位) |
double(双精度浮点型) | 8字节 | 约为 ± 1.797 693 134 862 315 70E+308(有效位数为15位) |
通常情况下我们都会使用double,只有很少的情况比如单精度数的库或需要存储大量数据时我们才会使用float。
float类型数值在定义时需要加上f或F后缀,而double加不加都可以,没有后缀默认就是double类型。
我们不能使用浮点类型数值来计算金融等无法接受误差的业务,因为浮点数值采用二进制系统表示,但二进制系统不能准确表示分数1/10。类比我们十进制不能准确表示1/3。
System.out.println(2.0-1.1);//运行结果:0.8999999999999999
我们可以使用BigDecimal类来计算这些不允许误差的业务。
3、char类型
char类型原本用来表示单个字符,不过如今有的Unicode字符需要两个char值。char类型的字面量要用单引号括起来。例如'A'是编码值为65的字符常量。char类型的值可以表示为十六进制值,范围从\u0000-\uFFFF,例如\u2122表示商标符号(™)。
除了转义序列\u之外,还有一些用来表示特殊字符的转义序列,如下表所示:
转义序列 | 名称 | Unicode值 |
\b | 退格 | \u0008 |
\t | 制表 | \u0009 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\" | 双引号 | \u0022 |
\' | 单引号 | \u0027 |
\\ | 反斜杠 | \u005c |
所有这些转义序列都可以出现在加引号的字符常量或字符串之外,例如,'\u2122'或"Hello\n"。转义序列\u还可以出现在加引号的字符常量或字符串之外(其他所有转义序列都不可以)。例如
public static void main(String\u005B\u005D args)
就完全符合语法规则,\u005b和\u005D分别是[和]的编码。
4、boolean类型
boolean类型有两个值:ture和false,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。
参考书籍:《Java核心技术 卷Ⅰ》
标签:Java,字节,转义序列,数据类型,char,浮点,整型,类型 来源: https://blog.csdn.net/weixin_45973640/article/details/120231195