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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数组】

發(fā)布時間:2025/3/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数组】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一 數(shù)組

1.2 數(shù)組概念

  • 數(shù)組概念: 數(shù)組就是存儲數(shù)據(jù)長度固定的容器,保證多個數(shù)據(jù)的數(shù)據(jù)類型要一致。
  • 數(shù)組的特點: 數(shù)組的長度固定,數(shù)組中的元素類型一致

1.3 數(shù)組的定義

方式一

數(shù)組存儲的數(shù)據(jù)類型[] 數(shù)組名字 = new 數(shù)組存儲的數(shù)據(jù)類型[長度];
  • 注意:數(shù)組有定長特性,長度一旦指定,不可更改。

  • 舉例:定義可以存儲3個整數(shù)的數(shù)組容器,代碼如下:

int[] arr = new int[3];

方式二

數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[]{元素1,元素2,元素3...};
  • 舉例:定義存儲1,2,3,4,5整數(shù)的數(shù)組容器。
int[] arr = new int[]{1,2,3,4,5};

方式三

數(shù)據(jù)類型[] 數(shù)組名 = {元素1,元素2,元素3...};
  • 舉例:定義存儲1,2,3,4,5整數(shù)的數(shù)組容器
int[] arr = {1,2,3,4,5};

二 數(shù)組原理內(nèi)存圖

2.1 內(nèi)存概述

內(nèi)存是計算機中的重要原件,臨時存儲區(qū)域,作用是運行程序。程序是存放在硬盤中的,在硬盤中的程序是不會運行的,必須放進內(nèi)存中才能運行,運行完畢后會清空內(nèi)存。

Java虛擬機要運行程序,必須要對內(nèi)存進行空間的分配和管理。

2.2 Java虛擬機的內(nèi)存劃分

為了提高運算效率,就對空間進行了不同區(qū)域的劃分,因為每一片區(qū)域都有特定的處理數(shù)據(jù)方式和內(nèi)存管理方式。

  • JVM的內(nèi)存劃分:

    區(qū)域名稱作用
    寄存器給CPU使用。
    本地方法棧JVM在使用操作系統(tǒng)功能的時候使用。
    方法區(qū)存儲可以運行的class文件。
    堆內(nèi)存存儲對象或者數(shù)組,new來創(chuàng)建的,都存儲在堆內(nèi)存。
    方法棧方法運行時使用的內(nèi)存,比如main方法運行,進入方法棧中執(zhí)行。

2.3 數(shù)組在內(nèi)存中的存儲

一個數(shù)組內(nèi)存圖

public static void main(String[] args) {int[] arr = new int[3];System.out.println(arr);//[I@5f150435 }

以上方法執(zhí)行,輸出的結果是[I@5f150435,是數(shù)組在內(nèi)存中的地址。new出來的內(nèi)容,都是在堆內(nèi)存中存儲的,而方法中的變量arr保存的是數(shù)組的地址。

輸出arr[0],就會輸出arr保存的內(nèi)存地址中數(shù)組中0索引上的元素

兩個數(shù)組內(nèi)存圖

public static void main(String[] args) {int[] arr = new int[3];int[] arr2 = new int[2];System.out.println(arr);System.out.println(arr2); }

兩個變量指向一個數(shù)組

public static void main(String[] args) {// 定義數(shù)組,存儲3個元素int[] arr = new int[3];//數(shù)組索引進行賦值arr[0] = 5;arr[1] = 6;arr[2] = 7;//輸出3個索引上的元素值System.out.println(arr[0]);System.out.println(arr[1]);System.out.println(arr[2]);//定義數(shù)組變量arr2,將arr的地址賦值給arr2int[] arr2 = arr;arr2[1] = 9;System.out.println(arr[1]); }

三 數(shù)組作為方法參數(shù)和返回值

3.1 數(shù)組作為方法參數(shù)

  • 數(shù)組作為方法參數(shù)傳遞,傳遞的參數(shù)是數(shù)組內(nèi)存的地址。

3.2 數(shù)組作為方法返回值

  • 數(shù)組作為方法的返回值,返回的是數(shù)組的內(nèi)存地址

3.3 方法的參數(shù)類型區(qū)別

代碼分析

1. 分析下列程序代碼,計算輸出結果。

public static void main(String[] args) {int a = 1;int b = 2;System.out.println(a);System.out.println(b);change(a, b);System.out.println(a);System.out.println(b); }public static void change(int a, int b) {a = a + b;b = b + a; }

2. 分析下列程序代碼,計算輸出結果。

public static void main(String[] args) {int[] arr = {1,3,5};System.out.println(arr[0]);change(arr);System.out.println(arr[0]); }public static void change(int[] arr) {arr[0] = 200; }

總結:

方法的參數(shù)為基本類型時,傳遞的是數(shù)據(jù)值.
方法的參數(shù)為引用類型時,傳遞的是地址值.

總結

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

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