数据类型

Java一共有8种基本类型,4种整型、2种浮点类型、1种标识Unicode编码的单元字符类型char1种用于表示真值的Boolean类型。Java是一种强类型的语言,所以必须为每一个变量声明一种类型。

1、整型

类型

存储大小

取值范围

int

4字节

-2147483648  ~  2147483647

short

2字节

-32768  ~  32768

long

8字节

-9223372036854775808  ~  9223372036854775807  

byte

1字节

-128  ~  127

备注:

(1) Java中,整型的范围与运行Java代码的机器无关,从一个平台移植到另一个平台,或者一个平台不同操作系统之间进行移植不会给程序带来问题。

(2) 长整型long数值后面有一个后缀L,例如400L

(3) 十六进制数值有一个前缀0x,例如0xCF00;八进制有一个前缀0,例如010表示对应八进制的8,因为8进制容易混淆,建议不用八进制常数。

(4) Java7以后,0b前缀表示二进制,比如0b1001就是9

1 package day01;
2 
3 public class Test02 {
4     public static void main(String[] args) {
5         System.out.println(0b1001);
6     }
7 }

执行结果:

 

2、浮点

浮点类型用来表示有小数部分的数值,主要有两种,如下图所示:

类型

存储大小

取值范围

float

4字节

-3.40282347E+38F ~ 3.40282347E+38F(有效位数为6-7位)

double

8字节

-1.79769313486231570E+308  ~ 1.79769313486231570E+308

备注:

(1) Double的数值精度是float2倍,绝大数使用double,很少使用float。比如需要快速处理单精度数据。

(2) Float类型的数值后面有一个F后缀,例如3.14F。如果没有后缀默认为doubledouble后面可以加后缀D表示区分,例如3.3D

(3) 所有的浮点数值都遵循IEEE754规范,表示溢出和出错情况的三个特殊浮点数值:正无穷大、负无穷大、NaN(不是一个数字)。例如一个正整数除以0的结果为正无穷大,计算0/0或者负数的平方根结果为NaN

3、Char类型

(1) 表示单个字符。通过表示字符常量,例如A’表示编码65对应的字符常量,“A”是一个包含字符A的字符串。

(2) 要弄明白char类型,需要知道Unicode编码,Unicode编码的目的是解决两个问题:一个是对于任意给定的代码值,不同编码方案下可能有对应不同字母;第二个问题是采用大字符集的语言其编码长度可能有不同。

(3) Unicode的字符包括汉语、日语、韩语、英文常见字母符号等,但是由于实际发展情况,目前16位的char类型已经满足不了描述所有的Unicode字符需要。因此,不建议使用char类型,除非需要对UTF-16代码单元进行操作,最好将处理的字符串用抽象数据类型表示。

4、Boolean类型

Boolean类型有2个值:falsetrue,用来进行逻辑判断,整型和布尔值之间不能进行相互转换。

欢迎批评指正,提出问题,谢谢!
原文地址:https://www.cnblogs.com/xxeleanor/p/14286814.html