• Java入门必学的数据类型!


    1 什么是Java 基本数据类型

    前面讲过变量,程序中的变量是一个存储单元,用于存储程序中的数据。而今天讲的数据类型是用来约定变量存储空间的大小。约定变量存储空间大小的目的是根据数据大小选择合适的存储空间,将合适的数据存储到相应大小的存储空间可以避免计算机资源浪费,提高软件运算性能。

    图片

    选择合适的存储空间

    Java中基本数据类型一共有4类8种:

    图片

    2 整数类型

    Java整数类型一共有4种, 用于存储各个范围的整数:

    图片

    整数类型只能存储整数,不能存储小数,小数需要采用float或者double类型存储。

    2.1 byte 类型

    byte类型也称为字节类型, 是Java中最小数据类型,其内部是8位2进制数字。有效数值范围:-128~127。由于有效范围很小,其用途也是很有限。一般用来表示内存中或者文件中的最小存储单元。

    提示:2进制知识在后续的一个独立课程单元中讲解。

    案例:

    byte max = Byte.MAX_VALUE; //最大值

    byte min = Byte.MIN_VALUE; //最小值

    System.out.println(max);

    System.out.println(min);

    byte b = 120;

    System.out.println(b);

    byte b1 = 128; //编译错误,不能超过 byte 范围

    Byte 是Java提供的包装类API, 在API课程阶段会详细讲解其功能。

    2.2 short 类型

    short类型是Java中存储整数数据范围较小的数据类型,内部是一个16位2进制数字,其有效范围-32768~32767,由于其范围小,在程序中很少使用。Java的设计者为了保持与传统C语言兼容而设计了short数据类型。

    除了考试时候能够遇到short类型,实际开发中极少使用short类型。

    由于short占有16位2进制数,其长度恰巧数byte类型2进制数的两倍,也称一个short数据占有2字节

    案例:

    short max = Short.MAX_VALUE;

    short min = Short.MIN_VALUE;

    System.out.println(max);

    System.out.println(min);

    short s = 12000;

    System.out.println(s);

    short s1 = 32777; //编译错误,32777 超过short范围

    与Byte类似Short也是包装类,在后期课程中详细讲解Short包装类的用途

    2.3 int 类型

    int类型是Java中最常用的整数类型,在计算机内部是一个32位2进制数字,范围是-2147483648 ~2147483647。这个范围非常实用,可以涵盖大多数整数用途,所以int用途最多最广。

    因为int在内存中的2进制数字是32位数,其2进制位长度是byte类型长度的4倍,也称int在内存中占有4个字节。

    整数直接量

    int整数使用事项:

    l直接给出的整数常数称为整数“直接量”,Java所有整数“直接量”都是int类型。“整数直接量”不能超过int范围。

    ¡默认的整数直接量是 10进制 直接量,数字:0123456789

    ¡使用0x开头的直接量是 16进制 直接量,数字:0123456789abcdef

    ¡使用0开头的直接量是 8进制 直接量,数字:01234567

    ¡使用0b开头的直接量是 2进制 直接量,数字:01

    l整数不能存储小数。

    l整数计算结果也是整数,并且除法结果是整除结果

    l整数计算时如果超过整数范围会自动溢出,溢出时候不会报错误。

    ¡要了解整数范围,预估计算结果,如果可能溢出就更换为long类型计算。

    整数“直接量”也称为整数“字面量”,都是指直接给出的整数常数。

    16进制、8进制、2进制和10进制的关系,在后面2进制课程中专门讲述。

    案例:

    int max = Integer.MAX_VALUE;

    int min = Integer.MIN_VALUE;

    System.out.println(max);

    System.out.println(min);

    int a = 1000000; //10进制

    int b = 0xef12ab; //16进制

    int c = 0123; //8进制

    int d = 0b1110111 //2进制

    System.out.println(a);

    System.out.println(b);

    System.out.println©;

    System.out.println(d);

    int e = 0128; //超过范围 0~7

    int f = 0x13efk;//超过范围 0~9 a~f

    int g = 0b12 //超过范围

    //int 类型除法计算结果是整除结果

    int n = 7/2;

    System.out.println(n);

    //int 计算时候超过范围会溢出

    int m = max + 1; //溢出为最小值

    System.out.println(m);

    最大值加1溢出为最小值的原理会在2进制课程中讲解。

  • 相关阅读:
    实施电子采购没思路?数商云助企业采购全流程高效协同
    dubbo学习(一)dubbo简介与原理
    基于k近邻算法的干豆品种分类
    weak的底层原理
    SCADA系统原理
    ingenic carrier-server fgets is err问题
    React + hooks + Ts 实现将后端响应的文件流(如Pdf)输出到浏览器下载
    私有云:【2】AD域的安装
    ElementUI之动态树+数据表格+分页
    complete完成量
  • 原文地址:https://blog.csdn.net/bdqnyczc/article/details/127968496