美文网首页
JAVA 基本数据类型

JAVA 基本数据类型

作者: TESTME | 来源:发表于2018-09-16 16:15 被阅读0次

    1.数据类型概念

    数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本数据类型和引用数据类型。
    基本数据类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。
    引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。

    变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

    2.内置数据类型

    Java提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型和一种布尔型。

    2.1 byte

    byte 数据类型是8位、有符号的,以二进制补码表示的整数;
    最小值是 -128(-2^7);
    最大值是 127(2^7-1);
    默认值是 0;
    byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
    例子:byte a = 100,byte b = -50。

    2.2 short

    short 数据类型是 16 位、有符号的以二进制补码表示的整数
    最小值是 -32768(-2^15);
    最大值是 32767(2^15 - 1);
    默认值是 0;
    short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
    例子:short s = 1000,short r = -20000。

    2.3 int

    int 数据类型是32位、有符号的以二进制补码表示的整数;
    最小值是 -2,147,483,648(-2^31);
    最大值是 2,147,483,647(2^31 - 1);
    一般地整型变量默认为 int 类型;
    默认值是 0 ;
    例子:int a = 100000, int b = -200000。

    2.4 long

    long 数据类型是 64 位、有符号的以二进制补码表示的整数;
    最小值是 -9,223,372,036,854,775,808(-2^63);
    最大值是 9,223,372,036,854,775,807(2^63 -1);
    这种类型主要使用在需要比较大整数的系统上;
    默认值是 0L;
    例子: long a = 100000L,Long b = -200000L。
    "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

    2.5 float:

    float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
    float 在储存大型浮点数组的时候可节省内存空间;
    默认值是 0.0f;
    浮点数不能用来表示精确的值,如货币;
    例子:float f1 = 234.5f。

    2.6 double:

    double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
    浮点数的默认类型为double类型;
    double类型同样不能表示精确的值,如货币;
    默认值是 0.0d;
    例子:double d1 = 123.4。

    2.7 boolean:

    boolean数据类型表示一位的信息;
    只有两个取值:true 和 false;
    这种类型只作为一种标志来记录 true/false 情况;
    默认值是 false;
    例子:boolean one = true。

    2.8 char:

    char类型是一个单一的 16 位 Unicode 字符;
    最小值是 \u0000(即为0);
    最大值是 \uffff(即为65,535);
    char 数据类型可以储存任何字符;
    例子:char letter = 'A';。

    3.引用类型

    在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
    对象、数组都是引用数据类型。
    所有引用类型的默认值都是null。
    一个引用变量可以用来引用任何与之兼容的类型。
    例子:Site site = new Site("Runoob")。

    4.常量

    常量在程序运行时是不能被修改的。
    在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:

    final double PI = 3.1415926;
    

    虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。

    5.自动类型转换

    整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
    转换从低级到高级
    byte,short,char—> int —> long—> float —> double

    必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。

    short a = 1;
    short b = 2;

    那么 a+b 是什么类型?
    答:在java的世界里,如果比int类型小的类型做运算,java在编译的时候就会将它们统一强转成int类型。当是比int类型大的类型做运算,就会自动转换成它们中最大类型那个。

    6.强制类型转换

    a.条件是转换的数据类型必须是兼容的。
    b.格式:(type)value type是要强制类型转换后的数据类型 实例:

    folat num =128.23;   
    int intNum = (int)num;
    

    数据类型转换必须满足如下规则:
    a.不能对boolean类型进行类型转换。
    b.不能把对象类型转换成不相关类的对象。
    c.在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
    d.转换过程中可能导致溢出或损失精度,例如:

    int i =128;   
    byte b = (byte)i;
    

    相关文章

      网友评论

          本文标题:JAVA 基本数据类型

          本文链接:https://www.haomeiwen.com/subject/ackfnftx.html