基本数据类型

数据类型

数据类型介绍

Java是一种强类型的语言,变量先定义再使用,且类型要求严格。

数据类型分为:

  1. `基本数据类型

  2. 引用数据类型

    代码如下:

    public class Demo1 {
        public static void main(String[] args) {
            //八大基本数据类型
            //整数
            int num = 10;
            byte num1 = 12;
            short num2 = 133;
            long num3 = 3000L;//long类型要在数字的后面加L
            //小数,浮点数
            float num4 = 50.1F;
            double num5 = 3.14154526;
            //字符
            char name = '中';
            //String是类不是关键字;String namea = "jackey"
    
            //boolean,布尔值,是非
            boolean flag = true;//or false
    
    
    
            System.out.println(num);
    
            //引用数据类型,类
    
            String a = "hello";
    
        }
    }
    

基本数据类型扩展知识

public class Demo2 {
    public static void main(String[] args) {
        //整型拓展: 进制  二进制0b    十进制    八进制0   十六进制0x
        int i = 10;
        int i2 = 010;
        int i3 = 0x10;
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);

        //============================
        //浮点数拓展  银行业务怎么表示,钱
        //BigDecimal  数学工具类
        //float  有限的,离散的,有舍入误差,接近但不等于
        //double
        //最好完全不要使用浮点数进行比较
        float f = 0.1f; //0.1
        double d = 1.0/10; //0.1

        System.out.println(f==d);//false
        float d1 = 215252525225f;
        float d2 = d1 + 1;
        System.out.println(d1==d2);//true

        // ====================================
        //字符拓展
        // ====================================
        char c1 = 'a';
        char c2 = '中';

        System.out.println(c1);

        System.out.println((int)c1);

        System.out.println(c2);

        System.out.println((int)c2);
        //所有字符本质还是数字
        //Unicode编码 2字节 0-65536   (97=a,65=A)
        char c3 = '\u0061';//0061是十六进制的表示,十进制为97,即a
        System.out.println(c3);
        //转义字符
        System.out.println("hello\tworld");
        System.out.println("hello\nworld");

        //boolean扩展
        boolean flag = true;
      
    }
}

类型转换

由于Java是强类型语言,所以有时候要用到,类型转换

低-------------------------》高

byte,short,char-> int -> long-> float -> double

运算中不同数据转化为同一类型再进行运算。

有强制类型转换和自动类型转换两种。

public class Demo3 {
    public static void main(String[] args) {
        //高-》低   强制类型转换 (类型)变量名

        int i = 128;
        byte b = (byte) i;//byte最大127,发生内存溢出
        System.out.println(i);
        System.out.println(b);
        //低-》高   自动转换
        int j = 129;
        long l = j;
        System.out.println(j);
        System.out.println(l);

        /*注意
        1.不能对布尔值进行转换
        2.不能吧对象类型转换为不相关的类型
        3.把高容量转换为低容量的时候强制转换
        4.转换时候可能出现内存溢出或者精度问题


        */
        //操作较大的数时注意溢出问题
        //JDK7新特性,数字可以用下划线分割
        int money = 1000_000_000;
        System.out.println(money);
        int years = 20;
        int total = years*money;//发生溢出,-1474836480
        System.out.println(total);
        long toltal2 = years*money;//默认是int,发生溢出,转换前就出现问题
        long toltal3 = years*((long)money);
        System.out.println(toltal2);
        System.out.println(toltal3);

    }
}
posted @ 2022-01-05 20:59  奈若何!?  阅读(25)  评论(0)    收藏  举报