Java 的基本数据类型

ε祈祈猫儿з 提交于 2019-12-05 18:42:27

变量就是申请内存来储存值,创建变量,需要在内存中申请空间。内存管理系统会根据变量的类型分配存储空间。并且定义不同类型的变量,可以在内存中储存整数,小数,字符。

Java提供4类8种基本数据类型

类型名称
字节空间
使用场景
范围
默认值
整型:




byte
1字节(8位)
存储字节数据(较常用)
127~-127
0
short
2字节(16位)
存储短整型数据(很少用)
32768~-32768
0
int
4字节(32位)
存储普通整型数据(常用)
21亿~-21亿
0
long
8字节(64位)
存储长整型数据(常用)
2^63-1~-2^63
0L
浮点型




float
4字节(32位)
存储浮点型数据(不常用)

最大值:3.4028235E38=340282350000到38位

最小值:1.4E-45=0.000...14到45位

0.0f
double
8字节(64位)
存储双精度浮点型数据(常用)

最大值:1.7976931348623157E308

最小值:4.9E-324

0.0d
布尔型




boolean
1字节(8位)
存储逻辑变量(常用)
true/false
fasle
字符型




char
2字节(16位)

存储一个16位Unicode字符

一个字符存一个中文汉字

一个中文含2个字节

最大值:“\uffff”(为65535)

最小值:“\u0000”(为0)

单引号

注:String 不是基本类型,是字符串类型,是引用类型,是常量!

实例:

/**
 * java 基础类型的二进制数 和 字节数
 */
public class ByteSize {
    public static void main(String[] args) {

        /**整型*/
        //byte 的字节数和二进制数
        System.out.println("byte包装类:java.lang.Byte");
        System.out.println("byte 的字节数:" + Byte.SIZE / 8);
        System.out.println("byte 的二进制数:" + Byte.SIZE); //一个字节占8个二进制数
        System.out.println("byte 的最大取值范围:" + Byte.MAX_VALUE);
        System.out.println("byte 的最小取值范围: " + Byte.MIN_VALUE);

        //short 的字节数和二进制数
        System.out.println("short包装类:java.lang.Short");
        System.out.println("Short 的字节数:" + Short.SIZE / 8);
        System.out.println("short 的二进制数:" + Short.SIZE);
        System.out.println("short 的最大取值范围:" + Short.MAX_VALUE);
        System.out.println("short 的最小取值范围: " + Short.MIN_VALUE);

        //int 的字节数和二进制数
        System.out.println("int包装类:java.lang.Integer");
        System.out.println("int 的字节数:" + Integer.SIZE / 8);
        System.out.println("int 的二进制数:" + Integer.SIZE);
        System.out.println("int 的最大取值范围:" + Integer.MAX_VALUE);
        System.out.println("int 的最小取值范围: " + Integer.MIN_VALUE);

        //long 的字节数和二进制数
        System.out.println("long包装类:java.lang.Long");
        System.out.println("long 的字节数:" + Long.SIZE / 8);
        System.out.println("long 的二进制数:" + Long.SIZE);
        System.out.println("long 的最大取值范围:" + Long.MAX_VALUE);
        System.out.println("long 的最小取值范围: " + Long.MIN_VALUE);

        /**浮点型*/
        //float 的字节数和二进制数
        System.out.println("float包装类:java.lang.Double");
        System.out.println("float 的字节数:" + Float.SIZE / 8);
        System.out.println("float 的二进制数:" + Float.SIZE);
        System.out.println("float 的最大取值范围:" + Float.MAX_VALUE);
        System.out.println("float 的最小取值范围: " + Float.MIN_VALUE);

        //double 的字节数和二进制数
        System.out.println("double包装类:java.lang.Double");
        System.out.println("double 的字节数:" + Double.SIZE / 8);
        System.out.println("double 的二进制数:" + Double.SIZE);
        System.out.println("double 的最大取值范围:" + Double.MAX_VALUE);
        System.out.println("double 的最小取值范围: " + Double.MIN_VALUE);

        /** 字符型*/
        //char 的字节数和二进制数
        System.out.println("char包装类:java.lang.Character");
        System.out.println("char 的字节数:" + Character.SIZE / 8);
        System.out.println("char 的二进制数:" + Character.SIZE);
        //用数值输出而不用字符输出
        System.out.println("char 的最大取值范围:" + (int) Character.MAX_VALUE);
        System.out.println("char 的最小取值范围: " + (int) Character.MIN_VALUE);

    }
}


执行结果:

byte 的字节数:1
byte 的二进制数:8
byte 的最大取值范围:127
byte 的最小取值范围: -128
short 的字节数:2
short 的二进制数:16
short 的最大取值范围:32767
short 的最小取值范围: -32768
int 的字节数:4
int 的二进制数:32
int 的最大取值范围:2147483647
int 的最小取值范围: -2147483648
long 的字节数:8
long 的二进制数:64
long 的最大取值范围:9223372036854775807
long 的最小取值范围: -9223372036854775808
float 的字节数:4
float 的二进制数:32
float 的最大取值范围:3.4028235E38
float 的最小取值范围: 1.4E-45
double 的字节数:8
double 的二进制数:64
double 的最大取值范围:1.7976931348623157E308
double 的最小取值范围: 4.9E-324
包装类:java.lang.Character
char 的字节数:2
char 的二进制数:16
char 的最大取值范围:65535
char 的最小取值范围: 0

低类型转为高类型自动转换:byte->short->char->int->long->float->double

高类型转为低类型:要强制转换,精度会丢失。

浮点型计算,小数点,金额计算最好用BigDecimal,用setScale设置精度,用compareTo比较数的大小。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!