java之資料型別與陣列

GM的春天發表於2014-04-15


JAVA的資料型別:boolean; byte int long short;char;float double;列舉型別;類(class);介面(interface);陣列

java中的陣列:

    首先需要說明的是,陣列在java中是一種引用型別,也就是說,不管你陣列名怎樣,只要其引用相同,那就是同一個陣列。

    陣列的宣告:如下

  1. int[] a或者int a[],然後在使用時需要分配記憶體空間 a=new int[10]
  2. 宣告的時候就分配空間int a[]=new int[10]
  3. 也可以宣告的時候就為陣列賦值int a[]={4,3,6,7,2,8,9,1}       
    陣列的賦值:兩個型別相同的陣列才能賦值,這與記憶體為變數分配的儲存空間有關(個人猜想)。另外,陣列的賦值是引用的賦值,輸出一個陣列名,實際上是輸出它的引用,但是char型別的陣列除外,char型別的陣列,你將輸出陣列當中的內容。如果要輸出其引用,則要做字串的並置運算,如syso(" "+a)。

    陣列元素的賦值:

  1. 迴圈賦值,跟c++相同
  2. arraycopy方法   
  3. copyOf和copyOfRange   

    陣列的排序和二分查詢:sort升序,binarySearch對有序的陣列進行二分查詢 

import java.util.Arrays;

public class A {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//輸出“你”在unicode表中的位置
		char a='你';
		System.out.println((int)a);
		System.out.println((int)'你');
			
		//獲取一維陣列的長度
		char[] b=new char[10];
		System.out.println(b.length);
		//獲取二維陣列中一維陣列的長度
		char[][] c=new char[10][5];
		int i,j;
		int num=0,sum=0;
		for(i=0;i<c.length;i++){
			for(j=0;j<c[i].length;j++){
			    num=j;  
			}
			//System.out.println(num+1);
			sum+=(num+1);	
		}
		System.out.println(sum);
		int d[]={1,2,3,4,5};
		int e[]={6,7,8,9,10};
		System.out.println(d);//輸出陣列d的引用
		char f[]={'a','b','c'};
		System.out.println(f);//輸出的將不是f的引用,而是字元型別資料
		System.out.println(""+f);//並置運算,使char陣列輸出引用
		
		//陣列元素的賦值,使用d,e陣列
		int g[]=new int[5];
		//方法一迴圈賦值
		for(i=0;i<d.length;i++){
			g[i]=d[i];	
		}
		System.out.println(Arrays.toString(g));
		//方法二使用arraycopy方法,該方法由System呼叫
		System.arraycopy(e, 0, g, 0, e.length);
		System.out.println(Arrays.toString(g));
		//方法三使用copyOf和copyOfRange
		int h[]=Arrays.copyOf(d, 5);
		System.out.println(Arrays.toString(h));
		int k[]=Arrays.copyOfRange(e, 0, 5);
		System.out.println(Arrays.toString(k));//輸出結果參考各方法引數的說明
		
		//排序演算法和二分查詢
		int m[]={5,3,7,2,6};
		Arrays.sort(m);
		System.out.println(Arrays.toString(m));
		int x=Arrays.binarySearch(m, 7);
		System.out.println(x);//該方法返回的是所查詢到的元素的索引,否則返回一個負數
	}
}

相關文章