黑馬程序員_數組和方法

------- android培訓java培訓、期待與您交流! ----------


一、數組

        我們使用java操作數據的時候,會想如何把同一種數據保存起來,要使用的時候又能取出來,這樣的話方便快捷。java中就給我們提供了一個容器,這種容器叫做數組。

        數組:用於存放同一種數據類型的容器。

        數組的定義,數組的定義分爲動態初始化和靜態初始化。

                首先講的是靜態初始化,靜態初始化就是給定每一個值,靜態初始化定義的格式如下:

                        數據類型[] 數組名 = new int[]{元素1,元素2,...};

                        簡化版的寫法就是:數據類型[] 數組名 = {元素1,元素2,...};               

            int[] arr = {36,25,33,22};

                第二種是動態初始化

                        數據類型[] 數組名 = new int[元素個數];

                既然這種初始化只給了元素的個數,那我們又怎麼來存儲數據和獲取數據呢?

                其實,數組存儲和獲取數據是使用下標來操作的,下標是整型數據,從0開始,第一個元素的爲0,第二個元素的下標爲1,以此類推...,元素的最大下標爲元素個數-1,元素的長度 = 元素的個數。

                         

package day05;

public class ArrayDemo01 {

	public static void main(String[] args) {
		
		int[] arr1 = new int[5];
		arr1[0] = 10;
		arr1[1] = 20;
		arr1[2] = 30;
		arr1[3] = 40;
		arr1[4] = 50;
		
		System.out.println(arr1[0]);
		System.out.println(arr1[1]);
		System.out.println(arr1[2]);
		System.out.println(arr1[3]);
		System.out.println(arr1[4]);
	}

}
以上方法要寫五個打印語句才能將每一個元素打印出來,代碼的重複性高,既然代碼的重複性高我們就可以使用循環進行改進

package day05;

public class ArrayDemo01 {

	public static void main(String[] args) {
		
		int[] arr1 = new int[5];
		arr1[0] = 10;
		arr1[1] = 20;
		arr1[2] = 30;
		arr1[3] = 40;
		arr1[4] = 50;
		
		for(int i = 0; i < 5; i++){
			System.out.println(arr1[i]);
		}
	}

}
其實以上的方法有一個缺陷,假如我們使用的是靜態初始化的方法定義數組並且數據量大的話,我們又怎麼知道數組的元素個數呢?數組有一個屬性爲length,用於獲取數組的長度,所以將以上代碼for語句中的 i <  5替換爲 i < arr.length就可以了。

以上講的所有的數組都是一維數組,在java中還提供了二維數組和多維數組

二維數組其實就是一個一維數組裏面存儲了多個一維數組,定義的方法與一維數組的方法類似

package day05;

public class ArrayDemo01 {

	public static void main(String[] args) {
		//靜態初始化
		int[][] arr1 = {{2,3},{5,6},{8,9}};
		//動態初始化
		int[][] arr = new int[2][3];//2代表的是外層的數組包含了幾個一維數組,3是每個一維數組可存儲的元素個數
		for(int i = 0; i < arr.length; i++){
			for(int j = 0; j < arr[i].length; j++){
				arr[i][j] = j;
			}
		}
		//遍歷數組,獲取每一個元素
		for(int i = 0; i < arr.length; i++){
			for(int j = 0; j < arr[i].length; j++){
				System.out.println(arr[i][j]);
			}
		}
	}

}


二、方法

      概念:完成某種特定功能的代碼塊,方法在C語言或者一些其他語言中又稱之爲函數。

      方法定義的格式:修飾符 返回值類型 方法名

      因爲main方法是被static,所以如果在main方法所在的類中定義一個方法並且在main方法中調用的話,方法需要使用static修飾,至於爲何要使用,在後面的博文中會介紹到

      假設我現在有一個需求,就是需要定義一個方法,該方法返回兩個數的和

      分析:1、方法中會有兩個參數

                   2、方法有一個返回值

      代碼呈現:

                  

package day05;

public class MethodDemo01 {

	public static void main(String[] args) {
        int num1 = 5;
        int num2 = 7;
        int sum = sum(num1,num2);
	}
	public static int sum(int a,int b){
		return a + b;
	}

}
return語句在前面就已經介紹過了,多用在方法中返回結果。
如果說方法是沒有返回值的話,又該如何使用呢?

如果方法沒有返回值的話就使用void關鍵字,調用時直接調用,不需要使用其他的變量去接收結果

package day05;

public class MethodDemo02 {

	public static void main(String[] args) {
        int num1 = 5;
        int num2 = 7;
        sum(num1,num2);
	}
	public static void sum(int a,int b){
		System.out.println(a+b);
	}
	

}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章