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

Java數(shù)組和可變參數(shù)使用舉例詳解

 更新時(shí)間:2026年05月11日 10:38:25   作者:善惡怪客  
Java中的可變參數(shù)和數(shù)組參數(shù)在使用上很相似,但它們在方法定義、調(diào)用方式以及編譯處理上有明顯區(qū)別,理解這些差異有助于寫出更清晰、安全的代碼,這篇文章主要介紹了Java數(shù)組和可變參數(shù)的相關(guān)資料,需要的朋友可以參考下

1.數(shù)組的概述

數(shù)組指的是一種容器,可以用來存儲同種數(shù)據(jù)類型的多個(gè)值

數(shù)組容器在存儲數(shù)據(jù)的時(shí)候,需要結(jié)合隱式轉(zhuǎn)換來考慮,建議容器的類型和存儲的數(shù)據(jù)類型保持一致

2.數(shù)組的定義

格式一:

數(shù)據(jù)類型[] 數(shù)組名           int [] arra


格式二:

數(shù)據(jù)類型 數(shù)組名 []          int array[]

比如:

        int[] a = new int[]{};
        int b[] = new int[]{};

一般格式一使用的多。

3.數(shù)組的靜態(tài)初始化

完整格式:

數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[] {元素1,元素2,.....};

簡化格式:數(shù)據(jù)類型[] 數(shù)組名 = {};

測試:

        int[] a = new int[]{1,2,3};
        // 簡寫
        int[] b = {1,2,3};

4.獲取數(shù)組里的元素

格式:

組名[索引/下標(biāo)]  注意數(shù)組下標(biāo)從0開始

測試:

        int[] a = new int[]{1,2,3};
        // 簡寫
        int[] b = {1,2,3};
        int q = b[0];
        System.out.println(q);

5.把數(shù)據(jù)存儲到數(shù)組當(dāng)中

格式:

數(shù)組名[索引] = 具體數(shù)據(jù)/變量

測試;

        // 簡寫
        int[] b = {1,2,3};
        b[0] = 100;
        System.out.println(b[0]); // 100

其實(shí)就是覆蓋,一旦覆蓋后,原來的數(shù)據(jù)就不存在

6.數(shù)組遍歷

兩種方法,即普通for和for-each

視情況使用。

        int[] b = {1,2,3};
        // 普通for
        for (int i = 0; i < b.length; i++) {
            System.out.println(b[i]);
        }
        // for-each,不能操作索引
        for (int i : b) {
            System.out.println(i);
        }

7.數(shù)組的動態(tài)初始化

格式:

數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組的長度]

在創(chuàng)建的時(shí)候,由我們自己指定數(shù)組的長度,由虛擬機(jī)給出默認(rèn)的初始化值

數(shù)組默認(rèn)初始化值的規(guī)律:

整數(shù)類型:默認(rèn)初始化值0

小數(shù)類型:默認(rèn)初始化值0.0

字符類型:默認(rèn)初始化值'/u0000' 空格

布爾類型:默認(rèn)初始化值false

引用數(shù)據(jù)類型:默認(rèn)初始化值null

測試:

package org.example;

public class Test {
    public static void main(String[] args) {
        int[] a = new int[5];
        for (int i : a) {
            System.out.println( i);
        }
    }


}

結(jié)果:

8.數(shù)組常見問題

當(dāng)訪問了數(shù)組中不存在的索引,就會引發(fā)索引越界異常

比如修改for循環(huán)條件:

        int[] b = {1,2,3};
        // 普通for
        for (int i = 0; i <= b.length; i++) {
            System.out.println(b[i]);
        }

結(jié)果:

9.可變參數(shù)

9.1.語法

可變參數(shù):方法的形參的個(gè)數(shù)是可以發(fā)生變化的,是一個(gè)數(shù)組

格式:

屬性類型...名字

細(xì)節(jié):

在方法的形參中最多只能寫一個(gè)可變參數(shù)

可變參數(shù)必須放在形參的最后

public class Test {
    public static void main(String[] args) {
        int[] a = new int[]{1, 2, 3};
        test1(a);

    }
    public static void test1(int...arr){
        for (int i : arr) {
            System.err.println(i);
        }
    }


}

正常輸出123

你提供的代碼片段非常典型,它展示了可變參數(shù)的基本用法。下面我將為你詳細(xì)解析數(shù)組和可變參數(shù)的區(qū)別,以及為什么我們需要可變參數(shù)。

可變參數(shù)(Varargs)本質(zhì)上是編譯器提供的一種“語法糖”

在方法內(nèi)部,可變參數(shù) int... arr 完全被當(dāng)作一個(gè) int[] arr 數(shù)組來處理。可以對它進(jìn)行遍歷、獲取長度等操作,就像操作普通數(shù)組一樣。

編譯器在編譯時(shí),會自動將可變參數(shù)轉(zhuǎn)換為數(shù)組類型。

但是可變參數(shù)想對于數(shù)組較靈活,可以傳入多個(gè)獨(dú)立參數(shù),也可以直接傳入一個(gè)數(shù)組。

public class Test {
    public static void main(String[] args) {
        int[] a = new int[]{1, 2, 3};
        test1();
        test1(1,2,3);

    }
    public static void test1(int...arr){
        for (int i : arr) {
            System.err.println(i);
        }
    }

}

結(jié)果:

9.2.可變參數(shù)的優(yōu)勢

1.避免繁瑣的數(shù)組創(chuàng)建
在沒有可變參數(shù)之前,如果你想調(diào)用一個(gè)方法處理一組不確定的數(shù)字,比如計(jì)算 1, 2, 3, 4, 5 的和,你必須寫成 sum(new int[]{1, 2, 3, 4, 5})。這非常冗長。
有了可變參數(shù),你可以直接寫成 sum(1, 2, 3, 4, 5)。

2.替代大量的重載方法
假設(shè)你需要一個(gè)方法來打印不同數(shù)量的參數(shù),在沒有可變參數(shù)時(shí),你可能需要寫一堆重載方法:

// 沒有可變參數(shù)時(shí),需要大量重載
void print(int a) { ... }
void print(int a, int b) { ... }
void print(int a, int b, int c) { ... }
// ... 以此類推,代碼冗余且難以維護(hù)

使用可變參數(shù),一個(gè)方法就能搞定所有情況:

// 使用可變參數(shù),一個(gè)方法即可
void print(int... numbers) { ... }

總結(jié) 

到此這篇關(guān)于Java數(shù)組和可變參數(shù)的文章就介紹到這了,更多相關(guān)Java數(shù)組和可變參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于Java HashMap自動排序的簡單剖析

    關(guān)于Java HashMap自動排序的簡單剖析

    這篇文章主要給大家介紹了關(guān)于Java HashMap自動排序的簡單剖析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringCloud Zuul過濾器實(shí)現(xiàn)登陸鑒權(quán)代碼實(shí)例

    SpringCloud Zuul過濾器實(shí)現(xiàn)登陸鑒權(quán)代碼實(shí)例

    這篇文章主要介紹了SpringCloud Zuul過濾器實(shí)現(xiàn)登陸鑒權(quán)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • java報(bào)錯(cuò):找不到或無法加載主類的解決方法簡單粗暴

    java報(bào)錯(cuò):找不到或無法加載主類的解決方法簡單粗暴

    本文主要介紹了java報(bào)錯(cuò):找不到或無法加載主類的解決方法簡單粗暴,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • SpringBoot項(xiàng)目打包為JAR文件的實(shí)現(xiàn)

    SpringBoot項(xiàng)目打包為JAR文件的實(shí)現(xiàn)

    本文主要介紹了SpringBoot項(xiàng)目打包為JAR文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • Mybatis中的延遲加載詳細(xì)解讀

    Mybatis中的延遲加載詳細(xì)解讀

    這篇文章主要介紹了Mybatis中的延遲加載詳細(xì)解讀,Mybatis中延遲加載又稱為懶加載,是指在進(jìn)行關(guān)聯(lián)查詢時(shí),按照設(shè)置延遲規(guī)則推遲對關(guān)聯(lián)對象的select查詢,延遲加載可以有效的減少數(shù)據(jù)庫的壓力,需要的朋友可以參考下
    2023-10-10
  • java Struts2框架下實(shí)現(xiàn)文件上傳功能

    java Struts2框架下實(shí)現(xiàn)文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了java Struts2框架下實(shí)現(xiàn)文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 測量Java對象所占內(nèi)存大小方式

    測量Java對象所占內(nèi)存大小方式

    這篇文章主要介紹了測量Java對象所占內(nèi)存大小方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • java獲取nvidia顯卡信息的實(shí)現(xiàn)示例

    java獲取nvidia顯卡信息的實(shí)現(xiàn)示例

    現(xiàn)在的需求是要獲取nvidia顯卡的使用情況,本文主要介紹了java獲取nvidia顯卡信息的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • 為什么程序中突然多了 200 個(gè) Dubbo-thread 線程的說明

    為什么程序中突然多了 200 個(gè) Dubbo-thread 線程的說明

    這篇文章主要介紹了為什么程序中突然多了 200 個(gè) Dubbo-thread 線程的說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Springboot整合Redis最簡單例子分享

    Springboot整合Redis最簡單例子分享

    這篇文章主要介紹了Springboot整合Redis最簡單例子分享,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10

最新評論

大方县| 江阴市| 交口县| 曲靖市| 偏关县| 当涂县| 孟州市| 石嘴山市| 揭西县| 克山县| 邵东县| 凤冈县| 同心县| 古交市| 株洲县| 宿州市| 永德县| 乾安县| 独山县| 福海县| 大安市| 上思县| 嘉定区| 湄潭县| 甘泉县| 嘉义县| 密山市| 磐石市| 长岭县| 大同县| 乌海市| 佛坪县| 贵州省| 安化县| 遵义市| 蓬安县| 平顶山市| 普安县| 通城县| 沈阳市| 阿拉善左旗|