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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【Java图文趣味版】快速搞定数组的声明、开辟空间和初始化赋值

發布時間:2023/11/30 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java图文趣味版】快速搞定数组的声明、开辟空间和初始化赋值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0 前言

本文講解java數組的基礎知識,適合零基礎小白。

1 數組的概念

所謂數組,就是一組同類型東西的集合,可以通過index(索引,下標)訪問這一組東西的某一個元素。

就像下圖這樣,由于數組概念過于簡單,不解釋了。

2 數組的定義及使用

2.1 數組的聲明(Declare an array)

所謂聲明,就是告訴你,這里有這么個東西,但是它既沒有空間,也沒有數值,在被使用之前,它可以看做 “一句空話”

有以下兩種寫法

int a []; int [] b;

順便說一句,這兩種形式都可以聲明數組,但是在Java中,通常我們使用后者,之后的內容也全部使用int [] b的形式。

2.2 數組的聲明和開辟內存空間(Open up a memory space)

聲明一個數組,并且為它開辟一個空間,占個地方,但是不在里面存放東西

有以下寫法

int [] a = new int [4];


另外,可能出現沒有占到地方的情況,我們后面會說(第4節)。

2.3 數組的聲明、開辟內存空間和初始化賦值(Initialize an array)

有以下兩種寫法

int [] a = {11,22,33,44}; int [] b = new int [] {11,22,33,44};


對于以下語句

new int [] {11,22,33,44};

它的本質,是一個匿名數組,就是不宣布數組的名稱,但是仍然創建了一個數組。因此它可以作為一個游蕩的數組,靈活使用于很多場景。

例如

return new int [] {1,2,3,4};

對于任意的,只需要使用數組,但是不需要定義數組名稱的地方,都可以使用這個表達式。

另外,可能出現賦空值的情況,比如直接就是{},里面沒有東西,我們在后面會說明(第4節)。

2.4 聲明之后如何開辟空間和賦值

做出聲明之后

int [] a;

如何開辟空間和賦值呢?

  • 首先,關于開辟空間,和前面完全一樣,只不過把2.2節的語句int [] a = new int [4];拆開寫了
  • int [] a; a = new int [4];
  • 然后,關于賦值,同理,結合2.3節的語句,也是拆開寫了
  • int [] a; a = new int [4]; a[0] = 11; a[1] = 22; a[2] = 33; a[3] = 44;

    或者使用另外一條語句

    int [] a; a = new int [] {11,22,33,44};

    2.5 聲明和開辟空間之后如何賦值

    int [] a = new int [4];

    在這之后,如何賦值,我就不多說了。

    a[0] = 11; a[1] = 22; a[2] = 33; a[3] = 44;

    當然怎么賦值都可以,需要注意的是開辟空間后的數組的訪問方式,對于a[0]這樣的語句是什么意思,我們后面說。

    2.6 賦值之后如何使用

    通過下標訪問即可,只要是開辟了空間或者已經賦值的,都可以這樣,例如a[0],需要注意幾點

    • 下標從0開始,可以是變量,例如int zero = 0;訪問的時候可以寫a[zero];
    • 開辟空間后,數組長度固定(變長數組以后再說)

    3 在項目中規范化地定義和使用數組

    不建議直接出現數字,因為數字的含義有很多,時間長了自己可能不記得數字的具體含義,其他程序員看到這個數字,也可能會費解,因此,建議將數字符號化,例如:

    存儲10個學生的總分數

    建議這樣使用

    int studentCount = 10; double [] studentSumScore = new double [studentCount];

    而不是下面這種寫法

    double [] studentSumScore = new double [10];

    這樣的寫法,對于復雜的程序,時間長了,可能會迷茫,10代表啥?這是啥?

    你也許會說,不是可以有注釋嗎?我只能告訴你:能在程序中說明白的,就不要添加注釋

    另外,關于數組的訪問,也可以參考,比如把studentSumScore[0]寫成studentSumScore[stuOne]。

    具體有沒有必要,還是結合實際,如果是徒增麻煩,就不要用了。

    4 數組中的特殊值:0與null

    首先明確一下,先分成兩類

  • 針對數組本身: 數組的長度為0和數組本身為null
  • 數組元素內容: 數組不為0,數組元素的值為0或者為null
  • 0與null的含義

    • 二者本質上,都是某種具有含義的特殊數值
    • 0就是空empty,本身存在,但是沒有內容,啥都沒有
    • null就是虛無,就是本身不存在,更沒有內容

    4.1 數組本身

    數組長度為0,空數組,但是為其分配了內存空間的位置(有一席之地)

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


    數組為null,系統沒有為其分配其內存空間(沒有地方,只能流浪)

    int[] c = null;

    4.2 數組元素內容

    前提是,創建了一個非空的數組。

    這里特指:為一個數組開辟了空間但是沒有賦值時候,數組元素的值可能為0,可能為null

    例如以下形式,其中,int可以代表基本數據類型和引用數據類型(float,boolean,String)

    int[] a = new int[4];

    其中

    • 數值型的數據類型,默認初始化為0
    • 字符型,默認為空字符
    • 布爾型,默認為false
    • 對象(引用數據類型),比如String,默認為null

    以下為實例測試

    int[] b = new int[10]; System.out.println("int默認:\t"+b[0]);boolean[] g = new boolean[4]; System.out.println("boolean默認:"+g[0]);char[] w = new char[4]; System.out.println("char默認:\t"+w[0]);String[] c = new String[10]; System.out.println("String默認:\t"+c[0]);

    輸出結果為

    下一篇文章:【java圖文趣味版】數組元素的訪問與遍歷

    本文中圖片使用億圖圖示(試用版)制作,之后截圖上傳,侵刪。

    總結

    以上是生活随笔為你收集整理的【Java图文趣味版】快速搞定数组的声明、开辟空间和初始化赋值的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。