zoukankan      html  css  js  c++  java
  • 特殊情况:主要类型

    有一系列类需特别对待;可将它们想象成“基本”、“主要”或者“主”(Primitive)类型,进行程序设计 时要频繁用到它们。之所以要特别对待,是由于用 new创建对象(特别是小的、简单的变量)并不是非常有 效,因为new将对象置于“堆”里。对于这些类型,Java 采纳了与 C和 C++相同的方法。也就是说,不是用 new创建变量,而是创建一个并非句柄的“自动”变量。这个变量容纳了具体的值,并置于堆栈中,能够更 高效地存取。 Java 决定了每种主要类型的大小。就象在大多数语言里那样,这些大小并不随着机器结构的变化而变化。这 种大小的不可更改正是 Java 程序具有很强移植能力的原因之一。

    主类型 大小 最小值 最大值 封装器类型

    boolean 1 位 - - Boolean char 16位 Unicode 0 Unicode 2的 16次方-1 Character byte 8位 -128 +127 Byte(注释①) short 16 位 -2 的15 次方 +2的 15次方-1 Short(注释①) int 32位 -2的 31次方 +2 的31 次方-1 Integer long 64位 -2 的63 次方 +2的 63次方-1 Long float 32 位 IEEE754 IEEE754 Float double 64 位 IEEE754 IEEE754 Double Void - - - Void(注释①)

    ①:到 Java 1.1 才有,1.0 版没有。

    数值类型全都是有符号(正负号)的,所以不必费劲寻找没有符号的类型。 主数据类型也拥有自己的“封装器”(wrapper)类。这意味着假如想让堆内一个非主要对象表示那个主类 型,就要使用对应的封装器。例如: char c = 'x'; Character C = new Character('c'); 也可以直接使用: Character C = new Character('x'); 这样做的原因将在以后的章节里解释。

    1. 高精度数字 Java 1.1 增加了两个类,用于进行高精度的计算:BigInteger和 BigDecimal。尽管它们大致可以划分为 “封装器”类型,但两者都没有对应的“主类型”。
    48
    这两个类都有自己特殊的“方法”,对应于我们针对主类型执行的操作。也就是说,能对int或 float做的 事情,对BigInteger 和BigDecimal 一样可以做。只是必须使用方法调用,不能使用运算符。此外,由于牵 涉更多,所以运算速度会慢一些。我们牺牲了速度,但换来了精度。 BigInteger支持任意精度的整数。也就是说,我们可精确表示任意大小的整数值,同时在运算过程中不会丢 失任何信息。 BigDecimal支持任意精度的定点数字。例如,可用它进行精确的币值计算。 至于调用这两个类时可选用的构建器和方法,请自行参考联机帮助文档。

     1 package Com.TomTest;
     2 
     3 
     4 import java.util.Date;
     5 import java.awt.*;
     6 public class TomTest_48{
     7     public static void main(String args[]){
     8      Date date=new Date();
     9       Button button=new Button("确定");
    10       System.out.println(date.toString());
    11       System.out.println(button.toString());  
    12    }
    13 }
  • 相关阅读:
    Microsoft Enterprise Library 5.0 系列(二) Cryptography Application Block (初级)
    Microsoft Enterprise Library 5.0 系列(五) Data Access Application Block
    Microsoft Enterprise Library 5.0 系列(八) Unity Dependency Injection and Interception
    Microsoft Enterprise Library 5.0 系列(九) Policy Injection Application Block
    Microsoft Enterprise Library 5.0 系列(三) Validation Application Block (高级)
    软件研发打油诗祝大家节日快乐
    从挖井的故事中想到开发管理中最容易忽视的几个简单道理
    ITIL管理思想的执行工具发布
    管理类软件设计“渔”之演化
    20070926日下午工作流与ITILQQ群 事件管理 讨论聊天记录
  • 原文地址:https://www.cnblogs.com/borter/p/9438817.html
Copyright © 2011-2022 走看看