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

首頁 > 編程 > Java > 正文

Java數組的基本學習教程

2019-11-26 14:54:37
字體:
來源:轉載
供稿:網友

Java數組聲明、創建、初始化
一維數組的聲明方式:

type var[]; 或type[] var;

聲明數組時不能指定其長度(數組中元素的個數),

Java中使用關鍵字new創建數組對象,格式為:

數組名 = new 數組元素的類型 [數組元素的個數]

實例:
TestNew.java:

程序代碼:

public class TestNew {    public static void main(String args[]) {      int[] s ;      int i ;      s = new int[5] ;      for(i = 0 ; i < 5 ; i++) {        s[i] = i ;      }      for(i = 4 ; i >= 0 ; i--) {        System.out.println("" + s[i]) ;      }    }  } 

初始化:

1.動態初始化:數組定義與為數組分配空間和賦值的操作分開進行;
2.靜態初始化:在定義數字的同時就為數組元素分配空間并賦值;
3.默認初始化:數組是引用類型,它的元素相當于類的成員變量,因此數組分配空間后,每個元素也被按照成員變量的規則被隱士初始化。
實例:


TestD.java(動態):

程序代碼:

public class TestD {    public static void main(String args[]) {      int a[] ;      a = new int[3] ;      a[0] = 0 ;      a[1] = 1 ;      a[2] = 2 ;      Date days[] ;      days = new Date[3] ;      days[0] = new Date(2008,4,5) ;      days[1] = new Date(2008,2,31) ;      days[2] = new Date(2008,4,4) ;    } }  class Date {    int year,month,day ;    Date(int year ,int month ,int day) {      this.year = year ;      this.month = month ;      this.day = day ;    } } 

 

TestS.java(靜態):

程序代碼:

public class TestS   {      public static void main(String args[]) {        int a[] = {0,1,2} ;        Time times [] = {new Time(19,42,42),new Time(1,23,54),new Time(5,3,2)} ;      }   }    class Time   {      int hour,min,sec ;      Time(int hour ,int min ,int sec) {        this.hour = hour ;        this.min = min ;        this.sec = sec ;      }   }  

TestDefault.java(默認):

程序代碼:

public class TestDefault   {      public static void main(String args[]) {        int a [] = new int [5] ;        System.out.println("" + a[3]) ;      }   }  

JAVA基礎之一維數組和多維數組
java語言中,數組是一種最簡單的復合數據類型。數組是有序數據的集合,數組中的每個元素具有相同的數據類型,可以用一個統一的數組名和下標來唯一地確定數組中的元素。數組有一維數組和多維數組。

1.一維數組的定義

type arrayName[ ]; 

類型(type)可以為Java中任意的數據類型,包括簡單類型和復合類型。

例如:

int intArray[ ];  Date dateArray[]; 

2.一維數組的初始化

(1) 靜態初始化

int intArray[]={1,2,3,4};  String stringArray[]={"abc", "How", "you"}; 

(2) 動態初始化

1)簡單類型的數組

int intArray[];  intArray = new int[5]; 

2)復合類型的數組

String stringArray[ ];  String stringArray = new String[3];/*為數組中每個元素開辟引用 空間(32位) */ stringArray[0]= new String("How");//為第一個數組元素開辟空間 stringArray[1]= new String("are");//為第二個數組元素開辟空間 stringArray[2]= new String("you");// 為第三個數組元素開辟空間 

3.一維數組元素的引用

數組元素的引用方式為:

arrayName[index]
index為數組下標,它可以為整型常數或表達式,下標從0開始。每個數組都有一個屬性length指明它的長度,例如:intArray.length指明數組intArray的長度。

多維數組

Java語言中,多維數組被看作數組的數組。

1.二維數組的定義

type arrayName[ ][ ];  type [ ][ ]arrayName; 

2.二維數組的初始化

(1) 靜態初始化

int intArray[ ][ ]={{1,2},{2,3},{3,4,5}}; 

Java語言中,由于把二維數組看作是數組的數組,數組空間不是連續分配的,所以不要求二維數組每一維的大小相同。

(2) 動態初始化

1) 直接為每一維分配空間,格式如下:

arrayName = new type[arrayLength1][arrayLength2];  int a[ ][ ] = new int[2][3]; 

2) 從最高維開始,分別為每一維分配空間:

arrayName = new type[arrayLength1][ ];  arrayName[0] = new type[arrayLength20];  arrayName[1] = new type[arrayLength21];  …  arrayName[arrayLength1-1] = new type[arrayLength2n]; 

3) 例: 二維簡單數據類型數組的動態初始化如下,

int a[ ][ ] = new int[2][ ];  a[0] = new int[3];  a[1] = new int[5]; 

對二維復合數據類型的數組,必須首先為最高維分配引用空間,然后再順次為低維分配空間。而且,必須為每個數組元素單獨分配空間。

例如:

String s[ ][ ] = new String[2][ ];  s[0]= new String[2];//為最高維分配引用空間 s[1]= new String[2]; //為最高維分配引用空間 s[0][0]= new String("Good");// 為每個數組元素單獨分配空間 s[0][1]= new String("Luck");// 為每個數組元素單獨分配空間 s[1][0]= new String("to");// 為每個數組元素單獨分配空間 s[1][1]= new String("You");// 為每個數組元素單獨分配空間 

3.二維數組元素的引用

對二維數組中的每個元素,引用方式為:arrayName[index1][index2]

例如:

num[1][0]; 

4.二維數組舉例:

【例】兩個矩陣相乘

public class MatrixMultiply{  public static void main(String args[]){  int i,j,k;  int a[][]=new int [2][3]; //動態初始化一個二維數組 int b[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//靜態初始化 

 
一個二維數組  

int c[][]=new int[2][4]; //動態初始化一個二維數組 for (i=0;i<2;i++)  for (j=0; j<3 ;j++)  a[j]=(i+1)*(j+2);  for (i=0;i<2;i++){  for (j=0;j<4;j++){  c[j]=0;  for(k=0;k<3;k++)  c[j]+=a[k]*b[k][j];  }  }  System.out.println("*******Matrix C********");//打印Matrix C標記 for(i=0;i<2;i++){  for (j=0;j<4;j++)  System.out.println(c[j]+" ");  System.out.println();  }  }  } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴林左旗| 昌图县| 陇西县| 罗山县| 平乐县| 永顺县| 云南省| 菏泽市| 高安市| 古丈县| 八宿县| 利辛县| 凤山市| 吉水县| 海宁市| 陇川县| 双柏县| 米林县| 琼海市| 绍兴县| 甘肃省| 安乡县| 武汉市| 堆龙德庆县| 东乌珠穆沁旗| 阳谷县| 油尖旺区| 揭西县| 永川市| 买车| 阿城市| 防城港市| 凤庆县| 洛隆县| 绵竹市| 农安县| 绩溪县| 太白县| 景泰县| 池州市| 尉氏县|