簡體   English   中英

為什么Java原始數據類型不稱為Java數據類型?

[英]Why aren't Java Primitive Data Types called java data types?

我有一個問題,為什么Java原語數據類型不僅僅稱為“ Java數據類型”或類似的東西?

因為Java不僅具有原始類型,還具有更多的數據類型。 基本數據類型為:

  • byte
  • short
  • int
  • long
  • float
  • double
  • boolean
  • char

非基本數據類型是引用數據類型,是對object的引用。

一些例子是:

  • String
  • Integer
  • ArrayList
  • Random
  • JFrame

這是兩種類型之間差異的簡單示例:

int i1 = 10;
Integer i2 = Integer.valueOf(10);

int i1是原始數據類型int的變量,原始int值為10。

Integer i2是一個變量,其引用數據類型為Integer ,引用一個包含值10Integer對象。

替代文字

區分它們和對象

因為Java中有兩類類型。

根據Java語言規范的第4章:類型,值和變量

Java編程語言的類型分為兩類:基本類型和引用類型。 基本類型(第4.2節)boolean類型和數字類型。 數值類型是整數類型byteshortintlongchar ,浮點類型floatdouble 引用類型(第4.3節)是類類型,接口類型和數組類型。 還有一個特殊的空類型。 對象(第4.3.1節)是動態創建的類類型的實例或動態創建的數組。 引用類型的值是對對象的引用。 所有對象(包括數組)都支持Object(第4.3.2節)的方法 字符串文字由String對象(第4.3.3節)表示

要理解原因,我認為您需要查看Java以外的其他編程語言。 例如:

  • 在C ++中,有原始數據類型( intdouble等),構造數據類型( struct等)和對象/引用類型。

  • 在Ada中,存在原始數據類型,以及從原始類型派生的其他數據類型。 例如范圍類型。

因此,我的理解是將Java數據類型描述為“原始數據類型”,以將其置於其他語言的上下文中。 從沒有對象身份的意義上來說,它們是“數據類型”,從特定的類型由Java語言定義(並且是Java語言的基礎)的意義上來說,它們是“原始的”。

對象也是變量,因此術語“原始”用來區分那些類型。

區分對象數據類型。

因為引用類型也可以視為數據類型。 基元被視為值類型。 兩者都可以視為數據類型。

非原始類型稱為Java引用類型,它們的名稱以大寫字母開頭。 例如:Integer,Float等。對於非基本類型,我們可以創建實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM