java第十四講--數組

包裝類

包裝類(Wrapper Class):針對於原生數據類型的包裝。所有的包裝類(8個)都位於java.lang包下,java中的8個包裝類分別是:Byte、Short、Integer、Long、Float、Double、Character、Boolean。他們的使用方式都是一樣的,可以實現原生數據類型與包裝類型的雙向轉換。

包裝類的作用:java中就屬於這八個原生數據類型不屬於對象,或者說是引用類型,剩下的都是對象,或者引用類型。

/*
 * Interger 在 lang包下,所以不需要導入
 * 將int類型轉化爲Interger,調用Interger的intValue()方法,將包裝類中的int值取出
 */
public class HelloWorld {
	    public static void main(String[] args) {
	       int a=666;
	       Integer integer=new Integer(a);
	       int b=integer.intValue();
	       System.out.println(a==b);   
	   }
}

數組(Array)

1、數組:相同類型數據的集合就叫做數組。
2、數組中的元素索引是從0開始的,對於數組來說,最大的索引==數組的長度-1
3、java中每個數組都有一個名爲length的屬性,表示數組的長度。length屬性是public,final,int的。數組長度一旦確定,就不能改變大小。
4、數組元素在內存中的存放是連續的。

public class HelloWorld {
	    public static void main(String[] args) {
	      int []arr=new int[6];//定義一個名字爲arr的數組,數組的長度爲6【第一種定義數組】
	      int []brr={1,2,3,4,5,6};//定義一個名字爲brr的數組,裏面有6個數組元素【第二種定義數組】
	      System.out.println(arr[0]);//因爲沒有給arr賦值,所以輸出int的默認值爲0
	      System.out.println(brr[0]);
	    }
}

在這裏插入圖片描述
5、equals

public class HelloWorld {
	    public static void main(String[] args) {
	      int []arr={1,2,3,4,5,6};
	      int []brr={1,2,3,4,5,6};
	      System.out.println(arr);
	      System.out.println(brr);
	     System.out.println(arr==brr);
	      System.out.println(arr.equals(brr));
	    }
}

在這裏插入圖片描述
【說明】:調用equals()方法,此時方法是繼承了Object類的方法,而且沒有被重寫,arr和brr分別是指向不同的數組對象地址,所以輸出結果爲false。從這邊可以明確,對於數組內容的比較千萬不能使用equals方法。

6、引用類型的數組

public class HelloWorld {
	    public static void main(String[] args) {
           HelloWorld []persons=new HelloWorld[3];        
			System.out.println(persons[1]);		
	}
}

輸出結果:
null
【說明】:除了原生數據類型之外,引用類型如果沒有賦初值,則其內容爲null,null表示不指向任何對象。

public class HelloWorld {
	    public static void main(String[] args) {
           Person []persons=new Person[3];
           persons[0]=new Person(10);
           persons[1]=new Person(20);
           persons[2]=new Person(30);
           for (int i = 0; i < persons.length; i++) {
			System.out.println(persons[i].age);
		}
	}
}
class Person{
	int age;
	public Person(int age){
		this.age=age;
	}
}

輸出結果:
10
20
30

二維數組

二維數組是一種平面的二維結構,本質上是數組的數組。
二維數組的定義方式:
int [][]arr=new int [2][3];//表示2行3列
一維數組體現的是線性結構,二維數組體現的是平面結構。

例子01:輸出9x9乘法表

public class HelloWorld {
	    public static void main(String[] args) {
          int [][]arr=new int[9][9];
        for (int i = 1; i <=arr.length; i++) {
			for (int j = 1; j <=i; j++) {
				System.out.print(j+"x"+i+"="+i*j+"\t");
			}
			System.out.println();
		}	
	}
}

在這裏插入圖片描述
定義不規則的數組

 int [][]arr=new int[2][];//可以先定義行,後定義列

定義一維數組可以:int [] a=new int []{1,2,3};
定義二維數組可以:int[][]a=new int [][]{1,2,3},{4},{5,6,7,8};注意這裏面大括號裏面每個大括號表示一行,大括號之間用逗號隔開。

例子02:輸出菱形(雙重循環)

public class  Test {
    public static void main(String[] args) {
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3 - i; j++) {
                System.out.print(" ");//輸出空格3210
            }
            for (int j = 1; j < (i + 1) * 2; j++) {
                System.out.print("*");//*的個數是1357
            }
            System.out.println();//4個分行
        }
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(" ");//輸出空格123
            }
            for (int j = 1; j <= 7 - 2 * i; j++) {
                System.out.print("*");//*的個數是531
            }
            System.out.println();//3個分行
        }
    }
}

在這裏插入圖片描述

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