CoreJavaE10V1P3.3 第3章 Java的基本编程结构-3.3 数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CoreJavaE10V1P3.3 第3章 Java的基本编程结构-3.3 数据类型相关的知识,希望对你有一定的参考价值。

3.3 数据类型

这里所说的数据类型是指 Java的8中基本数据类型,是原生就存在的。

不同进制数的字面值表示方法

进制 字面值表示方法 例子 是否默认 JDK版本支持
2进制 0b或0B前缀(每4位可用_分隔) 0b1001,0b1111_0100_0010   Java SE 7开始
8进制 0前缀 010    
10进制   010  
16进制 0x或0X前缀 0xCAFE    

  Java中没有unsigned 类型的数

  在Java中谈默认值是没有意义的,一个数据的默认值只有在声明为成员变量或是静态变量以及初始化的时候存在,而没有初始化的变量会出现编译错误。

3.3.1 整数型(4种)

类型 字节数  表示范围 默认值 大致表示范围 字面值表示方法 例子 是否是默认字面值类型 是否推荐使用
byte 1 –128 到 127 0 100        
short 2 –32,768 到 32,767  0 3万        
int 4 –2,147,483,648 到 2,147,483, 647 0 20亿   400
long 8 –9,223,372,036,854,775,808 到9,223,372,036,854,775,807 0L 9*1018 l或L后缀(400L) 400L    

 

3.3.2 浮点数型(2种)

类型 字节数 表示范围 默认值 有效数字(精度)(10进制下) 字面值表示方法 例子 是否为默认字面值类型 是否推荐使用
float 4 ±3.40282347E+38F 0.0f 6-7位 f或F后缀 3.14F    
double 8  ±1.79769313486231570E+308 0.0d 15位 d或D后缀 3.14D,3.14

16进制指数式浮点数字面值表示方法

底数 表示方法 例子 常规表示方法
以2为底 0x***p***标记(尾数采用16进制,指数采用10进制) 0x1.0p-3 1.0x2-3

3个特殊的浮点数

Double.POSITIVE_INFINITY 正无穷
Double.NEGATIVE_INFINITY 负无穷
Double.NaN 非数(0/0或负数的平方根)

  1.Double类是对double类型的对象化封装,java.lang.Double

System.out.println(2.0 - 1.1)

输出结果是 0.8999999999999999 而不是 0.9 ,浮点数在实际存储时以2进制存储,出现了精度损失,入股数值计算不能有任何舍入误差,使用 BigDecimal 类

 

3.3.3 字符型(1种)

Java中的char字符表示的是unicode(即UTF-16)编码字符,

类型 字节数 表示范围 默认值 表示方法 例子
char 2 \u0000 到 \uFFFF ‘\u0000’ ‘ ’标记,可使用\u转译和特殊字符转译 ‘A’,‘\u2122’,‘\n’

 常用的char字符以及转译字符

转译形式 名称 Unicode值
\n 换行 \u000a 
\r 回车 \u000d 
\t Tab \u0009
\" \u0022 
\‘ \u0027 
\\ \ \u005c
  π,数字PI的符号 \u03C0
  ?,商标符号 \u2122

  Unicode型转译字符可以在源代码中直接使用

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

  等价于

public static void main(String[] args)

 

3.3.4 Unicode与char

3.3.5 布尔型

类型 默认值 字节数 表示方法 例子
boolean  false 在编译之后都使用JVM中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节 true,false true,false

boolean与其他类型不可转换,在c/c++中,0表示false,非0表示true,java中不行。

以上是关于CoreJavaE10V1P3.3 第3章 Java的基本编程结构-3.3 数据类型的主要内容,如果未能解决你的问题,请参考以下文章

CoreJavaE10V1P3.4 第3章 Java的基本编程结构-3.4 变量

CoreJavaE10V1P3.10 第3章 Java的基本编程结构-3.10 数组(Arrays)

CoreJavaE10V1P3.9 第3章 Java的基本编程结构-3.9 大数值(Big Numbers)

CoreJavaE10V1P3.8 第3章 Java的基本编程结构-3.8 控制流程(Control Flow)

第3章:Maven使用入门/3.3 编写测试代码

第3章-图形处理单元-3.3-可编程着色器阶段