日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java学习笔记_数组

發(fā)布時間:2023/12/15 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java学习笔记_数组 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)組的概念
是一種容器,可以同時存放多個數(shù)據(jù)值

數(shù)組的特點(diǎn)

  • 數(shù)組是一種引用數(shù)據(jù)類型
  • 數(shù)組當(dāng)中的多個數(shù)據(jù),類型必須統(tǒng)一
  • 數(shù)組的長度在程序運(yùn)行期間不可改變
  • 數(shù)組的初始化
    在內(nèi)存當(dāng)中創(chuàng)建一個數(shù)組,并且向其中賦予一些默認(rèn)值

  • 動態(tài)初始化(指定長度):在創(chuàng)建數(shù)組的時候,直接指定數(shù)組當(dāng)中的數(shù)據(jù)元素個數(shù)
  • 靜態(tài)初始化(指定內(nèi)容):在創(chuàng)建數(shù)組的時候,不直接指定數(shù)據(jù)個數(shù)的多少,而是直接將具體的數(shù)據(jù)內(nèi)容進(jìn)行指定。
  • 注意事項:
    雖然靜態(tài)初始化沒有直接告訴長度,但是根據(jù)大括號里面的元素具體內(nèi)容,也可以自動推算出來長度。

    動態(tài)初始化數(shù)組的格式
    數(shù)據(jù)類型 [] 數(shù)組名稱 = new 數(shù)據(jù)類型 [數(shù)組長度];
    ·左側(cè)數(shù)據(jù)類型:數(shù)組當(dāng)中保存的數(shù)據(jù),全都是統(tǒng)一的類型
    ·左側(cè)的中括號:代表一個數(shù)組
    ·左側(cè)數(shù)組名稱:給數(shù)組取一個名字
    ·右側(cè)的new:代表創(chuàng)建數(shù)組的動作
    ·右側(cè)的數(shù)據(jù)類型:必須和左側(cè)的數(shù)據(jù)類型保持一致
    ·右側(cè)中括號的長度:也就是數(shù)組當(dāng)中可以保存多少個數(shù)據(jù),是一個int數(shù)字

    public class Demo{public static void main(String[] args){//創(chuàng)建一個數(shù)組里面可以存放300個int值數(shù)據(jù)int[] arrayA = new int[300];double[] arrayB = new double[10]String[] arrayC = new String[5];} } public class Demo{public static void main(String[] args){//直接創(chuàng)建一個數(shù)組,里面裝的全部都是int數(shù)字int[] arrayA = new int[]{5,15,25,40};//直接創(chuàng)建一個數(shù)組,里面裝的全部都是String類型String[] arrayB = new String[]{“Hello”,”World”,”Java”};} }

    詳細(xì)格式:
    數(shù)據(jù)類型 [] 數(shù)組名稱 = new 數(shù)據(jù)類型 [] {元素1,元素2,。。。}

    省略格式:
    數(shù)據(jù)類型 [] 數(shù)組名稱 = {元素1,元素2,… };

    注意事項:

  • 靜態(tài)初始化標(biāo)準(zhǔn)格式可以拆分成為兩個步驟
  • 動態(tài)初始化也可以拆分成兩個步驟
  • 靜態(tài)初始化一旦使用省略格式,就不能拆分成為兩個步驟
  • 使用建議:
    如果不確定數(shù)組當(dāng)中的具體內(nèi)容,用動態(tài)初始化;
    否則,已經(jīng)確定了具體內(nèi)容,用動態(tài)初始化。

    public class Demo{public static void main(String[] args){//省略格式的靜態(tài)初始化int[] arrayA = {10,20,30};//靜態(tài)初始化的標(biāo)準(zhǔn)格式,可以拆分成兩個步驟int[] arrayB;arrayB = new int{11,21,31};//動態(tài)初始化也可以拆分成兩個步驟int[] arrayC;arrayC = new int[5];//靜態(tài)初始化的省略格式,不能拆分成為兩個步驟//int[] arrayD;//arrayD = {10,20,30};} }

    數(shù)組元素的獲取
    訪問數(shù)組元素的格式:數(shù)組名稱{索引值}
    索引值:就是一個int數(shù)字,代表數(shù)組當(dāng)中的元素編號
    【注意】索引值從0開始,一直到“數(shù)組的長度”-1為止

    public class Demo{public static void main(String[] args){int[] array = {10,20,30};System.out.println(array);System.out.println(array[0]);System.out.println(array[1]);System.out.println(array[2]);int num = array[1];} }

    使用動態(tài)初始化數(shù)組的時候,其中的元素將會自動擁有一個默認(rèn)值,規(guī)則如下:
    ·如果是整數(shù)類型,默認(rèn)值為0;
    ·浮點(diǎn)類型,0.0
    ·字符類型,‘\u0000’
    ·布爾類型,false
    ·引用類型,null

    注意事項:
    靜態(tài)初始化其實(shí)也有默認(rèn)值的過程,只不過系統(tǒng)自動馬上將默認(rèn)值替換成為了大括號當(dāng)中的具體數(shù)值。

    訪問數(shù)組元素進(jìn)行賦值

    array[1] = 123

    java中的內(nèi)存劃分

  • 棧(Stack):存放的都是方法中的局部變量,方法的運(yùn)行一定要在棧當(dāng)中運(yùn)行。
    局部變量:方法的參數(shù),或者是方法{}內(nèi)部的變量
    作用域:一旦超出作用域,立刻從棧內(nèi)存當(dāng)中消失

  • 堆(Heap):凡是new出來的東西,都在堆當(dāng)中
    堆內(nèi)存里面的東西都有一個地址值:16進(jìn)制
    堆內(nèi)存里面的數(shù)據(jù),都有默認(rèn)值

  • 方法區(qū)(Method Area):存儲.class相關(guān)的信息,包含方法的信息

  • 本地方法棧(Native Method Stack):與操作系統(tǒng)相關(guān)

  • 寄存器(pc Register):與CPU相關(guān)。

  • 所有的引用類型變量,都可以賦值為一個null值,但是代表其中什么都沒有

    數(shù)組必須進(jìn)行new初始化才能使用其中的元素
    如果只是賦值了一個null,沒有進(jìn)行new創(chuàng)建,
    那么將會發(fā)生空指針異常(NullPointerException)

    **獲取數(shù)組的長度,格式:
    數(shù)組名稱.length

    這將會得到一個int數(shù)字,代表數(shù)組長度
    數(shù)組一旦創(chuàng)建,程序運(yùn)行期間,長度不可改變

    public class Demo{public static void main(String[] args){int[] arrayA = new int[3];int[] arrayB = {10,20,30,3,5,6,7,8,9,65}int len = arrayB.length;System.out.println(“arrayB數(shù)組的長度是:”+ len);int[] arrayC = new int[3];System.out.println(arrayC.length);arrayC = new int[5];System.out.println(arrayC.length);

    數(shù)組可以作為方法的參數(shù)。
    當(dāng)調(diào)用方法的時候,向方法的小括號進(jìn)行傳參,傳遞進(jìn)去的實(shí)際是數(shù)組的地址值

    一個方法可以有0、1、多個參數(shù),但是只能有0或者1個返回值,不能有多個返回值
    如果希望一個方法當(dāng)中產(chǎn)生了多個結(jié)果數(shù)據(jù)進(jìn)行返回,需要使用數(shù)組作為返回值類型。

    任何數(shù)據(jù)類型都能作為方法的參數(shù)類型,或者返回值類型

    數(shù)組作為方法的參數(shù),傳遞進(jìn)去的其實(shí)是數(shù)組的地址值
    數(shù)組作為方法的返回值,返回的其實(shí)也是數(shù)組的地址值。

    public class Demo{public static void main(String[] args){int[] result = calculate(a:10,b:20,c:30);System.out.println(“總數(shù):”+ result[0]);System.out.println(“平均數(shù):”+ result[1]);public static int[] calculate(int a,int b, int c){int sum = a + b + c;int avg = sum / 3;}int[] array = {sum , avg};System.out.println(“caculate方法內(nèi)部數(shù)組是:”);System.out.println(array);return array;} } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

    總結(jié)

    以上是生活随笔為你收集整理的Java学习笔记_数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。