zoukankan      html  css  js  c++  java
  • Java基础- 数据类型

    1.数据类型

    java数据类型分基本数据类型和引用数据类型

    具体数据类型的取值范围:

    数据类型                  大小                   默认值                  可表示的数据范围    

    byte(位)               1个字节 (8bit)            0                             -128~127

    short(短整数)        2个字节 (16bit)         0                             -3768~32767

    char(字符)             2个字节 (16bit)         u0000(空)              0~65535

      int(整数)               4个字节 (32bit)         0                            -2147483648~2147483647

    float(单精度)          4个字节 (32bit)          0.0f                      -3.4E38~3.4E38   

    double(双精度)       8个字节 (64bit)        0.0d                       -1.7E308~1.7E308

    long(长整型)         8个字节 (64bit)            0l             -9223373036054775808~9223372036054775007

    备注:如果要表示long型数据或float型数据,相应的数值后面可以加上l、L或f、F

    2、对象包装器

    java为了能将基本类型视为对象来处理,并能连接相关的方法,java为每个节本类型都提供了相应的包装类,这样便能将基本类型转化为对象来处理,专门用来包裹基本类型的类叫包装类,目的是提供一个对象实例作为壳,将基本类型包到这个对象中,然后提供很多操作数据的方法,使面向对象的编程变得更加容易。

    基本数据类型 /包装类

    byte(字节)/java.lang.Byte

    char(字符)/ java.lang.Character

    short(短整型) / java.lang.Short

    int(整型) / java.lang.Interger

    long(长整型) /java.lang.Long

    float(长整型) /java.lang.Float

    double(双精度)/java.lang.Double

    boolean(布尔型)/java.lang.Boolean

     3、基本数据类型间的转换

    自动类型转换:编译器自动完成类型转换,不需要在程序中编写代码。

    强制类型转换:强制编译器进行类型转换,必须在程序中编写代码。

    自动类型转换:容量小的数据类型可以自动转换成容量大的数据类型,byte→short(char)→int→long→float→double,byte、short、int不能相互转换,先转换成int类型在转换,boolean类型不能转换成任何其他数据类型。

    如:int a=257;byte b=(byte)a;在java中,int 类型占4个字节,byte占一个字节,故int类型转化为byte类型会出现位丢失的情况,将int的低4位作为byte类型的值。int值256二进制值100000001,后8位00000001,第一个0表示符号位,表示正数,所以变量b的值为1。

    在计算机中,存储数据是通过内存地址来区分不同数据的,内存地址用十六进制数表示。在计算机存储单元中,一个ASCII码值占一个字节(8个二进制位),其中最高位符号位。事实上,计算机内的二进制数值是以补码形式表示的,正数的补码和原码的形式相同,负数的补码是将该数的绝对值的二进制形式,按位取反再加一。int a=257;byte b=(byte)a;这时b=-128,a的二进制10000000,第一位符号位是1,a是负数,负数的补码10000000,b=-128

    注意问题:在整数之间进行类型转换时,数值不发生改变,而将整数类型,特别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在数据精度的损失。

    强制类型转换:容量大的数据类型转换成容量小的数据类型时,要加上强制转换符,但这样有可能会造成精度降低或数据溢出,要小心

     4、引用数据类型

    引用数据类型有类、数组、接口,

    Car   c;  c=new Car();

    c是对象引用变量,new Car()是对象本身在堆空间里创建的实体,一个Car类可以创建出无数个对象,这些对象没有名字,没法直接访问只能通过对象引用来间接访问对象。

     

    作用域(大括号中的内容)

     变量作用域

    {

    int x = 12;
       {

    int q = 96;
    /* x & q都有效 */
    System.out.println(x);
    System.out.println(q);
       }

    /*
    * 作用域的终点
    */

    /* x 有效 */
    System.out.println(x);

    /* q 无效 */
    //System.out.println(q);
    }

    /*
    * 作用域的终点
    */

    对象作用域

    {
    String s=new String("对象作用域");
    }
    /*
    * 作用域的终点
    */

  • 相关阅读:
    Redis之面试题总结
    nginx入门,安装
    NGINX工作原理(2)
    Ngnx工作原理(1)
    Linux之常用脚本
    进程管理工具之supervisor[详解]
    PHP进阶书籍
    LVS、Nginx及HAProxy
    高级程序员与初级程序员差别在哪里?
    详解Wox
  • 原文地址:https://www.cnblogs.com/kaola8023/p/7449814.html
Copyright © 2011-2022 走看看