java?中的數據類型

?

 Java 是靜態類型的,也是一種強類型語言,因為在 Java 中,每種類型的數據(如整數、字符、十六進制、打包十進制等)都預定義為編程語言的一部分,并且為給定程序定義的所有常量或變量都必須使用其中一種 Java 數據類型進行描述。

java 中的數據類型具有不同的大小和值,可以存儲在根據方便和情況制作的變量中,以涵蓋所有測試用例。Java 有兩類數據類型被隔離

  1. 原始數據類型: 如 boolean、char、int、short、byte、long、float 和 double。大寫 B 的 Boolean 是 Java 中原始數據類型 boolean 的包裝類。
  2. 非基元數據類型或對象數據類型: 如 String、Array 等。

與使用 ASCII 字符集的語言(如 C 或 C++)不同 ,Java 使用 Unicode 字符集來支持國際化。Unicode 需要 8 位以上的位來表示來自不同語言的各種字符,包括拉丁語、希臘語、西里爾語、中文、阿拉伯語等。因此,Java 使用 2 個字節來存儲一個字符,確保它可以表示任何 Unicode 字符。

// Java Program to demonstrate int data-type
import java.io.*;

class GFG 
{
    public static void main (String[] args) 
    {
          // declaring two int variables
        int a = 10;
          int b = 20;
      
          System.out.println( a + b );
    }
}
java?中的數據類型的圖1
輸出
30

現在,讓我們探索不同類型的原始和非原始數據類型。

Java 數據類型?

java?中的數據類型的圖3 編輯

JAVA 中的數據類型

Java 中的原始數據類型

原始數據只是單個值,沒有特殊功能。有 8 種原始數據類型。它們在下面以表格格式描述如下:

類型

描述

違約

大小

示例文本

值范圍

原始數據類型

1. boolean 數據類型

boolean 數據類型表示一個邏輯值,該值可以是 true 或 false。從概念上講,它表示單個位信息,但虛擬機使用的實際大小取決于實現,在實踐中通常至少是一個字節(八位)。boolean 類型的值不會使用強制轉換隱式或顯式轉換為任何其他類型。但是,如果需要,程序員可以編寫轉換代碼。

語法:

boolean booleanVar;

大小 :取決于虛擬機(通常為 1 字節,8 位)

2. byte 數據類型

byte 數據類型是 8 位有符號 2 的補碼整數。byte 數據類型對于在大型數組中節省內存非常有用。

語法:

byte byteVar;

大小 : 1 字節 (8 位)

3. short 數據類型

short 數據類型是 16 位有符號 2 的補碼整數。與 byte 類似,當內存節省很重要時,尤其是在空間受限的大型數組中,使用 short。

語法:


short shortVar;

大小 : 2 字節 (16 位)

4. int 數據類型

它是一個 32 位有符號 2 的補碼整數。

語法:

int intVar;

大小 : 4 字節 ( 32 位 )

請記住: 在 Java SE 8 及更高版本中,我們可以使用 int 數據類型來表示無符號 32 位整數,其值在 [0, 2 32-1].使用 Integer 類將 int 數據類型用作無符號整數。

5. long 數據類型

long 數據類型是 64 位有符號 2 補碼整數。當 int 不夠大,無法容納值時,使用它,從而提供更寬的范圍。

語法:

long longVar;

大小 : 8 字節(64 位)

請記住: 在 Java SE 8 及更高版本中,您可以使用 long 數據類型來表示無符號的 64 位 long,其最小值為 0,最大值為 2 64-1.Long 類還包含比較 Unsigned、除以 Unsigned 等方法,以支持 unsigned long 的算術運算。

6. float 數據類型

float 數據類型是單精度 32 位 IEEE 754 浮點。如果需要在大型浮點數數組中節省內存,請使用 float (而不是 double)。float 數據類型的大小為 4 字節(32 位)。

語法:

float floatVar;

大小 : 4 字節(32 位)

7. double 數據類型

double 數據類型是雙精度 64 位 IEEE 754 浮點。對于十進制值,此數據類型通常是默認選擇。double 數據類型的大小為 8 字節或 64 位。

語法:

double doubleVar;

大小 : 8 字節(64 位)

注: float 和 double 數據類型都是專為科學計算而設計的,其中近似誤差是可以接受的。如果準確性是首要考慮因素,則建議不要使用這些數據類型,而應使用 BigDecimal 類。

?

建議在 java 中四舍五入錯誤。

?

8. char 數據類型

char 數據類型是單個 16 位 Unicode 字符,大小為 2 字節(16 位)。

語法:

char charVar;

大小 : 2 字節 (16 位)

// Java Program to Demonstrate Char Primitive Data Type

class GFG 
{
    public static void main(String args[])
    {

        // Creating and initializing custom character
        char a = 'G';

        // Integer data type is generally
        // used for numeric values
        int i = 89;

        // use byte and short
        // if memory is a constraint
        byte b = 4;

        // this will give error as number is
        // larger than byte range
        // byte b1 = 7888888955;

        short s = 56;

        // this will give error as number is
        // larger than short range
        // short s1 = 87878787878;

        // by default fraction value
        // is double in java
        double d = 4.355453532;

        // for float use 'f' as suffix as standard
        float f = 4.7333434f;

        // need to hold big range of numbers then we need
        // this data type
        long l = 12121;

        System.out.println("char: " + a);
        System.out.println("integer: " + i);
        System.out.println("byte: " + b);
        System.out.println("short: " + s);
        System.out.println("float: " + f);
        System.out.println("double: " + d);
        System.out.println("long: " + l);
    }
}
java?中的數據類型的圖4
輸出
char: G
integer: 89
byte: 4
short: 56
float: 4.7333436
double: 4.355453532
long: 12121

非基元 (引用) 數據類型

Non-Primitive (Reference) 數據類型 將包含變量值的內存地址,因為引用類型不會將變量值直接存儲在內存中。它們是字符串、對象、數組等。

1. 字符串

定義為字符數組。Java 中字符數組和字符串之間的區別在于,字符串旨在在單個變量中保存字符序列,而字符數組是單獨的 char 類型實體的集合。與 C/C++ 不同,Java 字符串不以 null 字符結尾。

語法: 聲明字符串

<String_Type> <string_variable> = “<sequence_of_string>”;

例:

// Declare String without using new operator 
String s = "GeeksforGeeks"; 
// Declare String using new operator 
String s1 = new String("GeeksforGeeks"); 

2. 類

是用戶定義的藍圖或原型,從中創建對象。它表示一種類型的所有對象通用的屬性或方法集。通常,類聲明可以按順序包含這些組件:

  1. 修飾符 :類可以是公共的或具有默認訪問權限。
  2. 類名: 名稱應以首字母開頭(按照慣例大寫)。
  3. 超類(如果有): 類的父類(超類)的名稱(如果有),前面有關鍵字 extends。一個類只能擴展(子類)一個父類。
  4. Interfaces(如果有): 由類實現的接口的逗號分隔列表(如果有),前面是關鍵字 implements。一個類可以實現多個接口。
  5. Body: 類 body 由大括號 { } 括起來。

3. 對象

object是面向對象編程的基本單元,表示現實生活中的實體。典型的 Java 程序會創建許多對象,如您所知,這些對象通過調用方法進行交互。對象包括 :

  1. 狀態 :它由對象的屬性表示。它還反映了對象的屬性。
  2. 行為 :它由對象的方法表示。它還反映了對象對其他對象的響應。
  3. 標識 :它為對象提供唯一名稱,并使一個對象能夠與其他對象交互。

4. 界面

與類一樣, 接口可以具有方法和變量,但在接口中聲明的方法默認是抽象的(只有方法簽名,沒有正文)。

  • 接口指定類必須做什么,而不是如何操作。它是該類的藍圖。
  • Interface 是關于功能,比如 Player 可能是一個接口,任何實現 Player 的類都必須能夠(或必須實現)move()。因此,它指定了類必須實現的一組方法。
  • 如果類實現接口,并且不為接口中指定的所有函數提供方法體,則必須將該類聲明為 abstract。
  • ?
  • Java 庫示例是 Comparator Interface 。如果一個類實現了這個接口,那么它就可以用來對集合進行排序。
  • ?

5. 數組

是一組由通用名稱引用的類似類型的變量。Java 中的數組與 C/C++ 中的工作方式不同。以下是有關 Java 數組的一些要點。

  • 在 Java 中,所有數組都是動態分配的。(討論如下)
  • 由于數組在 Java 中是對象,我們可以使用 member length 來找到它們的長度。這與 C/C++ 不同,在 C/ 中,我們使用 size 來查找 length。
  • Java 數組變量也可以像其他變量一樣在數據類型后使用 [] 聲明。
  • 數組中的變量是有序的,每個變量都有一個以 0 開頭的索引。
  • Java 數組還可以用作靜態字段、局部變量或方法參數。
  • 數組的大小必須由 int 值指定,而不是 long 或 short。
  • 數組類型的直接超類是 Object。
  • ?
  • 每個數組類型都實現接口 Cloneable 和 java.io.Serializable。
  • ?

要記住的關鍵點

  • 強類型:Java 在編譯時強制執行嚴格的類型檢查,從而減少運行時錯誤。
  • 內存效率:根據所需的范圍和精度選擇正確的數據類型有助于高效的內存管理。
  • 字符串的不變性:Java 中的字符串一旦創建就無法更改,從而確保多線程環境中的安全性。
  • 數組長度:Java 中數組的長度一旦聲明就固定了,可以使用 屬性length

了解 Java 的數據類型是高效編程的基礎。每種數據類型都有特定的用例和約束,因此必須為手頭的任務選擇正確的類型。這確保了最佳的內存使用和程序性能,同時利用 Java 的強大類型系統在開發過程的早期捕獲錯誤。

?

簽出: Java 數據類型測驗

?

常見問題解答 – Java 數據類型

Java 中的數據類型是什么?

數據類型具有不同的大小和值,可以存儲在根據方便和情況制作的變量中,以涵蓋所有測試用例。

Java 中使用的 8 種數據類型是什么?

java 中有 8 種主要的原始數據類型,如下所述:
  • 布爾
  • 字節
  • int

哪個是 Java 中的原始類型?

原始數據類型是 java 中可以存儲單個值且不提供任何特殊功能的類型。

為什么 char 在 Java 中使用 2 個字節,什么是 \u0000?

Char 在 java 中使用 2 個字節,因為它使用 Unicode 系統而不是 ASCII 系統。“\u000” 是 Unicode 系統的最低范圍。

?

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1
1