更新時(shí)間:2020-09-18 17:00:51 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2406次
現(xiàn)在java程序員的面試都十分注重對(duì)基本功的考察,java面試題大部分都是對(duì)java的基礎(chǔ)知識(shí)。Java算法、數(shù)據(jù)結(jié)構(gòu)以及數(shù)組都是學(xué)習(xí)java編程中的基礎(chǔ)知識(shí),今天來(lái)學(xué)習(xí)java不規(guī)則數(shù)組的內(nèi)容,也是比較簡(jiǎn)單,java零基礎(chǔ)的新手小白也可以學(xué)習(xí)。
所看到的數(shù)組與其他程序設(shè)計(jì)語(yǔ)言中提供的數(shù)組沒(méi)有多大區(qū)別,但實(shí)際存在著一些細(xì)微的差異,而這正是java語(yǔ)言的優(yōu)勢(shì)所在:java實(shí)際上沒(méi)有多維數(shù)組,只有一維數(shù)組。多維數(shù)組解釋為“數(shù)組的數(shù)組”。
例如,balances數(shù)組實(shí)際上是一個(gè)包含10個(gè)元素的數(shù)組,而每個(gè)元素又是一個(gè)由6個(gè)浮點(diǎn)數(shù)組成的數(shù)組,具體參見(jiàn)下圖的一個(gè)二維數(shù)組:
表達(dá)式balances[i]引用第i個(gè)子數(shù)組,也就是二維表的第i行。它本身也是一個(gè)數(shù)組,balances[i][j]引用這個(gè)數(shù)組的第j項(xiàng)。由于可以單獨(dú)地存取數(shù)組的某一行,所以可以對(duì)兩行進(jìn)行交換。
還可以很方便地構(gòu)造一個(gè)java不規(guī)則數(shù)組,即數(shù)組的每一行有不同的長(zhǎng)度。下面是一個(gè)典型的例子。在這個(gè)例子中,創(chuàng)建一個(gè)數(shù)組,第i行第j列將存放“從i個(gè)數(shù)值中抽取j個(gè)數(shù)值”產(chǎn)生的結(jié)果。
因?yàn)閖不可能大于i,所以矩陣是三角形的。第i行有i+1個(gè)元素。(允許抽取0個(gè)元素,這也是一種選擇。)要想創(chuàng)建一個(gè)java不規(guī)則數(shù)組,首先需要分配一個(gè)具有所含行數(shù)的數(shù)組。
int[][]odds = new int[NMAX + 1][];
接下來(lái),分配這些行。
for(int n =0;n<= X; ntt)
odds[n] = new int[n + 1];
在分配了數(shù)組之后,假定沒(méi)有超出邊界,就可以采用通常的方式訪問(wèn)其中的元素了。
最后給出一個(gè)java不規(guī)則數(shù)組的程序:
上面的內(nèi)容給出了java不規(guī)則數(shù)組的使用方法,希望大家都能學(xué)會(huì)java不規(guī)則數(shù)組的知識(shí),有不明白有疑問(wèn)或者想學(xué)習(xí)更多java知識(shí)的朋友們,可以通過(guò)觀看學(xué)習(xí)java視頻教程的方式來(lái)學(xué)習(xí),不斷提高自己的java水平。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743