国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java創(chuàng)建數(shù)組、賦值的四種方式,聲明+創(chuàng)建+初始化 詳解

這篇具有很好參考價值的文章主要介紹了Java創(chuàng)建數(shù)組、賦值的四種方式,聲明+創(chuàng)建+初始化 詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、創(chuàng)建數(shù)組的四種方式

以int數(shù)據(jù)類型為例

@Test
public void testNewArray() {
    //創(chuàng)建數(shù)組

    //法一
    int[] arr1 = new int[]{1,2,3,4,5};
    System.out.println(arr1.length + "   " + arr1[2]);   //5   3
    //Arrays.toString(Object[])  將數(shù)組的元素生成字符串,數(shù)組的各個元素使用方括號括著 [ ]
    System.out.println(Arrays.toString(arr1));   //[1, 2, 3, 4, 5]

    //法二 聲明、分配空間并賦值
    int[] arr2 = {1,2,3,4};
    System.out.println(arr2.length + "   " + arr2[2]);   //4   3

    //法三 聲明數(shù)組時指定元素個數(shù),然后賦值。此時所有的元素值均為0
    int[] arr3 = new int[4];
    System.out.println(arr3.length + "   " + arr3[3]);  //4   0

    //法四 聲明數(shù)組名、開辟空間、賦值
    int[] arr4;
    arr4 = new int[]{0,1,2,3};
    System.out.println(arr4.length + "   " + arr4[2]);   //4   2

    //創(chuàng)建多維數(shù)組
    int[][] doubleArr1 = {{1,2,3},{4,5,6},{7,8,9}};
    int m = 3, n = 4, q = 5;
    int[][] doubleArr2 = new int[m][n];  //其中n可以省略
    int[][][] tArr = new int[m][n][q];   //其中n、q可以省略
}

注意:

  • new 數(shù)據(jù)類型[]{},其中花括號可以省去,但要在[ ]中填寫數(shù)組的個數(shù);
  • 創(chuàng)建多維數(shù)組時 new后面第一個方括號中的元素數(shù)量不能省略

二、詳解

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

type[] arrayName; 或 type arrayName[];

推薦使用第一種格式,因為第一種格式具有更好的可讀性,表示type[]是一種引用類型(數(shù)組)而不是type類型。建議不要使用第二種方式

int[] intArr;

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

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

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

// 創(chuàng)建數(shù)組,如果在創(chuàng)建的同時不初始化數(shù)組則必須指定其大小
intArr = new int[5];
// 創(chuàng)建數(shù)組時,不指定數(shù)組大小則必須在創(chuàng)建的同時初始化數(shù)組
intArray1 = new int[]{0,1,2};
  • 一旦使用new關(guān)鍵字為數(shù)組分配了內(nèi)存空間,每個內(nèi)存空間存儲的內(nèi)容就是數(shù)組元素的值,也就是數(shù)組元素就有了初始值,即使這個內(nèi)存空間存儲的內(nèi)容是空,這個空也是一個值null。也就是說不可能只分配內(nèi)容空間而不賦初始值,即使自己在創(chuàng)建數(shù)組對象(分配內(nèi)容空間)時沒有指定初始值,系統(tǒng)也會自動為其分配
  • 基礎數(shù)據(jù)類型的包裝類,其默認的初始化值均為null,因為基礎數(shù)據(jù)類型的包裝類創(chuàng)建的數(shù)組屬于引用數(shù)組(對象數(shù)組),對象數(shù)組默認的初始化值都是null。

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

數(shù)組的初始化分為靜態(tài)初始化、動態(tài)初始化和默認初始化:

  • 靜態(tài)初始化是數(shù)組在初始化時由程序員顯式指定每個數(shù)組元素的初始值而數(shù)組長度由系統(tǒng)決定。
  • 動態(tài)初始化是數(shù)組在初始化時只指定數(shù)組長度,由系統(tǒng)為數(shù)組元素分配初始值。
//a、數(shù)組靜態(tài)初始化的語法格式:
arrayName = new type[]{element1,element2,element3...};
// 或者使用簡化的語法格式:
arrayName = {element1,element2,element3...}

//b、數(shù)組動態(tài)初始化的語法格式:
arrayName = new type[length];

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

// 靜態(tài)初始化
int intArray2 [] = new int []{20,21,22};
// 靜態(tài)初始化簡化方式
int intArray3 [] = {30,31,32};

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

注:一維數(shù)組這一塊記住兩點,數(shù)組聲明的時候是不能指定大小的,也就是說等號左邊的中括號中不能包含數(shù)字。另外一旦使用new關(guān)鍵字那么肯定在內(nèi)存中為數(shù)組分配了空間,則必然數(shù)組有默認值。數(shù)組是對象數(shù)據(jù)類型
注:不要靜態(tài)初始化和動態(tài)初始化同時使用,也就是說不要再進行數(shù)組初始化時,既指定數(shù)組長度,也為每個數(shù)組元素分配初始值。
4、數(shù)組進行動態(tài)初始化時系統(tǒng)分配初始值的規(guī)則

  • 數(shù)組元素類型是基本類型中的整數(shù)類型(byte、short、int、long),則數(shù)組元素的初始化默認值是0
  • 數(shù)組元素類型是基本類型中的浮點類型(float、double),則數(shù)組元素的值是0.0
  • 數(shù)組元素類型是基本類型中的字符類型(char),則數(shù)組元素的值是’\u0000’
  • 數(shù)組元素類型是基本類型中的布爾類型(boolean),則數(shù)組元素的值是false
  • 數(shù)組元素類型是基本類型中的引用類型(類、接口、數(shù)組),則數(shù)組元素的值是null

詳情見https://blog.csdn.net/qq_44700578/article/details/136323990

三、數(shù)組存儲的弊端

  • 一旦初始化,其長度就不可修改,長度不夠用、開辟很大的長度會導致空間浪費
  • 數(shù)組中提供的方法非常有限。添加、刪除、插入等操作 效率很低【為了保證元素的內(nèi)存地址連續(xù),添加或刪除元素時,涉及到前移或者后移】
  • 擴容麻煩,只能新建一個更大的數(shù)組,將元素一個一個移進去,效率低
  • 獲取數(shù)組中實際元素的個數(shù)的需求,數(shù)組沒有現(xiàn)成的屬性或方法可用
  • 數(shù)組存儲數(shù)據(jù)的特點:有序、可重復。對于無序、不可重復的需求,不能滿足

為解決以上問題、靈活運用,提出Java容器的概念

參考https://blog.csdn.net/u014199097/article/details/50551731文章來源地址http://www.zghlxwxcb.cn/news/detail-847416.html

到了這里,關(guān)于Java創(chuàng)建數(shù)組、賦值的四種方式,聲明+創(chuàng)建+初始化 詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • C語言指向二維數(shù)組的四種指針以及動態(tài)分配二維數(shù)組的五種方式

    C語言指向二維數(shù)組的四種指針以及動態(tài)分配二維數(shù)組的五種方式

    當二維數(shù)組作為結(jié)構(gòu)成員或返回值時,通常需要根據(jù)用戶傳遞的參數(shù)來決定二維數(shù)組的大小,此時就需要動態(tài)分配二維數(shù)組。 如果現(xiàn)在有一個二維數(shù)組 a[3][2] ,那么將有以下幾種指針可以指向它: 方式一 方式二: 在應用場景中通常采用以下三種方式動態(tài)分配二維數(shù)組,因為

    2024年02月04日
    瀏覽(24)
  • java中數(shù)組的四種排序

    java中數(shù)組的四種排序

    1.1數(shù)組的基本概念 數(shù)組(Array)是有序的元素序列。 若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時也稱為下標變量/12713827)。用于區(qū)分數(shù)組的各個元素的數(shù)字編號稱為下標。數(shù)組是在程序設計

    2024年02月15日
    瀏覽(22)
  • 按照前序遍歷創(chuàng)建二叉樹及樹的四種遍歷方式

    按照前序遍歷創(chuàng)建二叉樹及樹的四種遍歷方式

    一.二叉樹的介紹 ????????二叉樹的特點是二叉樹的每個結(jié)點的度都不大于2,可以視為每個結(jié)點都有左孩子和右孩子。故二叉樹結(jié)點的數(shù)據(jù)結(jié)構(gòu)為 ? 二.二叉樹的特點 ? ? 1.設根結(jié)點所在的層數(shù)為第1層,則第i層最多有個結(jié)點。 ? ? 2.深度為k的二叉樹最多有個結(jié)點。 ? ?

    2024年02月04日
    瀏覽(20)
  • java對接webservice接口的四種方式

    java對接webservice接口的四種方式

    這兩天一直在做外系統(tǒng)對接,對方的接口是webservice的形式,調(diào)用起來有些蛋疼,于是在這里記錄一下我嘗試過的調(diào)用WebService的三種方式。 方式一:以HttpURLConnection的方式調(diào)用 方式二:使用apache-cxf生成java類調(diào)用 下載apache-cxf并配置環(huán)境變量(參照JAVA環(huán)境變量配置),配置成

    2024年02月09日
    瀏覽(27)
  • Java中的四種引用類型及其使用方式

    Java中的四種引用類型及其使用方式

    Java中有四種引用類型,分別是強引用(Strong Reference)、軟引用(Soft Reference)、弱引用(WeakReference)、虛引用(PhantomReference)。 這要從Java管理內(nèi)存的方式說起。Java為了將程序員從內(nèi)存管理中解救出來,即不讓程序員自己申請堆內(nèi)存(比如C語言程序員需要通過malloc請求操作系統(tǒng)分配一

    2023年04月09日
    瀏覽(23)
  • java基礎Object轉(zhuǎn)String的四種方式

    java中Object轉(zhuǎn)String有以下幾種方法: 1.object.toString()方法 這種方法要注意的是object不能為null,否則會報NullPointException,一般別用這種方法。 2.String.valueOf(object)方法 這種方法不必擔心object為null的問題,若為null,會將其轉(zhuǎn)換為”null”字符串,而不是null。這一點要特別注意?!?/p>

    2023年04月08日
    瀏覽(20)
  • java Map集合里面取鍵和值的四種方式

    使用Map的keySet()方法獲取鍵集合,再使用forEach循環(huán)遍歷鍵集合,通過Map的get()方法獲取對應的值。例如: 使用Map的values()方法獲取值集合,再使用forEach循環(huán)遍歷值集合。例如: 使用Map的entrySet()方法獲取鍵值對集合,再使用forEach循環(huán)遍歷鍵值對集合,通過Entry的getKey()方法獲取

    2024年01月15日
    瀏覽(28)
  • Java 實現(xiàn) HTTP 請求的四種方式,你都學會了么?

    前言 在日常工作和學習中,有很多地方都需要發(fā)送HTTP請求,本文以Java為例,總結(jié)發(fā)送HTTP請求的多種方式 HTTP請求實現(xiàn)過程 GET 創(chuàng)建遠程連接 設置連接方式(get、post、put…) 設置連接超時時間 設置響應讀取時間 發(fā)起請求 獲取請求數(shù)據(jù) 關(guān)閉連接 POST 創(chuàng)建遠程連接 設置連接方

    2024年02月08日
    瀏覽(21)
  • 6、Java數(shù)組----6.1 什么是數(shù)組、數(shù)組的聲明創(chuàng)建

    6.1 什么是數(shù)組、數(shù)組的聲明創(chuàng)建 一、什么是數(shù)組 數(shù)組是一個最簡單的數(shù)據(jù)結(jié)構(gòu),是相同類型數(shù)據(jù)的有序集合 數(shù)組描述的是相同類型的若干個數(shù)據(jù),按照一定的先后次序排列組合而成 其中,每一個數(shù)據(jù)稱作一個數(shù)組元素,每個數(shù)組元素可以通過一個下標來訪問它們 二、數(shù)組

    2024年02月14日
    瀏覽(17)
  • Java數(shù)組的三種聲明方式

    1.在開發(fā)中為什么要使用數(shù)組 如果開發(fā)中出現(xiàn)了大量的同一個類型的數(shù)據(jù),按照現(xiàn)在所學的知識點,聲明變量的話。如果一個變量存一個數(shù)據(jù)的話,那么就會需要多個變量了,相當麻煩。 使用數(shù)組: 只需要一個變量,然后數(shù)組中存很多的數(shù)據(jù), 其實可以把數(shù)組想成 一個容器

    2024年02月05日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包