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

歡迎訪問 生活随笔!

生活随笔

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

java

Java的知识点16——数组概述和特点、数组声明、初始化、数组的遍历、for-each循环、数组的拷贝

發布時間:2025/4/16 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java的知识点16——数组概述和特点、数组声明、初始化、数组的遍历、for-each循环、数组的拷贝 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數組的定義

? ? ? 數組是相同數據類型有序集合。數組描述的是相同類型的若干個數據,按照一定的先后次序排列組合而成。其中,每一個數據稱作一個元素,每個元素可以通過一個索引(下標)來訪問它們。數組的三個基本特點:

? ? ??1. 長度是確定的。數組一旦被創建,它的大小就是不可以改變的。

? ? ??2. 其元素必須是相同類型,不允許出現混合類型。

? ? ??3. 數組類型可以是任何數據類型,包括基本類型和引用類型。

? ? ? ?數組變量屬引用類型數組也可以看成是對象數組中的每個元素相當于該對象的成員變量。數組本身就是對象,Java中對象是在堆中的,因此數組無論保存原始類型還是其他對象類型,數組對象本身是在堆中存儲的。?


數組聲明

數組的聲明方式(以一維數組為例)? ??type[] arr_name;?//(推薦使用這種方式)

注:1. 聲明的時候并沒有實例化任何對象只有在實例化數組對象時,JVM才分配空間,這時才與長度有關。

? ? ? ?2. 聲明一個數組的時候并沒有數組真正被創建。

? ? ? ?3. 構造一個數組,必須指定長度。

創建基本類型一維數組

package cn.dym07;public class Test {public static void main(String[] args) {int [] s=null; //聲明數組s=new int[10]; //給數組分配空間for(int i=0;i<10;i++) {s[i]=2*i+1;System.out.println(s[i]);}} }

? ? ? ? ? ? ? ?

創建引用類型一維數組

package cn.dym07;class Man{private int age;private int id;public Man(int id,int age) {super();this.age=age;this.id=id;} }public class AppMain {public static void main(String [] args) {Man[] mans; //聲明引用類型的數組mans=new Man[10]; //給引用類型數組分配空間Man m1=new Man(1,11);Man m2=new Man(2,22);mans[0]=m1;//給引用類型數組元素賦值mans[0]=m2;} }

? ? ? ? ? ? ? ??


初始化

?數組的初始化方式總共有三種:靜態初始化、動態初始化默認初始化。?

1. 靜態初始化

? ? ??除了用new關鍵字來產生數組以外,還可以直接在定義數組的同時就為數組元素分配空間并賦值。

? ? ? 靜態初始化數組例子:int[]?a?=?{?1,?2,?3?};//?靜態初始化基本類型數組;

? ? ? ? ? ? ? ?Man[]?mans?=?{?new?Man(1,?1),?new?Man(2,?2)?};//?靜態初始化引用類型數組;

2.動態初始化

? ? ??數組定義與為數組元素分配空間并賦值的操作分開進行

? ? ??動態初始化數組例子:int[]?a1?=?new?int[2];//動態初始化數組,先分配空間;

? ? ? ? ? ?a1[0]=1;//給數組元素賦值;

? ? ? ? ? ?a1[1]=2;//給數組元素賦值;

3.數組的默認初始化

? ? ? 數組是引用類型它的元素相當于類的實例變量,因此數組一經分配空間,其中的每個元素也被按照實例變量同樣的方式被隱式初始化。

? ? ? 數組的默認初始化例子:?int?a2[]?=?new?int[2];?//?默認值:0,0

? ? ? ? ? ? ? ? ?boolean[]?b?=?new?boolean[2];?//?默認值:false,false

? ? ? ? ? ? ? ? ?String[]?s?=?new?String[2];?//?默認值:null,?null


數組的遍歷

數組元素下標的合法區間:[0, length-1]。

可以通過下標來遍歷數組中的元素,遍歷時可以讀取元素的值或者修改元素的值

?使用循環遍歷初始化和讀取數組

package cn.dym07;public class Test01 {public static void main(String [] args) {int [] a=new int[4];//初始化數組元素的值for(int i=0;i<a.length;i++) {a[i]=100*i;}//讀取數組元素的值for(int i=0;i<a.length;i++) {System.out.println(a[i]);}} }


for-each循環

?增強for循環for-each專門用于讀取數組或集合中所有的元素,即對數組進行遍歷。

增強for循環

package cn.dym07;public class Test02 {public static void main(String [] args) {String [] ss= {"aaa","bbb","ccc","ddd"};for(String temp:ss) {System.out.println(temp);}} }

注:1. for-each增強for循環在遍歷數組過程中不能修改數組中某元素的值

? ? ? ?2. for-each僅適用于遍歷,不涉及有關索引(下標)的操作。


數組的拷貝

? ? static void arraycopy(object src,int srcpos,object dest, int destpos,int length)

數組拷貝

package cn.dym07;public class Test03 {public static void main(String[] args) {String [] s= {"阿里巴巴","京東","百度","搜狐","網易","百度"};String [] sBak=new String[6];System.arraycopy(s, 0, sBak, 0, s.length);for(String ss:sBak) {System.out.print(ss+"\t");}} }

總結

以上是生活随笔為你收集整理的Java的知识点16——数组概述和特点、数组声明、初始化、数组的遍历、for-each循环、数组的拷贝的全部內容,希望文章能夠幫你解決所遇到的問題。

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