Java基礎之數組

  數組的概述數組

    1 、數組能夠當作多個相同類型數據組合,對這些數據的統一管理;spa

    2 、數組變量屬於引用類型,數組也能夠當作是對象,數組中的每個元素至關於該對象的成員變量;code

    3 、數組中的元素能夠使任意的數據類型,包括基本類型和引用類型。對象

  一維數組的聲明blog

    1 、數組的聲明方式:索引

      1)、數據類型[] 變量名;內存

        如:double[] scores;     String[] names;ci

       2)、數據類型 變量名[]; 字符串

        如:double scores[];     String name[];input

      通常狀況下都是用第一種方式聲明數組,格式明顯。

    二、初始化數組:

      1)、數據類型[] 變量名={直接賦值};

        如:int[] number = {1,2,’A’};

      2)、數據類型[] 變量名 = new 數據類型[長度];

        如:int[] number = new int[5];

      3)、數據類型[] 變量名 = new 數據類型[]{賦值};

        如:int[] number = new int[]{1,2,3}

      4)、先聲明後初始化,通常只能用第二種和第三種方式,就是先在內存空間中開闢一塊內存空間才能使用;

        如:int[] num; num = new int[5];   或者: int[] num;  num = new int[]{1,2,3};

    三、數組的訪問:

      1)、根據下標或索引去查找,數組下標從0開始;

      2)、整型int數組若是沒有賦值默認值爲0;字符串默認值爲null;double和float默認值爲0.0;char、byte和short型默認值爲0(這三種類型的數據將自動升級成整型數據類型,故默認值爲0);boolean型默認值爲false;

      3)、數組訪問不能超出數組的長度減1;超出下標將會報數組下標越界的錯誤;

       4)、經過變量名.length來獲取數組的長度。

  示例代碼:

    一、向一個有序數組中插入輸入的數據,插入後的數組仍然是一個有序數組

 

 1 public class InsertNumToArray {
 2 
 3     public static void main(String[] args) {
 4         System.out.println("請輸入一個整數:");
 5         Scanner sc = new Scanner(System.in);
 6         int number = sc.nextInt();
 7         
 8         int[] num = { 19, 29, 39, 49, 59, 69, 79, 89, 99 };
 9         int[] nums = new int[num.length + 1];
10         int insertIndes = 0;
11         for (int i = 0; i < num.length; i++) {
12             if (num[i] > number) {
13                 insertIndes = i;
14                 break;
15             }else{
16 //                if(i == num.length - 1){
17 //                    insertIndes = i + 1;
18 //                }
19                 insertIndes = num.length;
20             }
21         }
22         
23         for (int j = 0; j < nums.length; j++) {
24             if (j >= insertIndes) {
25                 if (j == insertIndes){
26                     nums[j] = number;
27                 }
28                 if (j + 1 < nums.length){
29                     nums[j + 1] = num[j];
30                 }
31             } else {
32                 nums[j] = num[j];
33             }
34         }
35         
36         for (int i = 0; i < nums.length; i++) {
37             System.out.print(nums[i] + " ");
38         }
39         
40     }
41 
42 }

 

  關於二維數組問題,二維數組其實就是將數組當中的每個元素都是數組組成的集合。

    具體可參考下面的部分代碼示例:

 1 private static void searchCity() {
 2         String[] citys = { "四川", "雲南", "浙江", "江蘇" };
 3         String[][] message = new String[][] { { "成都", "綿陽", "自貢" }, { "麗江", "大理", "昆明" }, { "杭州", "嘉興", "溫州", "寧波" },
 4                 { "蘇州", "張家港", "南京" } };
 5 
 6         for (int i = 0; i < citys.length; i++) {
 7             System.out.print(i + 1 + "、" + citys[i] + "\0");
 8         }
 9 
10         System.out.println();
11         System.out.println("請輸選擇省份對應的序號:");
12         Scanner input = new Scanner(System.in);
13         int number = input.nextInt();
14 
15         System.out.println("您選擇的省份是: " + citys[number - 1] + "省\n可選擇的城市以下所示:");
16         for (int i = 0; i < message[number - 1].length; i++) {
17             System.out.print(i + 1 + "、" + message[number - 1][i] + "\0");
18         }
19 
20         System.out.println();
21         System.out.println("請選擇對應的城市序號:");
22         int cityNumber = input.nextInt();
23         System.out.println("您選擇的是:" + citys[number - 1] + "省" + message[number - 1][cityNumber - 1]);
24     }
25 
26     /**
27      * 猜數字
28      */
29     private static void guessTheNumber() {
30         int number = 20;
31         System.out.println("請輸入一個數字:");
32         Scanner sc = new Scanner(System.in);
33         boolean isGuess = false;
34         do {
35             int guessNum = sc.nextInt();
36             if (guessNum == number) {
37                 System.out.println("恭喜你猜對了!");
38                 isGuess = true;
39             } else if (guessNum > number) {
40                 System.out.println("您猜的數字大了,從新輸入:");
41                 isGuess = false;
42             } else {
43                 System.out.println("您猜的數字小了,從新輸入:");
44                 isGuess = false;
45             }
46         } while (!isGuess);
47     }
相關文章
相關標籤/搜索