基本数据类型所占字节|java基本类型和引用类型详解

更新时间:2017-01-30    来源:js教程    手机版     字体:

【www.bbyears.com--js教程】

java中包括基本类型和引用类型,下面我们来介绍一下各数据类型的一些属性与使用方法.

一、基本类型

(一)、数值类型

  1、浮点数: (1)float(2)double
特殊浮点值的属性

表达式 结果
math.sqrt(-1.0) -> nan
0.0 / 0.0 -> nan
1.0 / 0.0 -> 无穷大
-1.0 / 0.0 -> 负无穷大
nan + 1.0 -> nan
无穷大 + 1.0 -> 无穷大
无穷大 + 无穷大 -> 无穷大
nan > 1.0 -> false
nan == 1.0 -> false
nan < 1.0 -> false
nan == nan -> false
0.0 == -0.01 -> true


基本浮点类型和包装类浮点有不同的比较行为

使事情更糟的是,在基本 float 类型和包装类 float 之间,用于比较 nan 和 -0 的规则是不同的。对于 float 值,比较两个 nan 值是否相等将会得到 false ,而使用 float.equals() 来比较两个 nan float 对象会得到 true 。造成这种现象的原因是,如果不这样的话,就不可能将 nan float 对象用作 hashmap 中的键。类似的,虽然 0 和 -0 在表示为浮点值时,被认为是相等的,但使用 float.compareto() 来比较作为 float 对象的 0 和 -0 时,会显示 -0 小于 0 。


  2、整数类型 (1)byte (2)short (3)int (4)long

整数的各种类型及特性

名称 长度 数的范围
长整型 64 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
整型 32 –2,147,483,648 ~ 2,147,483,647
短整型 16 –32,768 ~ 32,767
字节型 8 –128~127

让我们分别讨论整数的每种类型。

3.3.1 字节型(byte)
最小的整数类型是字节型。它是有符号的8位类型,数的范围是-128~127。当你从网络或文件处理数据流的时候,字节类型的变量非凡有用。当你处理可能与java 的其他内置类型不直接兼容的未加工的二进制的数据时,它们也是有用的。


通过“byte ”这个要害字的使用来定义字节变量。例如,下面定义了2个变量,称为b 和c:byte b,c;
3.3.2 短整型(short)
short是有符号的16位类型,数的范围是 –32,768~32,767 。因为它被定义为高字节优先(称为big-endian 格式),它可能是java 中使用得最少的类型。这种类型主要适用于16位计算机,然而这种计算机现在已经很少见了。

下面是声明short变量的一些例子:

short s;
short t;

  3、字符类型  (1)char

char类型
---- 或 许 在c 语 言 中,最 常 被 滥 用 的 基 本 数 据 类 型 就 是char 类型。 这 一 类 型 常 被 滥 用, 部 分 原 因 是 因为 它 被 定 义 为8 位, 而 在 最 近 的25 年 里,8 个 位 也 就 是 计 算 机 内 存 中, 最 小 的 数据 存 储 单 元。 我 们 把 后 者(8 位 是 计 算 机内 存 中 最 小 的 数 据 存 储 单 元) 和 将ascii 字符 集 定 义 为7 位 的 情 况 联 系 在 一 起, 就可 以 看 到,char 类 型 俨 然 已 是 一 个 非 常方 便 的“ 通 用 的” 数 据 类 型。 而 且 在c 语言 中, 一 个 指 向char 型 变 量 的 指 针 也 成了 通 用 指 针 类 型, 因 为 所 有 能 够 被 指引 为char 型 的 数 据, 都 可 通 过 计 算, 被 指引 成 为 其 它 类 型 的 数 据。
java语言中所有的类都是object类的子类,它们直接或间接的继承了object类的方法,其中包括tostring()方法,这个方法是将对象转变成字符串的方法。因此字符串连接对象时(即某个类的实例对象),将调用这个对象的tostring()方法将对象转变为字符串然后再执行连接操作

import java.io.*;
public class bogus {
     public static void main(string args[]) {
          fileinputstream fis;
          datainputstream dis;
          char c;
          try {
         fis = new fileinputstream("data.txt");
          dis = new datainputstream(fis);
              while (true) {
                  c = dis.readchar();
                  system.out.print(c);
                  system.out.flush();
                  if (c == "n") break;
              }
              fis.close();
          } catch (exception e) { }
          system.exit(0);
    }
}

 


(二)、boolean类型

二、引用类型

  1、引用

    (1)类类型

    (2)接口类型

    (3)数组类型

搞清楚了,最基本的类型其实就八种,两个浮点型的,float和double;四个整型的:byte,short,int,long;一个字符类型:char,一个boolean型的。

其实这些类型就需要确定有什么样的取值范围,占用多少内存空间,为什么要了解基本数据类型的取值范围和占用的内存空间?

本文来源:http://www.bbyears.com/wangyezhizuo/30128.html