JavaSE03.Java数据类型

03.数据类型

1、数据类型分类

    Java是强类型语言,每个变量都必须声明其类型。Java中的数据类型分为两大类,分别是基本数据类型引用数据类型。其中,基本数据类型由Java语言定义,其数据占用内存的大小固定,在内存中存入的是值的数值本身;而引用数据类型在内存中存入的是引用数据的存放地址,并不是数据本身。

Java的两种数据类型:

基本数据类型:整型类型、浮点类型、字符类型、布尔类型

引用数据类型:类、接口、数组

2、基本数据类型

2.1. 基本数据类型范围,如图:

  • 一个字节等于8位,位是计算机内部数据存储的最小单位

  • 布尔数据类型只有两个可能的值:true和false。 将此数据类型用于跟踪真/假条件的简单标志。 此数据类型表示一位信息,但其“大小”不是精确定义的内容。

2.2. 基本数据类型包装类、最大值和最小值代码演示:

public static void main(String[] args) {  
    // byte  
    System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);  
    System.out.println("包装类:java.lang.Byte");  
    System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);  
    System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);  
    System.out.println();  

    // short  
    System.out.println("基本类型:short 二进制位数:" + Short.SIZE);  
    System.out.println("包装类:java.lang.Short");  
    System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);  
    System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);  
    System.out.println();  

    // int  
    System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);  
    System.out.println("包装类:java.lang.Integer");  
    System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);  
    System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);  
    System.out.println();  

    // long  
    System.out.println("基本类型:long 二进制位数:" + Long.SIZE);  
    System.out.println("包装类:java.lang.Long");  
    System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);  
    System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);  
    System.out.println();  

    // float  
    System.out.println("基本类型:float 二进制位数:" + Float.SIZE);  
    System.out.println("包装类:java.lang.Float");  
    System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);  
    System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);  
    System.out.println();  

    // double  
    System.out.println("基本类型:double 二进制位数:" + Double.SIZE);  
    System.out.println("包装类:java.lang.Double");  
    System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);  
    System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);  
    System.out.println();  

    // char  
    System.out.println("基本类型:char 二进制位数:" + Character.SIZE);  
    System.out.println("包装类:java.lang.Character");  
    // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台  
    System.out.println("最小值:Character.MIN_VALUE="  
                       + (int) Character.MIN_VALUE);  
    // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台  
    System.out.println("最大值:Character.MAX_VALUE="  
                       + (int) Character.MAX_VALUE);  
}  

金融面试问:银行金融业务用什么类型表示?

浮点类型float, double的数据不适合在不容许舍入误差的金融计算领域。
如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。

3、类型转换

3.1. 数据类型转换必须满足如下规则:

  • 不能对boolean类型进行类型转换。
  • 不能把对象类型转换成不相关类的对象。
  • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
  • 转换过程中可能导致溢出或损失精度。

3.2. 自动类型转换:

  • 容量小的数据类型可以自动转换为容量大的数据类型。
public static void main(String[] args){
        char c1='a';//定义一个char类型
        int i1 = c1;//char自动类型转换为int
        System.out.println("char自动类型转换为int后的值等于"+i1);
        char c2 = 'A';//定义一个char类型
        int i2 = c2+1;//char 类型和 int 类型计算
        System.out.println("char类型和int计算后的值等于"+i2);
    }

3.3. 强制类型转换:

  • 强制类型转换的语法格式:(type)var,运算符“()”中的type表示将值var想要转换成的目标数据类型。
public static void main(String[] args) {
    double PI  = 3.14;
    int nx = (int)x;   //值为3

    char c = 'a';
    int d = c+1;
    System.out.println(d); //98
    System.out.println((char)d);  //b
}

3.4. 转换从低级到高级:

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

原文地址:https://www.cnblogs.com/zhangliuping/p/11605537.html