中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中如何使用復雜數據類型

發布時間:2021-07-12 10:29:32 來源:億速云 閱讀:174 作者:Leah 欄目:編程語言

本篇文章為大家展示了Java中如何使用復雜數據類型,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Java復雜數據類型用法 (轉)[@more@]同簡單數據類型的定義一樣,Java虛擬機(JVM)還定義了索引(reference)這種數據類型。索引類型可以“引用”變量,由于Java沒有明確地定義指針類型,所以索引類型可以被認為就是指向實際值或者指向變量所代表的實際值的指針。一個對象可以被多于一個以上的索引所“指”。JVM從不直接對對象尋址而是操作對象的索引。

索引類型分成三種,它們是:類(class)、接口(interface)和數組(array)。索引類型可以引用動態創建的類實例、普通實例和數組。索引還可以包含特殊的值,這就是null 索引。null 索引在運行時上并沒有對應的類型,但它可以被轉換為任何類型。索引類型的默認值就是null。




類(Class)指的是定義方法和數據的數據類型。從內部來看,JVM通常把class類型對象實現為指向方法和數據的一套指針。定義class類型的變量只能引用類的實例或者null ,如以下代碼所示:
Myobject anObject = new MyObject(); // 合法
MyObject anotherObject = null; // 合法
MyObject stillAnotherObject = 0; // 非法


接口

接口(interface)好比一種模版,這種模版定義了對象必須實現的方法,其目的就是讓這些方法可以作為接口實例被引用。接口不能被實例化。類可以實現多個接口并且通過這些實現的接口被索引。接口變量只能索引實現該接口的類的實例。比方說,假設我們定義了一個接口,名字是Comparable ,同時還定義了一個類SortItem,這個類實現了接口Comparable,那么我們可以編寫以下的定義代碼:
Comparable c = new SortItem();

假如Comparable 接口定義了一個方法: public void compare(Comparable item), 那么SortItem 類就必須提供compare 方法的實現,如以下代碼所示:
public class SortItem implements Comparable
{
public void compare(Comparable item)
{
...method implementation here
}
}


數組

Java數組(array)是動態創建的索引對象,這一點和類非常相似,此外,同類一樣,數組只能索引數組的實例或者null ,如以下代碼所示:
int[] myIntArray = new int[5];
int[] anotherIntArray = null;

數組是Object類的繼承,這樣,Object類的所有方法都可以被數組調用。數組對象由元素組成。元素的數目也可以為0,在這種情況下稱做數組為空。所有的數組都是從0開始對元素編號的,這意味著數組內的第1個元素的索引編號是數字0。所有對數組元素的訪問都會在運行時上接受檢查,如果試圖使用編號小于0或者大于數組長度來索引元素就會產生ArrayIndexOutOfBoundsException異常并被扔出。

數組的元素按整型值索引,如以下代碼所示:
int[] myIntArray = { 9, 5, 6 };
int int1 = myIntArray[0];
int int2 = myIntArray[1];
int int3 = myIntArray[2];

數組對象的長度是不變的。為了改變數組變量的長度,你必須創建另一個數組并賦給變量,如以下代碼所示:
int[] myIntArray = { 9, 5, 6 };
System.out.println("myIntArray length = " +myIntArray.length); // 輸出結果是3
myIntArray = new int[] { 3, 6, 4, 2, 8 };
System.out.println("myIntArray length = " +myIntArray.length); // 輸出結果是5


復合數據類型

Java語言不支持結構(struct)或聯合(union)數據類型。它的復合數據類型是通過類或者接口來構造的,類提供了捆綁數據和方法的方式,同時可以限制對類的私有數據的訪問。比如說,如果用C語言,那么汽車(car)就可以如下代碼所示用結構來定義:
struct Car
{
char* model;
char* make;
int year;
Engine* engine;
Body* body;
Tire** tires;
}

以上的示范代碼還隱含采用了先前定義的引擎(Engine)、車身(Body)和輪胎(Tire)結構。而采用Java語言,汽車的定義如清單A所示。

以上的示例還假設我們以前都已經定義過CarModels和CarMakes接口以及Engine、Body、Tire、DurangoEngine、DurangoBody和GoodyearTire類。


復合數據類型的初始化

復合數據類型由構造器內定義的代碼實現初始化,構造器在類的創建函數(比如“new”之類)應用到類變量的時候被調用。構造器被調用之前,類的各個成員被初始化為各自的默認值或者顯式賦予的初值。清單B 中的程序代碼對以上過程進行了解釋。

在清單B的代碼中,當myClass 的實例用new 運算符創建時,構造器public MyClass()即被調用促使類對自身初始化。初始化的過程如下所示:

聲明“int myInt;”給myInt賦默認值0。
聲明“AnotherClass anotherClass;”給anotherClass分配默認值null。
構造器內的聲明“myint = 2;”給myInt賦值為2。
預定義復合數據類型

Java語言包含了大量的預定義復合數據類型。其中之一的String 類屬于java.lang 包。String 類提供的方法執行常用的字符串操作,比如length()、 substring(int beginIndex)、toUpperCase()、toLowerCase()、equals() 等等。另一種常用的Java復合數據類型是Vector 類,它屬于java.util 包。Vector 類定義的方法執行可擴展對象數組的常用操作。比如add(int index, Object element)、elementAt(int index)、isEmpty()和remove(int index)等。這些就是一小部分預定義復合數據類型的代表示例。在以后的文章里我們還會進一步對預定義復合數據類型進行討論。


上述內容就是Java中如何使用復雜數據類型,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦甸市| 龙岩市| 乌兰县| 霍山县| 屏南县| 岳西县| 湘西| 那曲县| 昭觉县| 平原县| 霍林郭勒市| 昌宁县| 灵璧县| 翁牛特旗| 东方市| 始兴县| 汶川县| 河北区| 塔河县| 醴陵市| 江门市| 昂仁县| 新和县| 兴仁县| 文山县| 郴州市| 南乐县| 陈巴尔虎旗| 政和县| 乌海市| 邻水| 永吉县| 志丹县| 济源市| 盘山县| 罗平县| 明光市| 岚皋县| 东乌珠穆沁旗| 望奎县| 合山市|