日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

帶你粗略了解Java數組的使用

瀏覽:86日期:2023-12-09 17:25:04
目錄數組的定義注意:數組的創建及初始化:1.數組的創建:2.數組的初始化①動態初始化:②靜態初始化:注意事項: 數組的使用1.數組的長度:2.數組的訪問:3.數組的遍歷:4.使用數組交換兩個整數5.以字符串的形式輸出數組:理解引用類型:1.基本類型變量與引用類型變量的區別2.認識null3.數組作為方法的返回值二維數組:1.創建二維數組及初始化:2.二維數組長度:3.二維數組的打印:4.不規則的二維數組:Array類:總結數組的定義

數組:可以看作相同類型元素的一個集合,且在內存中是一塊連續的內存空間

注意:

C語言中,數組的內存在棧上

在Java中,數組的內存在堆上

數組的創建及初始化:1.數組的創建:

基本語法格式:

T[ ] 數組名 = new T[N];.① T,即Type,表示:數組中存放元素的類② T[ ], 表示:數組的類型③ N, 表示:數組的長度

舉例:

創建一個可以容納10個int類型元素的數組int[] array1 = new int[10]; 創建一個可以容納5個double類型元素的數組double[] array2 = new double[5];2.數組的初始化

數組的初始化主要分為動態初始化和靜態初始化

①動態初始化:

基本語法格式:

int[ ] array = new int[10]在創建數組時,直接指定數組中元素的個數

②靜態初始化:

基本語法格式:

int[ ] array1 = new int[ ] {0,1,2,3,4,5,6};double[ ] array2 = new double[ ]{1.0, 2.0, 3.0, 4.0,5.0};

注意事項: 如果沒有對數組進行初始化,數組中元素有其默認值

如果數組中存儲元素類型為基類類型,默認值為基類類型對應的默認值

如果數組中存儲元素類型為引用類型,默認值為null

靜態初始化無需指定數組的長度,編譯器在編譯時會根據{ }中元素個數來確定數組的長度 靜態初始化時,{ }中數據類型必須與[ ]前數據類型一致、 靜態初始化可以簡寫,省去后面的new T[ ] 如果不確定數組當中內容時,使用動態初始化,否則建議使用靜態態初始化數組的使用1.數組的長度:

數組的長度屬性: 每個數組都具有長度,而且是固定的,Java中賦予了數組的一個屬性,可以獲取到數組的長度,語句為:數組名.length

int[ ] array = new int[ ]{1,2,3,4,5,6};int len = array.length;此處的 length 是屬性

2.數組的訪問:

數組在內存中是一段連續的空間,空間的編號都是從0開始的,依次遞增,該編號稱為數組的下標,數組可以通過下標訪問其任意位置的元素

索引:每一個存儲到數組的元素,都會自動的擁有一個編號,從0開始,這個自動編號稱為數組索引 (index),可以通過數組的索引訪問到數組中的元素由數組的長度知,屬性 length 的執行結果是數組的長度,int類型結果,則數組的最大索引值為數組名.length-1

格式:數組名[索引]

數組名[索引] = 數值,為數組中的元素賦值變量 = 數組名[索引],獲取出數組中的元素

public static void main(String[] args) {//定義存儲int類型數組,賦值元素1,2,3,4,5 int[] arr = {1,2,3,4,5};//為0索引元素賦值為6 arr[0] = 6; //獲取數組0索引上的元素 int i = arr[0]; System.out.println(i); //直接輸出數組0索引元素 System.out.println(arr[0]); }

注意事項:

數組是一段連續的內容空間,因此支持隨機訪問,即通過下標訪問快速訪問數組中任意位置的元素 下標從0開始,介于[0, N) 之間不包含N,N為元素個數,不能越界,否則會報出下標越界異常3.數組的遍歷:

“遍歷”:是指將數組中的所有元素都訪問一遍

這里用打印的方式展示遍歷:

int[] array = new int[]{1,2,3,4,5,6};int len = array.length;for(int i=0;i<len;i++){System.out.println(array[i]);}

延申:

Java中的打印方式,出了上述的,還有foreach,即:for( 遍歷的數組內容 :數組本身)

代碼如下:

for (int val:array) {System.out.println(val+' ');}

二者區別:

for循環遍歷打印數組,需要索引,而foreach不需要,若單純的想要遍歷數組,用foreach即可

4.使用數組交換兩個整數

//使用數組實現交換兩個整數 public static void swap(int[] array){ int tmp = array[0]; array[0] = array[1]; array[1] = tmp; } public static void main(String[] args) {int[] array1 = {10,20};System.out.println('交換前:'+array1[0]+' '+array1[1]);swap(array1);System.out.println('交換后:'+array1[0]+' '+array1[1]); }

輸出結果:交換前:10 20交換后:20 10

交換原理:

帶你粗略了解Java數組的使用

5.以字符串的形式輸出數組:

使用方法toString 需要調用包 java.util.Arrays

int[] arr = {1,2,3,4,5,6};String ret = Arrays.toString(arr);System.out.println(ret);理解引用類型:1.基本類型變量與引用類型變量的區別

基本數據類型創建的變量,稱為基本變量,該變量空間中直接存放的是其所對應的值;引用數據類型創建的變量,一般稱為對象的引用,其空間中存儲的是對象所在空間的地址

public static void func() { int a = 10; int b = 20; int[] arr = new int[]{1,2,3};}

在上述代碼中:a,b,arr,都是函數內部的變量,因此其空間都在main方法對應的棧幀中分配;

a、b是內置類型的變量,因此其空間中保存的就是給該變量初始化的值。

array是數組類型的引用變量,因為都為引用其內部保存的是數組在堆空間中的首地址

帶你粗略了解Java數組的使用

引用變量并不直接存儲對象本身,而存儲的是對象在堆中空間的起始地址,通過該地址,引用變量便可以去操作對象。有點類似C語言中的指針,但是Java中引用要比指針的操作更簡單

2.認識null

null 在 Java 中表示 “空引用”,也就是一個不指向對象的引用,即:空對象

int[ ] arr = null; //arr引用的是一個空對象System.out.println(arr[0]);此處不能訪問0下標,因為沒有所指對象

null 的作用類似于 C 語言中的 NULL (空指針), 都是表示一個無效的內存位置,因此不能對這個內存進行任何讀寫操作,Java 中并沒有約定 null 和 0 號地址的內存有任何關聯

3.數組作為方法的返回值

將一個數組內容擴大二倍:

public static int[] fun(int[] array){int[] tmp = new int[array.length];for (int i = 0; i <array.length; i++) { tmp[i] = array[i] * 2;}return tmp;}public static void main(String[] args) {int[] array = {1,2,3,4,5,6,7,8};int[] ret = fun(array);System.out.println(Arrays.toString(ret));}二維數組:

二維數組本質上也就是一維數組, 只不過每個元素又是一個一維數組

即:數組的數組就是一個二維數組

語法格式:數據類型[ ][ ] 數組名稱 = new 數據類型 [行數][列數] { 初始化數據 };

帶你粗略了解Java數組的使用

1.創建二維數組及初始化:

int[][] array1 = new int[10][10];int array2[][] = new int[10][10];int array3[][] = { { 1, 1, 1 }, { 2, 2, 2 } };int array4[][] = new int[][] { { 1, 1, 1 }, { 2, 2, 2 } };2.二維數組長度:

// 獲取二維數組的第一維長度(3)int len1 = array.length;// 獲取二維數組的第一維的第一個數組長度(1)int len2 = array[0].length;

進行開發之中,出現二位數組的幾率并不高

3.二維數組的打印: 方法① foreach

int[][] array = { {1,2,3}, {4,5,6} };for (int[] tmp : array) {for (int x: tmp) {System.out.print(x+' ');}System.out.println();} 方法② for循環

for (int i = 0; i < array.length; i++) {for (int j = 0; j < array[i].length; j++) {System.out.print(array[i][j]+' ');}System.out.println();}

打印結果:

帶你粗略了解Java數組的使用

方法③ deeptoString

int[][] array = {{1, 2, 3}, {4, 5, 6}};System.out.println(Arrays.deepToString(array));

打印結果:

帶你粗略了解Java數組的使用

4.不規則的二維數組:

int[ ][ ] array = new int[2][ ];

注意:C語言中是可以指定列,行可自行推導;Java中,行必須指定,列是不可以自動推導的

此時若用上述 for 循環來打印數組,便會出現異常:

帶你粗略了解Java數組的使用

分析如下:

帶你粗略了解Java數組的使用

Array類:

java.util.Arrays 類提供的所有方法都是靜態的,能方便地操作數組,

由于數組對象本身并沒有什么方法可以供我們調用,但API中提供了一個工具類Arrays供我們使用,從而可以對數據對象進行一些基本的操作。

Arrays類中的方法都是static修飾的靜態方法,在使用的時候可以直接使用類名進行調用,而'不用'使用對象來調用 (注意:是'不用'而不是'不能')

Array具有的功能這里就不一一列舉了,可以去JDK幫助文檔自行了解

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注好吧啦網的更多內容!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
美女精品视频在线| 精品欧美视频| 三级精品视频| 九九久久国产| 精品72久久久久中文字幕| 国产精品美女午夜爽爽| 欧美日韩中出| 久久不见久久见免费视频7| 国产精品一页| 欧美国产中文高清| 精品国产日韩欧美精品国产欧美日韩一区二区三区| 亚洲精品在线国产| 日韩在线一二三区| 男人的天堂久久精品| 性欧美xxxx免费岛国不卡电影| 偷拍精品精品一区二区三区| 麻豆精品蜜桃| 国产精品色网| 亚洲欧美网站在线观看| 日韩精选在线| 国产精品4hu.www| 久久尤物视频| 激情国产在线| 欧美在线网站| 日韩一区精品字幕| 日韩精品三区四区| 国产精品乱战久久久| 欧美国产中文高清| 日韩理论片av| 女人av一区| 日韩精品一二三区| 少妇精品久久久一区二区三区| 欧美视频久久| 91亚洲成人| 欧美精品一区二区三区精品| 视频一区二区欧美| 综合激情一区| 国产精品一区二区av交换| 国产精品99一区二区三| 亚洲午夜久久久久久尤物| 亚洲精品1区2区| 亚洲欧洲专区| 麻豆成人综合网| 久久国产精品成人免费观看的软件| 婷婷久久一区| 人人爱人人干婷婷丁香亚洲| 国产aⅴ精品一区二区四区| 一区二区三区视频免费观看| 自拍自偷一区二区三区| 久久久久久久久成人| 欧美日韩色图| 亚洲三级网址| 激情久久99| 丝袜国产日韩另类美女| 久久国产三级精品| 久久精品av| 日本午夜精品久久久| 国产一区二区精品久| 中文在线不卡| 国产精品久久久久久模特 | 国产乱码精品一区二区三区亚洲人| 国产精品久久观看| 蜜臀久久久99精品久久久久久| 欧美激情亚洲| 丝袜亚洲另类欧美| 超碰在线99| 亚洲精品亚洲人成在线观看| www成人在线视频| 91福利精品在线观看| 丝袜av一区| 国产精品天天看天天狠| 午夜日韩福利| 毛片不卡一区二区| 综合色一区二区| 久久精品国产大片免费观看| 国产精久久一区二区| 亚洲一区二区小说| 久久九九99| 精品久久视频| 欧美视频精品全部免费观看| 视频一区中文| 国产精品福利在线观看播放| 日韩成人精品一区二区三区| 亚洲精品97| 国产精品一区二区三区www| 中文在线一区| 久久91导航| 久久国产尿小便嘘嘘| 日韩视频二区| 日韩在线二区| 精品久久精品| 国产欧美高清| 日韩欧美中文字幕在线视频| 香蕉国产精品| 日韩免费av| 久久青青视频| 精品色999| 国产精品中文| 欧美日韩国产一区二区在线观看| 亚洲一区网站| 日韩天堂av| 国产综合激情| 日韩国产专区| 在线看片国产福利你懂的| 精品亚洲成人| 国产精品日韩精品中文字幕| 日本中文字幕不卡| 日欧美一区二区| 亚洲一区欧美| 蜜臀va亚洲va欧美va天堂| 女人天堂亚洲aⅴ在线观看| 婷婷精品视频| 一区二区小说| 蜜桃视频欧美| 欧美日韩精品一本二本三本| 欧洲在线一区| 欧美午夜精品一区二区三区电影| 国产福利片在线观看| 国产一区二区精品福利地址| 久久精品国产福利| 久久99视频| 欧美国产极品| 国产中文欧美日韩在线| 精品免费视频| 国产自产自拍视频在线观看 | 日韩av网站在线观看| 亚洲欧洲日韩精品在线| 天海翼精品一区二区三区| 婷婷精品在线| 欧美视频久久| 国产日韩欧美高清免费| 91欧美精品| 国产精品乱战久久久| 欧美黑人巨大videos精品| 卡一精品卡二卡三网站乱码| 精品国产18久久久久久二百| 97精品国产一区二区三区| 国产精品字幕| 香蕉精品视频在线观看| 视频在线观看国产精品| 日韩一区二区三区精品| 国产欧美日韩影院| 久久亚洲精品中文字幕| 四季av一区二区凹凸精品| 日韩欧美精品综合| 久久麻豆精品| 99国产精品久久久久久久| 日韩专区在线视频| 日本精品在线播放| 久久三级中文| 国产亚洲一区二区手机在线观看 | 国产66精品| 日韩一区亚洲二区| 好吊一区二区三区| 亚洲精品无播放器在线播放| 久久激情综合网| 国产精品不卡| 亚洲国内欧美| 亚洲ww精品| 国产91在线精品| 亚州av乱码久久精品蜜桃| 亚洲精品欧美| 国产欧美三级| 韩国精品主播一区二区在线观看| 一本色道精品久久一区二区三区| 日韩三级一区| 四季av一区二区凹凸精品| 亚洲激情欧美| 国产精品99精品一区二区三区∴| 色老板在线视频一区二区| 视频一区二区中文字幕| 国产精品久久久久久久久久白浆| 久久字幕精品一区| 九一精品国产| 国产精品亚洲欧美日韩一区在线| 神马午夜在线视频| 亚洲一区二区三区中文字幕在线观看| 久久av网站| 影音先锋国产精品| 国产精品久久久网站| 欧美 日韩 国产精品免费观看| 视频一区日韩精品| 亚洲精品福利电影| 在线免费观看亚洲| 国产夫妻在线| 婷婷综合成人| 欧美日韩精品免费观看视欧美高清免费大片| 亚洲一区二区三区四区五区午夜 | 国产精品丝袜在线播放| 欧美综合另类| 国产激情欧美| 91久久视频| 国产第一亚洲| 蜜臀a∨国产成人精品| 国产69精品久久| 日欧美一区二区| 国产一区清纯| 开心激情综合| 午夜视频一区二区在线观看| 久久久蜜桃一区二区人|