3.3数据类型

Java是一种强类型语言,也就意味着必须为每一个变量生声明一种类型。在Java中,一共有8种基本类型:

  • 4种整型

  • 2种浮点类型

  • 1种用于表示Unicode编码的字符单元的字符类型char

  • 1种用于表示真值的boolean类型

注释:Java有一个能够表示任意精度的算术包,通常称为“大数值”,虽然被称为大数值,但是它并不表示一种新的Java类型,而是一个Java对象。大数值

整型

整型用于表示没有小数部分的数值,它允许是负数。

3.3数据类型

在Java中,整型的范围与运行Java代码的机器无关,这就解决了软件从一个平台移植到另一个平台或者同一个平台的不同操作系统之间移植给程序员带来的诸多问题。

长整型数值都有一个后缀L或者l(例如10000000L)。16进制数的前面都有一个前缀0x或者0X(如0xCAFE),八进制前缀为0。前缀加上0b或者0B就是2进制。从Java7开始,数字的字面量可以加上下划线,例如1_000_000表示100万。

:Java没有任何无符号形式的int、long、short或者byte类型。

浮点类型

Java有两种浮点类型

3.3数据类型

大多数情况下,float的进幅度很难满足要求,所以大部分应用都采用double类型。float类型的数值后面有一个F或者f,例如3.14F,没有后缀后者后缀为D的为double类型,例如3.14或者3.14D。

注:可以用16进制来表示浮点数值。例如0.125=0x1.0p-3,在16进制中,p表示指数,而不是e,注意,尾数采用16进制,指数采用10进制,指数的基数是2,而不是10。

char类型

char类型的字面量值要用单引号括起来。例如‘A‘是编码值为65的字符常量,它与"A"不同,"A"是包含一个字符A的字符串。

char类型的只可以表示为十六进制值,其范围从\u0000到\uffff。例如,‘\u2122‘表示注册符号(?),‘\u03C0‘表示希腊字母(π)。除了转义序列\u之外,还有一些用于表示特殊字符的转义序列,如下表所示:

3.3数据类型

转义字符\u还可以出现在加引号的字符常量或者字符串之外(其他转义序列不可以)。例如

public static void main(String\u005B\u005D args)

等价于

public static void main(String[] args)

警告:Unicode转义序列会在解析代码之前得到处理。例如,"\u0022+\u0022"并不是一个由引号(U+0022)包围加号构成的字符串。实际上,\u0022会在解析之前转换为",这会得到""+"",也就是一个空串。更隐秘的,一定要当心注释中的\u。注释

// \u00A0 is a new line

会产生语法错误,因为读程序时i\u00A0会替换为一个换行符。类似的,下面这个注释:

// Look inside C:\user

也会产生语法错误,因为\u后面并未跟着4个十六进制数。

3.3数据类型

上一篇:ThreadPoolTaskExecutor和ThreadPoolExecutor的区别简单理解


下一篇:Vue Router的原理及history模式源码实现