久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > java數(shù)組的初始化介紹

        java數(shù)組的初始化介紹

        來(lái)源:千鋒教育
        發(fā)布人:qyf
        時(shí)間: 2023-03-22 17:52:00 1679478720

          在Java中,數(shù)組必須先初始化,然后才可以使用。所謂的初始化,就是為數(shù)組中的數(shù)組元素分配內(nèi)存空間,并為每個(gè)數(shù)組元素賦初始值。

          Java的數(shù)組初始化有兩種基本方式:動(dòng)態(tài)初始化與靜態(tài)初始化。我們?cè)诔跏蓟瘮?shù)組時(shí),不要靜態(tài)初始化和動(dòng)態(tài)初始化同時(shí)使用。也就是說(shuō),不要在進(jìn)行數(shù)組初始化時(shí),既指定數(shù)組的長(zhǎng)度,又為每個(gè)數(shù)組元素分配初始值。接下來(lái)壹哥分別利用這兩種方式,給大家講解數(shù)組的創(chuàng)建和初始化。

          動(dòng)態(tài)初始化

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

          1.1 基本語(yǔ)法

          數(shù)組在進(jìn)行動(dòng)態(tài)初始化時(shí)有兩種寫(xiě)法,大家可以根據(jù)自己的編程習(xí)慣進(jìn)行選擇,沒(méi)有孰優(yōu)孰劣。

          ●寫(xiě)法1: 數(shù)據(jù)類(lèi)型[] 數(shù)組名 = new 數(shù)據(jù)類(lèi)型[長(zhǎng)度];

          ●寫(xiě)法2: 數(shù)據(jù)類(lèi)型 數(shù)組名[] = new 數(shù)據(jù)類(lèi)型[長(zhǎng)度];

          1.2 案例代碼

          public class Demo01 {

          public static void main(String[] args) {

          //數(shù)組的動(dòng)態(tài)初始化

          //寫(xiě)法1: new用于創(chuàng)建一個(gè)對(duì)象

          int[] arr = new int[3];

          //寫(xiě)法2

          //int arr[] = new int[3];

          //存儲(chǔ)數(shù)據(jù)

          arr[0] = 11;

          arr[1] = 22;

          arr[2] = 33;

          //取數(shù)據(jù),數(shù)組的下標(biāo)從0開(kāi)始

          System.out.println("第一個(gè)元素為:"+arr[0]);

          System.out.println("第二個(gè)元素為:"+arr[1]);

          System.out.println("第三個(gè)元素為:"+arr[2]);

          //獲取數(shù)據(jù)的長(zhǎng)度

          System.out.println("數(shù)組長(zhǎng)度="+arr.length);

          //錯(cuò)誤:數(shù)組下標(biāo)越界

          //System.out.println(arr[3]);

          }

          }

          在上述代碼中,new是Java中的關(guān)鍵字,用來(lái)創(chuàng)建對(duì)象,我們以后會(huì)詳細(xì)學(xué)習(xí)。

          其中new int[3];中的3,表示這個(gè)數(shù)組的初始長(zhǎng)度是3,只能存放3個(gè)數(shù)據(jù)。我們?cè)诼暶鲿r(shí)在方括號(hào)中直接輸入數(shù)組的長(zhǎng)度,這種方式就叫做動(dòng)態(tài)初始化。數(shù)組的長(zhǎng)度一旦確定后,就不會(huì)再發(fā)生改變。內(nèi)部的數(shù)據(jù)元素可以通過(guò)索引進(jìn)行添加,arr[]數(shù)組中的數(shù)字就叫做索引。

          另外大家還注意,在Java中數(shù)組的下標(biāo)是從0開(kāi)始的。所以在一個(gè)長(zhǎng)度為3的數(shù)組中,最后一個(gè)元素的下標(biāo)為2,則取值時(shí)的格式是arr[2],而不應(yīng)該是arr[3]。否則會(huì)產(chǎn)生數(shù)組下標(biāo)越界異常”ArrayIndexOutOfBoundsException:: Index 3 out of bounds for length 3“,如下圖所示:

          靜態(tài)初始化

          靜態(tài)初始化,就是由程序員指定每個(gè)數(shù)組元素的初始值,由系統(tǒng)計(jì)算出數(shù)組的長(zhǎng)度。

          2.1 基本語(yǔ)法

          數(shù)組在進(jìn)行靜態(tài)初始化時(shí)有三種寫(xiě)法,大家可以根據(jù)自己的編程習(xí)慣進(jìn)行選擇,同樣沒(méi)有孰優(yōu)孰劣。簡(jiǎn)寫(xiě)的靜態(tài)初始化,只能在一條語(yǔ)句完成,不能分割成兩條語(yǔ)句。

          ●寫(xiě)法1:數(shù)據(jù)類(lèi)型[] 數(shù)組名 = {數(shù)據(jù)1,數(shù)據(jù)2,...};

          ●寫(xiě)法2:數(shù)據(jù)類(lèi)型 數(shù)組名[] = {數(shù)據(jù)1,數(shù)據(jù)2,...};

          ●寫(xiě)法3:數(shù)據(jù)類(lèi)型[] 數(shù)組名 = new 數(shù)據(jù)類(lèi)型[]{數(shù)據(jù)1,數(shù)據(jù)2,...};

          2.2 案例代碼

          public class Demo02 {

          public static void main(String[] args) {

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

          //寫(xiě)法1

          //引用類(lèi)型的數(shù)組。聲明數(shù)組后直接添加一個(gè)花括號(hào){},并在花括號(hào)中添加數(shù)據(jù),就是靜態(tài)初始化

          String[] names = {"張三","李四","王五","一一哥"};

          //寫(xiě)法2:

          //String names[] = {"張三","李四","王五","一一哥"};

          //寫(xiě)法3:

          //String names[] = new String[]{"張三","李四","王五","一一哥"};

          // [Ljava.lang.String;@15db9742 內(nèi)存地址

          // System.out.println(names);

          //操作數(shù)組

          //存數(shù)據(jù),新數(shù)據(jù)存入到原有的位置

          names[0] = "yyg";

          names[1] = "尼古拉斯";

          //取數(shù)據(jù)

          System.out.println("第二個(gè)元素:"+names[1]);

          System.out.println("第四個(gè)元素:"+names[3]);

          //獲取數(shù)組的長(zhǎng)度

          System.out.println("數(shù)組的長(zhǎng)度:"+names.length);

          }

          }

          在上述代碼中,在聲明完數(shù)組后,直接添加一個(gè)花括號(hào){},并在花括號(hào)中添加數(shù)據(jù),這種方式就叫做靜態(tài)初始化。

          對(duì)于初始化問(wèn)題,有這樣的一個(gè)問(wèn)題哈!大家可以看看:

          java中為什么數(shù)組靜態(tài)初始化可以省略new而動(dòng)態(tài)初始化不行?

          其實(shí)在Java中,數(shù)組的初始化有兩種方式:靜態(tài)初始化和動(dòng)態(tài)初始化。

          靜態(tài)初始化是指在定義數(shù)組的同時(shí)為數(shù)組元素指定初始值,可以省略new操作符。例如:

          int[] arr1 = {1, 2, 3};

          動(dòng)態(tài)初始化是指在定義數(shù)組后,通過(guò)new操作符為數(shù)組元素分配空間,并指定初始值。例如:

          int[] arr2 = new int[3];

          arr2[0] = 1;

          arr2[1] = 2;

          arr2[2] = 3;

          數(shù)組靜態(tài)初始化可以省略new操作符的原因是編譯器可以根據(jù)初始化的元素?cái)?shù)量自動(dòng)確定數(shù)組的長(zhǎng)度,并分配相應(yīng)的內(nèi)存空間。而動(dòng)態(tài)初始化必須顯式指定數(shù)組長(zhǎng)度,因?yàn)榫幾g器無(wú)法根據(jù)賦值語(yǔ)句推斷數(shù)組的長(zhǎng)度。

          因此,對(duì)于動(dòng)態(tài)初始化,必須先使用new操作符為數(shù)組分配內(nèi)存空間,然后再為數(shù)組元素賦值。現(xiàn)在大家明白了嗎?

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        python字符串截取?

        在Python中,字符串是一種非常常見(jiàn)的數(shù)據(jù)類(lèi)型,它可以用來(lái)表示文本、數(shù)字、符號(hào)等內(nèi)容。在實(shí)際應(yīng)用中,我們經(jīng)常需要對(duì)字符串進(jìn)行截取,以便獲取...詳情>>

        2023-11-02 17:56:27
        Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實(shí)現(xiàn)?

        隨著互聯(lián)網(wǎng)的發(fā)展,聊天室應(yīng)用成為人們?nèi)粘I钪惺殖R?jiàn)的一種社交方式。Python語(yǔ)言的Socket模塊是實(shí)現(xiàn)網(wǎng)絡(luò)通信的重要工具,可以輕松地實(shí)現(xiàn)C/...詳情>>

        2023-11-02 17:53:38
        用while求1到100的奇數(shù)和?

        在計(jì)算機(jī)編程中,循環(huán)語(yǔ)句是非常重要的一部分。而while語(yǔ)句是其中最基本也是最常用的一種。它的作用是在滿(mǎn)足一定條件的情況下,重復(fù)執(zhí)行一段代...詳情>>

        2023-11-02 17:50:57
        python創(chuàng)建一個(gè)集合?

        在Python中,集合是一種無(wú)序且不重復(fù)的數(shù)據(jù)類(lèi)型,可以用于存儲(chǔ)一組元素。創(chuàng)建一個(gè)集合非常簡(jiǎn)單,只需要使用大括號(hào){}或者set()函數(shù)即可。使用大...詳情>>

        2023-11-02 17:34:02
        linux改文件屬主命令?

        Linux文件相關(guān)命令1、命令一:cat cat命令應(yīng)該是在Linux中查看文件內(nèi)容最常見(jiàn)的命令了。使用cat命令會(huì)打印指定文件的所有內(nèi)容到標(biāo)準(zhǔn)輸出上,比...詳情>>

        2023-10-31 19:58:15
        闽清县| 梅河口市| 巴林左旗| 双桥区| 黎城县| 南皮县| 河津市| 称多县| 马尔康县| 太原市| 天祝| 永寿县| 贵阳市| 固阳县| 光山县| 出国| 朝阳县| 资源县| 康马县| 盐山县| 乐安县| 建始县| 且末县| 西城区| 抚州市| 金坛市| 凌海市| 孝昌县| 霞浦县| 泰来县| 延庆县| 鹿泉市| 达州市| 樟树市| 彭阳县| 辉县市| 边坝县| 黄山市| 达拉特旗| 青田县| 舒兰市|