欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java創(chuàng)建數(shù)組的幾種方式總結(jié)

 更新時(shí)間:2016年10月01日 10:35:57   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇Java創(chuàng)建數(shù)組的幾種方式總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1、一維數(shù)組的聲明方式:

type[] arrayName; 或 type arrayName[];

附:推薦使用第一種格式,因?yàn)榈谝环N格式具有更好的可讀性,表示type[]是一種引用類型(數(shù)組)而不是type類型。建議不要使用第二種方式

下面是典型的聲明數(shù)組的方式:

 // 聲明整型數(shù)組
 int[] intArray0 ;
 int intArray1 [];
 // 聲明浮點(diǎn)型數(shù)組
 float floatArray0 [];
 float[] floatArray1 ;
 // 聲明布爾型數(shù)組
 boolean boolArray0 [];
 boolean[] boolArray1 ;
 // 聲明字符型數(shù)組
 char charArray0 [];
 char[] charArray1 ;
 // 聲明字符串?dāng)?shù)組
 String stringArray0[];
 String[] stringArray1;
 // 錯(cuò)誤的聲明數(shù)組的方式,聲明數(shù)組的時(shí)候不能指定其大小
 // int [5] intErrorArray0;
 // int intErrorArray1[5];

注:Java語(yǔ)言中聲明數(shù)組時(shí)不能指定其長(zhǎng)度(數(shù)組中元素的個(gè)數(shù)),這是因?yàn)閿?shù)組是一種引用類型的變量,,因此使用它定義一個(gè)變量時(shí),僅僅表示定義了一個(gè)引用變量(也就是定一個(gè)了一個(gè)指針),這個(gè)引用變量還未指向任何有效的內(nèi)存,所以定義數(shù)組時(shí)不能指定數(shù)組的長(zhǎng)度。而且由于定義數(shù)組僅僅只是定一個(gè)引用變量,并未指向任何有效的內(nèi)存空間,所以還沒(méi)有內(nèi)存空間來(lái)存儲(chǔ)數(shù)組元素,因此這個(gè)數(shù)組也不能使用,只有在數(shù)組進(jìn)行初始化后才可以使用。

2、一維數(shù)組的創(chuàng)建

Java中使用關(guān)鍵字new創(chuàng)建數(shù)組對(duì)象,格式為:數(shù)組名 = new 數(shù)組元素的類型 [數(shù)組元素的個(gè)數(shù)]

// 創(chuàng)建數(shù)組,如果在創(chuàng)建的同時(shí)不初始化數(shù)組則必須指定其大小
intArray0 = new int[3];
// 錯(cuò)誤的創(chuàng)建數(shù)組的方式,如果創(chuàng)建數(shù)組時(shí)不指定大小則必須初始化
// intArray1 = new int[];
// 創(chuàng)建數(shù)組時(shí),不指定數(shù)組大小則必須在創(chuàng)建的同時(shí)初始化數(shù)組
 intArray1 = new int[]{0,1,2};

使用new創(chuàng)建數(shù)組對(duì)象但是分配數(shù)組時(shí)會(huì)自動(dòng)為數(shù)組分配默認(rèn)值,具體如下:

 System.out.println( "intArray0[0]=" + intArray0 [0]);
 floatArray0 = new float[3];
 System. out.println("floatArray0[0]=" + floatArray0[0]);
 boolArray0 = new boolean[3];
 System. out.println("boolArray0[0]=" + boolArray0[0]);
 charArray0 = new char[3];
 System. out.println("charArray0[0]=" + charArray0[0]);
 stringArray0 = new String[3];
 System. out.println("stringArray0[0]=" + stringArray0[0]);

輸出如下:

 intArray0[0]=0
 floatArray0[0]=0.0
 boolArray0[0]=false
 charArray0[0]=
 stringArray0[0]=null

附:一旦使用new關(guān)鍵字為數(shù)組分配了內(nèi)存空間,每個(gè)內(nèi)存空間存儲(chǔ)的內(nèi)容就是數(shù)組元素的值,也就是數(shù)組元素就有了初始值,即使這個(gè)內(nèi)存空間存儲(chǔ)的內(nèi)容是空,這個(gè)空也是一個(gè)值null。也就是說(shuō)不可能只分配內(nèi)容空間而不賦初始值,即使自己在創(chuàng)建數(shù)組對(duì)象(分配內(nèi)容空間)時(shí)沒(méi)有指定初始值,系統(tǒng)也會(huì)自動(dòng)為其分配

附:諸如基礎(chǔ)數(shù)據(jù)類型的包裝類,其默認(rèn)的初始化值均為null,因?yàn)榛A(chǔ)數(shù)據(jù)類型的包裝類創(chuàng)建的數(shù)組屬于引用數(shù)組(對(duì)象數(shù)組),對(duì)象數(shù)組默認(rèn)的初始化值都是null

3、一維數(shù)組的初始化

數(shù)組的初始化分為靜態(tài)初始化、動(dòng)態(tài)初始化和默認(rèn)初始化:

靜態(tài)初始化是數(shù)組在初始化時(shí)由程序員顯式指定每個(gè)數(shù)組元素的初始值而數(shù)組長(zhǎng)度由系統(tǒng)決定。

動(dòng)態(tài)初始化是數(shù)組在初始化時(shí)只指定數(shù)組長(zhǎng)度,由系統(tǒng)為數(shù)組元素分配初始值。

a、數(shù)組靜態(tài)初始化的語(yǔ)法格式:

arrayName = new type[]{element1,element2,element3...}

或者使用簡(jiǎn)化的語(yǔ)法格式:

arrayName = {element1,element2,element3...}

b、數(shù)組動(dòng)態(tài)初始化的語(yǔ)法格式:

arrayName = new type[length];

附:靜態(tài)初始化時(shí)不能指定元素個(gè)數(shù),而動(dòng)態(tài)初始化時(shí)則必須指定元素個(gè)數(shù)。靜態(tài)初始化時(shí)數(shù)組能夠知道元素的個(gè)數(shù)所以不需要指定,而動(dòng)態(tài)初始化時(shí)數(shù)組元素個(gè)數(shù)未知因此必須指定。

// 靜態(tài)初始化
int intArray2 [] = new int[]{20,21,22};
// 靜態(tài)初始化簡(jiǎn)化方式
int intArray3 [] = {30,31,32};
// 動(dòng)態(tài)初始化
int[] intArray4 = new int[3];
// 錯(cuò)誤寫法:靜態(tài)初始化不能指定元素個(gè)數(shù)
// int intErrorArray5[] = new int[3]{50,51,52};
// 錯(cuò)誤寫法:動(dòng)態(tài)初始化必須指定元素個(gè)數(shù)
// int intErrorArray6[] = new int[];

注:一維數(shù)組這一塊記住兩點(diǎn),數(shù)組聲明的時(shí)候是不能指定大小的,也就是說(shuō)等號(hào)左邊的中括號(hào)中不能包含數(shù)字。另外一旦使用new關(guān)鍵字那么肯定在內(nèi)存中為數(shù)組分配了空間,則必然數(shù)組有默認(rèn)值。數(shù)組是對(duì)象數(shù)據(jù)類型

注:不要靜態(tài)初始化和動(dòng)態(tài)初始化同時(shí)使用,也就是說(shuō)不要再進(jìn)行數(shù)組初始化時(shí),既指定數(shù)組長(zhǎng)度,也為每個(gè)數(shù)組元素分配初始值。

4、數(shù)組進(jìn)行動(dòng)態(tài)初始化時(shí)系統(tǒng)分配初始值的規(guī)則

數(shù)組元素類型是基本類型中的整數(shù)類型(byte、short、int、long),則數(shù)組元素的值是0

數(shù)組元素類型是基本類型中的浮點(diǎn)類型(float、double),則數(shù)組元素的值是0.0

數(shù)組元素類型是基本類型中的字符類型(char),則數(shù)組元素的值是'\u0000'

數(shù)組元素類型是基本類型中的布爾類型(boolean),則數(shù)組元素的值是false

數(shù)組元素類型是基本類型中的引用類型(類、接口、數(shù)組),則數(shù)組元素的值是null

附:這部分源代碼:

package javabase;

public class CreateArray {
    public static void main(String args[]){
 /**************數(shù)組的聲明*******************/
 // 聲明整型數(shù)組
 int[] intArray0 ;
 int intArray1 [];
 // 聲明浮點(diǎn)型數(shù)組
 float floatArray0 [];
 float[] floatArray1 ;
 // 聲明布爾型數(shù)組
 boolean boolArray0 [];
 boolean[] boolArray1 ;
 // 聲明字符型數(shù)組
 char charArray0 [];
 char[] charArray1 ;
 // 聲明字符串?dāng)?shù)組
String stringArray0[];
String[] stringArray1;
 // 錯(cuò)誤的聲明數(shù)組的方式,聲明數(shù)組的時(shí)候不能指定其大小
 // int [5] intErrorArray0;
 // int intErrorArray1[5];

 /*********************數(shù)組的創(chuàng)建***********************/
 // 創(chuàng)建數(shù)組,如果在創(chuàng)建的同時(shí)不初始化數(shù)組則必須指定其大小
 intArray0 = new int[3];
 // 錯(cuò)誤的創(chuàng)建數(shù)組的方式,如果創(chuàng)建數(shù)組時(shí)不指定大小則必須初始化
 // intArray1 = new int[];
 // 創(chuàng)建數(shù)組時(shí),不指定數(shù)組大小則必須在創(chuàng)建的同時(shí)初始化數(shù)組
 intArray1 = new int[]{0,1,2};
System. out.println("intArray0[0]=" + intArray0[0]);
 floatArray0 = new float[3];
System. out.println("floatArray0[0]=" + floatArray0[0]);
 boolArray0 = new boolean[3];
System. out.println("boolArray0[0]=" + boolArray0[0]);
 charArray0 = new char[3];
System. out.println("charArray0[0]=" + charArray0[0]);
 stringArray0 = new String[3];
System. out.println("stringArray0[0]=" + stringArray0[0]);

 /**********************數(shù)組的初始化*************************/
 // 靜態(tài)初始化
 int intArray2 [] = new int[]{20,21,22};
 // 靜態(tài)初始化簡(jiǎn)化方式
 int intArray3 [] = {30,31,32};
 // 動(dòng)態(tài)初始化
 int[] intArray4 = new int[3];

 // 錯(cuò)誤寫法:靜態(tài)初始化不能指定元素個(gè)數(shù)
 // int intErrorArray5[] = new int[3]{50,51,52};
 // 錯(cuò)誤寫法:動(dòng)態(tài)初始化必須指定元素個(gè)數(shù)
 // int intErrorArray6[] = new int[];

System. out.println("intArray2[0]=" +intArray2 [0]);
System. out.println("intArray3[0]=" +intArray3 [0]);
System. out.println("intArray4[0]=" +intArray4 [0]);
   }
}

以上就是小編為大家?guī)?lái)的Java創(chuàng)建數(shù)組的幾種方式總結(jié)的全部?jī)?nèi)容了,希望對(duì)大家有所幫助,多多支持腳本之家~

相關(guān)文章

  • 詳解Maven多模塊打包遇到的問(wèn)題解決方法

    詳解Maven多模塊打包遇到的問(wèn)題解決方法

    這篇文章主要介紹了詳解Maven多模塊打包遇到的問(wèn)題解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • springboot2.X整合prometheus監(jiān)控的實(shí)例講解

    springboot2.X整合prometheus監(jiān)控的實(shí)例講解

    這篇文章主要介紹了springboot2.X整合prometheus監(jiān)控的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 基于Java語(yǔ)言開(kāi)發(fā)的一個(gè)高效的敏感詞過(guò)濾工具

    基于Java語(yǔ)言開(kāi)發(fā)的一個(gè)高效的敏感詞過(guò)濾工具

    這篇文章主要為大家詳細(xì)介紹了如何基于Java語(yǔ)言開(kāi)發(fā)的一個(gè)高效的敏感詞過(guò)濾工具,文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴可以參考一下
    2025-01-01
  • mybatis中批量插入的兩種方式(高效插入)

    mybatis中批量插入的兩種方式(高效插入)

    MyBatis是一個(gè)支持普通SQL查詢,存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持久層框架。這篇文章主要介紹了mybatis中批量插入的兩種方式(高效插入)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-09-09
  • Springboot接口參數(shù)校驗(yàn)的方法

    Springboot接口參數(shù)校驗(yàn)的方法

    在設(shè)計(jì)接口時(shí)我們通常需要對(duì)接口中的非法參數(shù)做校驗(yàn),以降低在程序運(yùn)行時(shí)因?yàn)橐恍┓欠▍?shù)而導(dǎo)致程序發(fā)生異常的風(fēng)險(xiǎn),這篇文章給大家介紹Springboot接口參數(shù)校驗(yàn)的方法,感興趣的朋友一起看看吧
    2024-03-03
  • 聽(tīng)說(shuō)用了YYYY-MM-dd的程序員,前些天都在加班改Bug

    聽(tīng)說(shuō)用了YYYY-MM-dd的程序員,前些天都在加班改Bug

    這篇文章主要介紹了YYYY-MM-dd的實(shí)用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • java9學(xué)習(xí)系列之在docker中如何運(yùn)行java9

    java9學(xué)習(xí)系列之在docker中如何運(yùn)行java9

    最近在學(xué)習(xí)java9,所以將學(xué)習(xí)中遇到的一些知識(shí)點(diǎn)分享給大家,下面這篇文章主要給大家介紹了java9學(xué)習(xí)系列之在docker中如何運(yùn)行java9的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-09-09
  • 詳解MyBatis Plus中分頁(yè)插件的使用

    詳解MyBatis Plus中分頁(yè)插件的使用

    這篇文章主要為大家詳細(xì)介紹了MyBatis Plus中分頁(yè)插件使用的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-02-02
  • Java實(shí)現(xiàn)讀取Jar文件屬性的方法詳解

    Java實(shí)現(xiàn)讀取Jar文件屬性的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語(yǔ)言實(shí)現(xiàn)讀取Jar文件屬性的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-08-08
  • Java嵌套類和內(nèi)部類詳解

    Java嵌套類和內(nèi)部類詳解

    這篇文章主要介紹了Java嵌套類和內(nèi)部類詳解,本文講解了什么是嵌套類及內(nèi)部類、靜態(tài)嵌套類、在外部類中定義內(nèi)部類、在方法中定義內(nèi)部類、匿名內(nèi)部類等內(nèi)容,需要的朋友可以參考下
    2015-04-04

最新評(píng)論