zoukankan      html  css  js  c++  java
  • Java 的四类八种基本类型

    Java 为我们提供了四类八种基本数据类型,如下表所示:

    Java 中八种基本数据类型
      基本类型 包装类 包含 大小 范围
    类型名 默认值 类型名 默认值
    逻辑型 boolean false Boolean  null true 或 false 1位  ~
    字符型 char /uxxxx Character null Unicode 字符  16位  /u0000 ~ /uffff 
    整型 byte  Byte null 有符号整数  8位  -127 ~ 127 
    short  Short null 有符号整数  16位  -32768 ~ 32768
    int  Integer null 有符号整数  32位  -214783648 ~ 214783648
    long  Long null 有符号整数  64位  -9223372036854775808 ~ 9223372036854775808
    浮点型 float  0.0 Float null IEEE符点  32位  +-1.4E-45 ~ +-3.4028235E+38
    double  0.0 Double null IEEE符点  64位  +-4.9E-324 ~ +-1.7976931348623157E+308

    这里有几个要注意的地方:

    1、除了这八种基本数据类型,其他的类型都是引用类型。基本数据类型是在栈中直接分配内存,而引用类型是数据的引用在栈中,但它的对象在堆中。要想学好 Java ,必须知道各种数据在内存中的存储位置,对内存有了很好的了解,可以有助你更好地分析程序。

      引用类型和原始类型的行为完全不同,并且它们具有不同的语义。

      引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。

      对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

    int a= 5;//对于a你只能用来做计算,比如加减乘除
    Integer b = 5;//b你可以用来做很多事情,因为他是一个对象,他有很多方法,你可以像使用String对象那样使用它。

    2、Java 中默认的整数类型是 int 类型,如果要定义为 float 型,则要在数值后加上 l 或 L;

         默认的浮点型也是双精度浮点,如果要定义为 float 型,则要在数值后加上 f 或 F。

    3、基本数据的自动转换,小可转大,大转小会失去精度!

      byte -> short, char -> int -> long

      int -> float -> double

      long -> double

    4、一个字节(Bytes)等于8位,

      一个字节等于256个数,就是-128到127一共256。1字节(Bytes) = 8比特(Bit)。

      一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节。

      一个汉字就是两个字符,占用两个字节。

      一般讲大小是用 Bytes,大写的“B”,讲网络速率是用 bit,注意是小写的“b”。 
      例:一个文件有8MBytes 
      例:我下载文件的速率是256KB/s,即2Mbit,这通常就是我们宽带上网的速率。

     

    我们在平时或面试时会遇到的一些问题

    1、int 与 Integer:

    Integer 与 int 解惑:1、Integer 是一个类,用 Integer 声明一个变量其是一个对象类型(或者说引用类型);int 是基本类型,用 int 声明的变量是非对象类型,即不能在其上调用方法。
              2、“==”作用于对象上的时候,其比较的是对象的引用本身的值(或者说对象的地址更容易理解),而作用于基本类型的时候比较的就是基本类型的值。

    关于Integer的自动缓存大小:1、Integer 自动装箱的缓存大小问题。

     

     

     

     

     

  • 相关阅读:
    二叉树的存储方式以及递归和非递归的三种遍历方式
    java基础04 匿名内部类
    jvm007 jvm知识点总览
    jvm学习006 jvm内存结构分配
    java基础03 位运算符
    java基础02 数据类型转
    jvm005 从jvm的角度谈谈线程的实现
    Arcgis投影变换后图像变深的问题
    win 7 64位如何安装erdas 9.2
    Win7 64bit 成功安装ArcView3.X
  • 原文地址:https://www.cnblogs.com/tinypeng/p/3396387.html
Copyright © 2011-2022 走看看