Java基本数据类型

整型

整型
类型 存储需求 取值范围
byte 1字节 -128 ~ 127
short 2字节 -32768 ~ 32767
int 4字节 -2147483648 ~ 2147483647
long 8字节 -9223372036854775808 ~ 9223372036854775807

1、长整型数值有一个后缀 L 或者 l 。

2、十六进制数值有一个前缀 0X 或者 0x 。

3、八进制数值有一个前缀 0 。

4、从Java7开始,加上前缀 0b 或者 0B 可以写二进制数,还可以在数字字面量加下划线,便于阅读,Java编译器编译的时候会自动去除这些下划线。

示例代码:

public class Test01 {

    public static void main(String[] args) {

        int a = 100_0000;// 下划线位置可随意,方便阅读就行
        System.out.println("a=" + a);// a=1000000

        long b = 1_000_000L;// 长整型
        System.out.println("b=" + b);// b=1000000

        int c = 0xCAFE;// 十六进制
        System.out.println("c=" + c);// c=51966

        int d = 010;// 八进制
        System.out.println("d=" + d);// d=8

        int e = 0b1111_0100_0010_0100_0000;// 二进制
        System.out.println("e=" + e);// e=1000000

    }

}

浮点类型

浮点类型
类型 存储需求 取值范围
float 4字节 大约 ±3.40282347E+38F(有效位数为6~7位)
double 8字节 大约 ±1.79769313486231570E+308(有效位数为15位)

1、float,单精度浮点型,很少使用,只有例如:需要单精度数据的库,或者需要存储大量数据的情况下需要使用float。后缀 F 或者 f。

2、double,双精度浮点型,大多数程序都使用double。后缀 D 或者 d,或者没加后缀的浮点数,都表示 double。

3、无法接受舍入误差的金融计算中不能使用浮点数值,应该使用 BigDecimal 类。

4、表示溢出和出错的情况的三个特殊的浮点数值:

  • 正无穷大
  • 负无穷大
  • NaN(不是一个数字)

这三个特殊浮点值可以使用 Double 和 Float 类型中的常量表示:

public class Test02 {

    public static void main(String[] args) {
        
        //下面是Double的常量表示,Float也有相同的常量
        System.out.println(Double.POSITIVE_INFINITY);// Infinity
        System.out.println(Double.NEGATIVE_INFINITY);// -Infinity
        System.out.println(Double.NaN);// NaN

        //判断一个值是不是数字
        if (!Double.isNaN(12)) {
            System.out.println("这是一个数");
        }
    }

}

字符类型

字符类型
类型 存储需求 取值范围
char 2字节 \u0000 ~ \Uffff

1、char 是单字符型,占2个字节,java统一采用unicode【2字节,16bit】来表示一个字符。

2、char c = 'A';

由于英文字母比较特殊,源自于8位(1字节)的ASCII码。于是在unicode中使用低8位(1字节)就可以表示,高8位不使用也无所谓;存储到内存中就只使用了1字节。

3、char d = '我';

汉字使用了完整的16位unicode;存储到内存中使用了2字节。

4、不建议在程序中使用 char ,除非确实需要处理 UTF-16 代码单元。

5、\u 转义序列比较特殊,还可以出现在加引号的字符串常量和字符串之外,其他所有转义序列不可以。

转义序列 说明
\b 退格符
\n 换行符。将屏幕光标 定位在下一行的开头处
\t 将屏幕光标移到下一个制表位
\r 回车符。把屏幕光标定位到当前行的下一行的开头处;不向前移动到下一行。回车符后输出的字符覆盖先前行上输出的字符。
\\ 反斜线符号。用来打印一个反斜线符号。
\" 双引号。用于打印双引号。
\' 单引号

 

 

 

 

 

 

 

布尔类型

布尔类型
类型 存储需求 取值
boolean 1字节 true 或者 false

 

数据类型转换

 

posted @ 2018-07-30 11:54  一线大码  Views(268)  Comments(0Edit  收藏  举报