最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

初識(shí)JAVA數(shù)組

 更新時(shí)間:2014年08月26日 10:35:30   投稿:hebedich  
java語(yǔ)言中,數(shù)組是一種最簡(jiǎn)單的復(fù)合數(shù)據(jù)類型。數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個(gè)元素具有相同的數(shù)據(jù)類型,可以用一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)來(lái)唯一地確定數(shù)組中的元素。數(shù)組有一維數(shù)組和多維數(shù)組。

1. 一維數(shù)組

1.1 一維數(shù)組的定義

type arrayName[];
type[] arrayName;

當(dāng)中類型(type)能夠?yàn)镴ava中隨意的數(shù)據(jù)類型,包含簡(jiǎn)單類型組合類型,數(shù)組名arrayName為一個(gè)合法的標(biāo)識(shí)符,[]指明該變量是一個(gè)數(shù)組類型變量。

另外一種形式對(duì)C++開(kāi)發(fā)人員可能認(rèn)為非常奇怪,只是對(duì)JAVA或C#這種開(kāi)發(fā)語(yǔ)言來(lái)說(shuō),另外一種形式可能更直觀,由于這里定義的僅僅是個(gè)變量而已,系統(tǒng)并未對(duì)事實(shí)上例化,僅僅需指明變量的類型就可以,也不需在[]指定數(shù)組大小。(第一種形式是不是僅僅是為了兼容曾經(jīng)的習(xí)慣,畢竟C語(yǔ)言的影響太大了?)

比如:

int intArray[];
聲明了一個(gè)整型數(shù)組,數(shù)組中的每一個(gè)元素為整型數(shù)據(jù)。與C、C++不同,Java在數(shù)組的定義中并不為數(shù)組元素分配內(nèi)存,因此[]中不用指出數(shù)組中元素個(gè)數(shù),即數(shù)組長(zhǎng)度,并且對(duì)于如上定義的一個(gè)數(shù)組是不能訪問(wèn)它的不論什么元素的。我們必須為它分配內(nèi)存空間,這時(shí)要用到運(yùn)算符new,其格式例如以下:
arrayName=new type[arraySize];
當(dāng)中,arraySize指明數(shù)組的長(zhǎng)度。如:
intArray=new int[3];

為一個(gè)整型數(shù)組分配3個(gè)int型整數(shù)所占領(lǐng)的內(nèi)存空間。

通常,這兩部分能夠合在一起,格式例如以下:

type arrayName=new type[arraySize]; 
比如:
int intArray=new int[3];
1.2 一維數(shù)組元素的引用

定義了一個(gè)數(shù)組,并用運(yùn)算符new為它分配了內(nèi)存空間后,就能夠引用數(shù)組中的每個(gè)元素了。數(shù)組元素的引用方式為:
 
arrayName[index]
當(dāng)中:index為數(shù)組下標(biāo),它能夠?yàn)檎统?shù)或表達(dá)式。如a[3],b[i](i為整型),c[6*I]等。下標(biāo) 從0開(kāi)始,一直到數(shù)組的長(zhǎng)度減1。對(duì)于上面樣例中的in-tArray數(shù)來(lái)說(shuō),它有3個(gè)元素,分別為:
intArray[0],intArray[1],intArray[2]。注意:沒(méi)有intArray[3]。
 
另外,與C、C++中不同,Java對(duì)數(shù)組元素要進(jìn)行越界檢查以保證安全性。同一時(shí)候,對(duì)于每一個(gè)數(shù)組都有一個(gè)屬性length指明它的長(zhǎng)度,比如:intArray.length指明數(shù)組intArray的長(zhǎng)度。
 

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

執(zhí)行結(jié)果例如以下:

C:/>java ArrayTest
a[4]=4
a[3]=3
a[2]=2
a[1]=1
a[0]=0

該程序?qū)?shù)組中的每一個(gè)元素賦值,然后按逆序輸出。
 
1.3 一維數(shù)組的初始化

對(duì)數(shù)組元素能夠依照上述的樣例進(jìn)行賦值。也能夠在定義數(shù)組的同一時(shí)候進(jìn)行初始化。
比如:
int a[]={1,2,3,4,5};
用逗號(hào)(,)分隔數(shù)組的各個(gè)元素,系統(tǒng)自己主動(dòng)為數(shù)組分配一定空間。
 
與C中不同,這時(shí)Java不要求數(shù)組為靜態(tài)(static),事實(shí)上這里的變量相似C中的指針,所以將其作為返回值給其他函數(shù)使用,仍然是有效的,在C中將局部變量返回給調(diào)用函數(shù)繼續(xù)使用是剛開(kāi)始學(xué)習(xí)的人非常easy犯的錯(cuò)誤。
 
2. 多維數(shù)組

與C、C++一樣,Java中多維數(shù)組被看作數(shù)組的數(shù)組。比如二維數(shù)組為一個(gè)特殊的一維數(shù)組,其每一個(gè)元素又是一個(gè)一維數(shù)組。以下我們主要以二維數(shù)為例來(lái)進(jìn)行說(shuō)明,高維的情況是相似的。

2.1 二維數(shù)組的定義

二維數(shù)組的定義方式為:

type arrayName[][];
比如:
int intArray[][];

與一維數(shù)組一樣,這時(shí)對(duì)數(shù)組元素也沒(méi)有分配內(nèi)存空間,同要使用運(yùn)算符new來(lái)分配內(nèi)存,然后才干夠訪問(wèn)每一個(gè)元素。
對(duì)高維數(shù)組來(lái)說(shuō),分配內(nèi)存空間有以下幾種方法:

1. 直接為每一維分配空間,如:
int a[][]=new int[2][3];

2. 從最高維開(kāi)始,分別為每一維分配空間,如:

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

完畢1中同樣的功能。這一點(diǎn)與C、C++是不同的,在C、C++中必須一次指明每一維的長(zhǎng)度。

2.2 二維數(shù)組元素的引用

對(duì)二維數(shù)組中每一個(gè)元素,引用方式為:arrayName[index1][index2] 當(dāng)中index1、index2為下標(biāo),可為整型常數(shù)或表達(dá)式,如a[2][3]等,相同,每一維的下標(biāo)都從0開(kāi)始。

2.3 二維數(shù)組的初始化

有兩種方式:
1. 直接對(duì)每一個(gè)元素進(jìn)行賦值。
2. 在定義數(shù)組的同一時(shí)候進(jìn)行初始化。
 
如:int a[][]={{2,3},{1,5},{3,4}};
定義了一個(gè)3×2的數(shù)組,并對(duì)每一個(gè)元素賦值。

相關(guān)文章

  • Java 多線程實(shí)例講解(一)

    Java 多線程實(shí)例講解(一)

    本文主要介紹Java 多線程的知識(shí),這里整理了詳細(xì)的資料及簡(jiǎn)單示例代碼有需要的小伙伴可以參考下
    2016-09-09
  • 使用IntelliJ?IDEA創(chuàng)建簡(jiǎn)單的Java?Web項(xiàng)目完整步驟

    使用IntelliJ?IDEA創(chuàng)建簡(jiǎn)單的Java?Web項(xiàng)目完整步驟

    這篇文章主要介紹了如何使用IntelliJ?IDEA創(chuàng)建一個(gè)簡(jiǎn)單的JavaWeb項(xiàng)目,實(shí)現(xiàn)登錄、注冊(cè)和查看用戶列表功能,使用Servlet和JSP技術(shù),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • SpringBoot?MongoCustomConversions自定義轉(zhuǎn)換方式

    SpringBoot?MongoCustomConversions自定義轉(zhuǎn)換方式

    這篇文章主要介紹了SpringBoot?MongoCustomConversions自定義轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 解決JavaMail附件名字過(guò)長(zhǎng)導(dǎo)致的亂碼問(wèn)題

    解決JavaMail附件名字過(guò)長(zhǎng)導(dǎo)致的亂碼問(wèn)題

    這篇文章主要介紹了解決JavaMail附件名字過(guò)長(zhǎng)導(dǎo)致的亂碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • 解決springboot運(yùn)行出現(xiàn)錯(cuò)誤:找不到或無(wú)法加載主類com.xxxx.xxxx.Application問(wèn)題

    解決springboot運(yùn)行出現(xiàn)錯(cuò)誤:找不到或無(wú)法加載主類com.xxxx.xxxx.Application問(wèn)題

    文章介紹了在服務(wù)器上運(yùn)行一個(gè)未使用的Java項(xiàng)目時(shí)遇到的“找不到或無(wú)法加載主類”錯(cuò)誤,并提供了兩種解決方法:通過(guò)Maven install或build …、Goals輸入install并跳過(guò)測(cè)試來(lái)重新構(gòu)建項(xiàng)目
    2024-11-11
  • SpringBoot web開(kāi)發(fā)源碼深入分析

    SpringBoot web開(kāi)發(fā)源碼深入分析

    Web開(kāi)發(fā)的核心內(nèi)容主要包括內(nèi)嵌的Servlet容器和SpringMVCSpringBoot使用起來(lái)非常簡(jiǎn)潔,大部分配置都有SpringBoot自動(dòng)裝配,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-10-10
  • Java Iterator迭代器與foreach循環(huán)代碼解析

    Java Iterator迭代器與foreach循環(huán)代碼解析

    這篇文章主要介紹了Java-Iterator迭代器與foreach循環(huán),主要包括Iterator迭代器接口的操作方法和foreach 循環(huán)語(yǔ)法解析,需要的朋友可以參考下
    2022-04-04
  • Java調(diào)用.dll文件的方法

    Java調(diào)用.dll文件的方法

    因?yàn)轫?xiàng)目的需求,要在JAVA項(xiàng)目中調(diào)用Windows的Dll(動(dòng)態(tài)鏈接庫(kù))文件,之前用Jni調(diào)用過(guò)C寫(xiě)的Dll文件,比較麻煩,這里不多說(shuō),網(wǎng)上也有很多這方面的文檔。在網(wǎng)上找到一個(gè)開(kāi)源的組件JNative,使用后感覺(jué)比較方便
    2013-04-04
  • IDEA查看所有的斷點(diǎn)(Breakpoints)并關(guān)閉的方式

    IDEA查看所有的斷點(diǎn)(Breakpoints)并關(guān)閉的方式

    我們?cè)谑褂肐DEA開(kāi)發(fā)Java應(yīng)用時(shí),基本上都需要進(jìn)行打斷點(diǎn)的操作,這方便我們排查BUG,也方便我們查看設(shè)計(jì)的是否正確,不過(guò)有時(shí)候,我們不希望進(jìn)入斷點(diǎn),所以我們需要快速關(guān)閉所有斷點(diǎn),故本文給大家介紹了IDEA查看所有的斷點(diǎn)(Breakpoints)并關(guān)閉的方式
    2024-10-10
  • 加速spring/springboot應(yīng)用啟動(dòng)速度詳解

    加速spring/springboot應(yīng)用啟動(dòng)速度詳解

    這篇文章主要介紹了加速spring/springboot應(yīng)用啟動(dòng)速度詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì)對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

宁河县| 图木舒克市| 体育| 鱼台县| 永城市| 诸暨市| 深泽县| 柘荣县| 富平县| 永济市| 洛南县| 韶关市| 曲阳县| 南陵县| 同心县| 闸北区| 罗山县| 嘉黎县| 肃宁县| 赤峰市| 临泉县| 扬州市| 汝城县| 永仁县| 昌黎县| 新乡市| 镇平县| 易门县| 时尚| 乌拉特前旗| 宿州市| 弋阳县| 犍为县| 广平县| 凤山市| 石河子市| 泸溪县| 滁州市| 乳山市| 镇坪县| 延川县|