国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java:數組

2019-11-18 11:51:18
字體:
來源:轉載
供稿:網友

  數組
  java(TM) 提供了一些類用來治理一組數據或一個數據集合,例如,Vector (詳見 java.util.Vector )。當然,你也可以設計自己的類。
  
  Java 數組與用戶定義的容器對象如 Vector 實例不同,跟其他語言一樣,Java 類型系統對數組提供內嵌的,語言級的語法支持。雖然對數組語言級上的支持增加了語言定義的復雜性,但它是合理的(在很多程序員的腦中),因為數組的使用大大豐富了傳統的編程
  
  數組是數據元素的線性組合,其每數據元素可以通過下標 (index) 直接訪問。第一個元素下標值為 0;最后一個元素下標值為 n - 1。數組有以下形式:
  
  元素個數
  元素類型
  第 0 個元素
  第 1 個元素
  ...
  第 n - 1 個元素
  
  創建一個數組對象的語法是:
  
  數組定義
  <變量類型>[] <變量名>;
  
  這中聲明定義了一個數組對象--但沒有為數組對象分配空間,也沒有 為數組分配元素。你也可以不用在[]中指定數組的大小。
  
  為數組分配空間,用 new 操作符:
  
  int[] x = new int[5]; // array of five elements
  
  Java 原始類型的數組 x 具有如下形式:
  
  5
  int
  0
  0
  0
  0
  0
  
  元素為用戶定義類型 Dog 的數組定義如下:
  
  Dog[] dog = new Dog[5];
  
  此定義創建了數組對象本身,而沒有創建那些元素:
  
  5
  Dog
  null address
  null address
  null address
  null address
  null address
  
  此后,為了初始化數組元素(元素是引用變量),你可以用 new 操作符創建對象:
  
  dog[0] = new Dog();
  ...
  dog[4] = new Dog();
  
  為了創建多維數組,只用創建數組的數組即可,例如:
  
  T[][] t = new T[10][5];
  
  該定義創建了 10 個數組,數組元素為指向元素為 T 引用的數組的引用。注重該定義并沒為 T 的實例分配空間。
  
  下面是定義數組與初始化其元素一步完成的快捷形式,初始化的元素是用{ }括起來的分號隔開的數據值:
  
  數組定義和初始化
  <數據類型>[] <變量名> = { <表達式>, <表達式>, ... };
  
  下表給出了一些例子:
  
  數組定義和初始化示例
  int x = 4;
  int[] anArray = {3, x, 9, 2};
  String[] seasons = {"winter", "s  
  
  注重數組大小由初始化的數目決定。
  
  企圖存取一個沒有定義的數組元素將產生一個運行時異常 ArrayIndexOutOfBoundsException。存取一個定義了的數組元素但尚未將一個對象的引用分配給該元素將產生異常 NullPointerException。
  
  數組的使用將增強用戶定義類型 Dog 的多功能性。假定我們增加一個數組變量來存儲狗(dog)的日常食譜,代碼如下:
  
  class Dog {
  String[] dailyDiet = null;
  String barkSound = "Woof.";
  String name = "none";
  String breed = "unknown";
  ...
  
  dailyDiet 被初始化為 null,意即此處沒有合理的默認值,類定義假定一個存取方法將初始化該字段,而其他使用此變量的方法則應該很好地處理 null 值。
  
  下面,我們提供訪問方法來設置和讀取食譜:
  
  void setDiet(String[] diet) {
  dailyDiet = new String[diet.length];
  for (int i = 0; i < diet.length; i++)
  dailyDiet[i] =diet[i];
  }
  
  String[] getDiet() {
  return dailyDiet;
  }
  
  setDiet() 方法從參數數組 diet 創建了一個數組(實例變量) dailyDiet,其數組元素的數目由參數 diet 的長度變量 length (所有的數組都有 length 變量)決定。該值直接出現在 new 操作符后的 "[]" 中,用于分配所需數目的元素,每一元素都持有 (hold) 一個 String 的引用變量。
  
  在此,我們對數組使用了 for 循環結構,for 循環的語法是:
  
  for (...; ; ...) ...
  
  for 語句中的循環控制區域由三個分號隔開的部分構成。 第一部分 ... 是一個或多個逗號隔開的初始化語句,在第一次循環之前執行依次。第三部分 ... 是一個或多個逗號隔開的表達式,在每一輪循環之后執行。第二部分是循環檢驗條件。跟 while 語句一樣,檢驗都在每輪循環之前進行。
  
  for 循環控制區域中將下標變量 i 初始化為 0。在每一輪循環之后它的值加一,這樣,在語句組區域 (循環體) 中,我們從參數數組中拷貝每一個引用變量數組元素給實例變量數組。
  
  下面的方法說明了 Dog 的類定義中必須好好處理變量 dailyDiet 的 null 值。
  
  void displayDiet() {
  if (dailyDiet == null) {
  System.out.println("No diet established for " + getName() + ".");
  return;
  }
  else {
  System.out.println("The diet established for " + getName() + " is:");
  for (int i = 0; i < dailyDiet.length; i++)
  System.out.println(dailyDiet[i]);
  }
  }
  
  下面的程序創建了一個 Dog 實例,為之制定了一份日常食譜,并將食譜輸出:
  
  public class DogDiet {
  public static void main(String[] args) {
  Dog fido = new Dog();
  fido.setName("Fido");
  String[] diet = {
  "2 quarts dry food",
  "1 can meat",
  "2 bUCkets fresh water"
  };
  fido.setDiet(diet);
  fido.displayDiet();
  }
  }
  
  DogDiet 的輸出如下:
  
  D:/>java DogDiet
  The diet established for Fido is:
  2 quarts dry food
  1 can meat
  2 buckets fresh water

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪洞县| 大庆市| 华蓥市| 防城港市| 枣阳市| 平乡县| 彝良县| 泸水县| 泰宁县| 山阳县| 卓资县| 平安县| 兴山县| 桃江县| 永胜县| 岑巩县| 赣榆县| 邹城市| 诸暨市| 繁昌县| 青铜峡市| 巍山| 大理市| 丹东市| 正阳县| 大荔县| 天长市| 留坝县| 山阳县| 河北区| 肇东市| 仁化县| 望谟县| 铜川市| 育儿| 阆中市| 监利县| 比如县| 南京市| 合阳县| 合阳县|