首页 > 代码库 > 基本数据类型

基本数据类型

1、java 基本数据类型四类八种:

  byte、short、int、long、float、double、char、boolean

2、java 的byte、short、int、long、float、double、char都可以为它们直接赋int 值;也可以把八进制(以0打头)、十六进制(以0x或0X打头)数赋值给它们。

技术分享
public class Test {
     public static void main(String[] args) {
         byte   b = -100,  b2 = -0100,  b3 = -0X10;
         short  s =  100,  s2 =  0100,  s3 =  0x10;
         int    i =  100,  i2 =  0100,  i3 =  0x10;
         long   l =  100,  l2 =  0100,  l3 =  0x10;
         float  f =  100,  f2 =  0100,  f3 =  0x10;
         double d =  100,  d2 =  0100,  d3 =  0x10;
         char   c =  100,  c1 =  0100,  c3 =  0x10;
    }
}
View Code

  但十六进制的不能赋值为浮点数类型:

技术分享
public class Test {
     public static void main(String[] args) {
         double d = 100.1,  d2 = 0100.1;//这一行正常
         double d3 = 0x10.1;//这一行报错
    }
}
View Code

2、char 类型

  java 为了实现跨平台,使用Unicode 编码,Unicode 又分为2 种,UTF-8 和UTF-16。

  java 采用的是UTF-16 编码方式,所以一个字符在内存中占用两个字节,比如‘a’ 这个字符在内存中也占用两个字节。

  char 类型的声明:

  char c1 = ‘中‘;

  char c2 = 97;

  char c3 = ‘\u0061‘;

  97和 0061分别是十进制和十六进制的,各自都有对应的二进制形式,即它们在内存中的存储形式,一个二进制数对应Unicode 字符集中的一个确定的字符。

  97默认是int 类型的,对应的二进制数为0000 0000 0000 0000 0000 0000 0110 0001,一共四个字节,32位;类型转换,砍掉高位的两个字节变为两个字节,16位:0000 0000 0110 0001,这个二进制数会对应Unicode 字符集里的一个字符。

3、浮点型数据

  单精度浮点型、双精度浮点型

  声明为十进制形式的:float f = 3.14

  声明为科学记数法形式的:float f = 3.14e10F, f2 = 3.14E10f, f3 = 3.14E-10F;

  0——1之间有无数个浮点数,所以浮点数是有误差的。在第几位出现误差叫做精度。float 7位,double 15位。

  0.1内部用0.0999很多个9来模拟。

  计算机里的浮点数是离散的,现实中的浮点数是连续的、无穷的。

  

  

基本数据类型