程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 特殊情況:Java的主類型

特殊情況:Java的主類型

編輯:關於JAVA

有一系列類需特別對待;可將它們想象成“基本”、“主要”或者“主”(Primitive)類型,進行程序設計時要頻繁用到它們。之所以要特別對待,是由於用new創建對象(特別是小的、簡單的變量)並不是非常有效,因為new將對象置於“堆”裡。

對於這些類型,Java采納了與C和C++相同的方法。也就是說,不是用new創建變量,而是創建一個並非句柄的“自動”變量。這個變量容納了具體的值,並置於堆棧中,能夠更高效地存取。


Java決定了每種主要類型的大小。就象在大多數語言裡那樣,這些大小並不隨著機器結構的變化而變化。這種大小的不可更改正是Java程序具有很強移植能力的原因之一。
 

①:到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。盡管它們大致可以劃分為“封裝器”類型,但兩者都沒有對應的“主類型”。
這兩個類都有自己特殊的“方法”,對應於我們針對主類型執行的操作。也就是說,能對int或float做的事情,對BigInteger和BigDecimal一樣可以做。只是必須使用方法調用,不能使用運算符。此外,由於牽涉更多,所以運算速度會慢一些。我們犧牲了速度,但換來了精度。
BigInteger支持任意精度的整數。也就是說,我們可精確表示任意大小的整數值,同時在運算過程中不會丟失任何信息。
BigDecimal支持任意精度的定點數字。例如,可用它進行精確的幣值計算。
至於調用這兩個類時可選用的構建器和方法,請自行參考聯機幫助文檔。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved