int a[][] = new int[3][2]; 表示定義一個(gè)三行二列的二維數(shù)組,但是a[0] = {1,6}; 是對(duì)一維數(shù)組進(jìn)行賦值,而a是二維數(shù)組無(wú)法使用一維數(shù)組的賦值方法,所以程序會(huì)報(bào)錯(cuò)。
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比白云網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式白云網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋白云地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴(lài)。
該代碼的正確方法應(yīng)該是:
int a[][] = new int[3][2];
a[0][0]=1;
a[0][1]=6;
擴(kuò)展資料
java定義二維數(shù)組的方法:
1、動(dòng)態(tài)初始化
數(shù)據(jù)類(lèi)型 數(shù)組名 [ ][ ] = new 數(shù)據(jù)類(lèi)型[m][n]
數(shù)據(jù)類(lèi)型 [ ][ ]? 數(shù)組名 = new 數(shù)據(jù)類(lèi)型[m][n]
數(shù)據(jù)類(lèi)型 [ ]? ?數(shù)組名 [ ] = new 數(shù)據(jù)類(lèi)型[m][n]
舉例:int [ ][ ]? arr=new? int [5][3];? 也可以理解為“5行3例”
2、 靜態(tài)初始化
數(shù)據(jù)類(lèi)型 [ ][ ]? ?數(shù)組名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};
舉例:int [ ][ ]? arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},}
參考資料來(lái)源:百度百科——二維數(shù)組
靜態(tài)初始化 和動(dòng)態(tài)初始化
一維數(shù)組的聲明方式:
type var[]; 或type[] var;
聲明數(shù)組時(shí)不能指定其長(zhǎng)度(數(shù)組中元素的個(gè)數(shù)),
Java中使用關(guān)鍵字new創(chuàng)建數(shù)組對(duì)象,格式為:
數(shù)組名 = new 數(shù)組元素的類(lèi)型 [數(shù)組元素的個(gè)數(shù)]
初始化:
1.動(dòng)態(tài)初始化:數(shù)組定義與為數(shù)組分配空間和賦值的操作分開(kāi)進(jìn)行;
2.靜態(tài)初始化:在定義數(shù)字的同時(shí)就為數(shù)組元素分配空間并賦值;
3.默認(rèn)初始化:數(shù)組是引用類(lèi)型,它的元素相當(dāng)于類(lèi)的成員變量,因此數(shù)組分配空間后,每個(gè)元素也被按照成員變量的規(guī)則被隱士初始化。
實(shí)例:
TestD.java(動(dòng)態(tài)):
程序代碼:
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(靜態(tài)):
程序代碼:
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 ;
}
}
靜態(tài)初始化就是static,動(dòng)態(tài)初始化就是new
所謂的靜態(tài)和動(dòng)態(tài)是相對(duì)于程序運(yùn)行是而言的,靜態(tài)是在程序編譯時(shí)就初始化好了的,動(dòng)態(tài)初始化是在程序運(yùn)行是才動(dòng)態(tài)分配內(nèi)存空間,
我覺(jué)得已經(jīng)夠通俗的了
我的理解時(shí)這樣的:
當(dāng)Person per[] = new Person[3];這句代碼執(zhí)行時(shí),系統(tǒng)會(huì)申明一個(gè)數(shù)組變量,并指向三個(gè)地址,但是地址中是沒(méi)有值的。
per[0] = new Person("張三");當(dāng)執(zhí)行到這句代碼時(shí),系統(tǒng)會(huì)將其中數(shù)組地址中索引為0的地址賦值,值為對(duì)象(Person('張三')),而并不是String內(nèi)存空間。
并且你貼出來(lái)的這兩句代碼中只會(huì)執(zhí)行一次new操作
也就是只會(huì)為其中一個(gè)對(duì)象的name賦值字符串“張三”
我覺(jué)得不會(huì)涉及到兩塊String內(nèi)存空間
靜態(tài)初始化就是static,動(dòng)態(tài)初始化就是new
所謂的靜態(tài)和動(dòng)態(tài)是相對(duì)于程序運(yùn)行是而言的,靜態(tài)是在程序編譯時(shí)就初始化好了的,動(dòng)態(tài)初始化是在程序運(yùn)行是才動(dòng)態(tài)分配內(nèi)存空間,
我覺(jué)得已經(jīng)夠通俗的了
網(wǎng)站名稱(chēng):動(dòng)態(tài)初始化java代碼 java靜態(tài)初始化和動(dòng)態(tài)初始化的區(qū)別
文章網(wǎng)址:http://jinyejixie.com/article24/doscjje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站策劃、企業(yè)建站、網(wǎng)站改版、響應(yīng)式網(wǎng)站、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)