欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【java基础】-数据类型之殇

程序员文章站 2022-07-15 16:41:29
...

一 前言

Java的数据类型分为2种,分别是基本数据类型和引用数据类型;java的数据类型是强数据类型,意味着每声明一个变量,其必定有与之对应的数据类型;面试常问的java8大基本数据类型其实是基本数据类型;想要打好基础数据类型这关很重要;

二 基本数据类型

基本数据类型分为 整型4个 ,布尔型一个,字符型一个,浮点数型2个;每个数据类型的大小都不一样,数据类型的大小以字节计算,在计算机种一个字节是等于8位,也就是2的8次方法;

2.1 整型

整型故名思意,字段声明的类型是整型,字段被赋值的时候只能是整型类型数据;如果是长整型(long)其后面书写时带上L或者l表示长整型数据;

【java基础】-数据类型之殇

int类型书写示例:

public class Type {

    // int 型 java默认为整型
    private int zszxz1 = 1327;
}

long类型书写示例:

public class Type {

    // long 型 Java中称呼为长整型,后面跟 L 或者 l,由于l同 1很像,通常使用L
    private long zszxz2 = 1327L;
    
}

shor型书写示例:

public class Type {

    // shor 型 java中称呼为短整型 
    private short zxzxz3 = 1327;

}

byte类型书写示例:

public class Type {

    // byte 型 java中称呼为字节
    private byte zszxz4 = 127;

}

2 .2 浮点类型

浮点数据类型分为单精度类型(float)和 双精度类型 (double);书写时double型,数字后面带上D或者d表示双精度型;
书写float型,数字后面带上f或者F表示单精度型;其都遵循IEEE 745 规范,如果溢出会出现下列三种情况:

1.正 无穷大
2. 负无穷大
3. Nan表示非数值

【java基础】-数据类型之殇

书写示例:

public class Type {

    // float 型
    private float zszxz5 = 3.17f;
    // double 型
    private double zszxz6 = 3.17d;

}

2.3 字符型

字符型(char)存储单个字符,特殊的字符使用unicode值(0~65535)进行存储;其大小2个字节;

 public static void main(String[] args) {
        // 字符 A 在 unicode中的值是65也就是 u0041;
        char zszxz7 = 'A';
        char zszxz8 = '\u0041';
        char zszxz9 = 65;
        // true
        System.out.println(zszxz7==zszxz8);
        // true
        System.out.println(zszxz7==zszxz9);
    }

常用转义符号:

【java基础】-数据类型之殇

2.4 布尔型

布尔型(boolean),其只有2个值就是true和false;通常用于判断是非;

    // 正确
    private boolean zszxz10 = true;
    //  错误
    private boolean zszxz11 = false;

三 进制数值表示

3.1 二进制数

二进制数使用0b或者0B开头,每位都是用0~1表示;

示例:

    // 二进制数
    private int zszxz12 = 0b1111;

3.2 八进制数

八进制数使用0开头,每位是0~7表示;

示例:

    public static void main(String[] args) {
        int zszxz13 = 017;
        // 15 
        System.out.println(zszxz13);
    }

3.3 十六进制数

十六进制数使用0x或者0X开头,每位都是使用0~9, A~F 表示;

示例:

    public static void main(String[] args) {
        int zszxz14 = 0xff;
        // 255
        System.out.println(zszxz14);
    }

四 指数数值表示

在java中指数类型使用e表示10的次方幂,比如 10^5 表示成 e5,声明时注意使用浮点数据类型或者其他大数值类型;

示例:

    public static void main(String[] args) {
        double zszxz15 = 0.3e2;
        // 30.0
        System.out.println(zszxz15);
    }

五 类型转换

5.1 自动类型转换

自动类型转换是指小数据类型转向大数据类型java虚拟机会自动帮你转换,不需要做额外的操作;

不丢失精度情况:

【java基础】-数据类型之殇

丢失精度情况:

【java基础】-数据类型之殇

5.2 强制类型转换

强制类型转换是指大数据类型转向小数据类型,需要进行强制类型转换,但这有可能发生丢失精度的风险,使用()表示强制转换;在浮点数转整型的时候丢失精度的规则不是四舍五入,而是截取;

示例:

    public static void main(String[] args) {
        double zszxz16 = 55.9;
        int opq = 0 ;
        opq = (int)zszxz16;
        // 55
        System.out.println(opq);
    }

六 引用数据类型

引用数据类型包括类,接口,数组,java中的引用本质上等同于c中的指针,但在java中没有指针这个说法,而是保留的指针的引用类型;特殊的数据类型String就是引用数据类型;详细的引用数据类型在后续的学习中才会有深入了解,对于初学者,说的再多目前也没意义;

【java基础】-数据类型之殇