![image-20230817150101221](https://i-blog.csdnimg.cn/blog_migrate/2b50c921fa2f1976c1b4f69a3f6480aa.png)
数组
数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用数据类型。
//double[]表示double类型的数组,hens表示数组名
//{2,4,6,7,3,8}表示数组的值/元素,依次表示数组的第几个元素,注意:下标为0表示数组的第一个元素,即
//hens[0]=2,hens[1]=4
double[] hens={2,4,6,7,3,8.5};
//遍历数组所有元素求和,使用for循环,使用sum变量进行累加。
//下方的i<6,可以修改成i<hens.length(数组长度/元素个数)
for(int i=0;i<6;i++){
System.out.println("第"+(i+1)+"个元素的值="+hens[i]);
sum+=hens[i];
}
数组的使用:
动态初始化1:
数组的定义: 数据类型数组名【】 = n e w 数据类型【大小】 \textcolor{Green}{数据类型数组名【】=new 数据类型【大小】} 数据类型数组名【】=new数据类型【大小】
int a【】 =new int【5】//创建了一个整形数组,名字为a,存放5个int
数据类型【】数组名 = n e w 数据类型【大小】 \textcolor{Green}{数据类型【】 数组名=new 数据类型【大小】} 数据类型【】数组名=new数据类型【大小】//【】也可以放在数据类型后面
数组的引用: 数组名【下标】 \textcolor{Green}{数组名【下标】} 数组名【下标】// a[3]表示a数组的第4个数(因为数组下标从0开始)
动态初始化2:
先声明: 数据类型【】数组名 \textcolor{green}{数据类型【】 数组名} 数据类型【】数组名
int 【】 a
再创建: 数组名 = n e w 数据类型【大小】 \textcolor{green}{数组名=new 数据类型【大小】} 数组名=new数据类型【大小】
a =new int【5】 //new的时候分配内存空间
静态初始化:
数据类型数组名【】 = 元素值,元素值 . . . \textcolor{green}{数据类型 数组名【】={元素值,元素值...}} 数据类型数组名【】=元素值,元素值...
int a[]={1,2,4,6,7,9}//等价于int a[]=new int[6]; a[0]=1,a[1]=2…a[5]=9
//数组使用细节
public class Array{
public static void main(String[] args){
//1.数组是多个相同类型数据的集合
int[] arr1={1,2,3,4,5.3};//错误,不能把double类型的传给int
double[] arr2={1.2,3.5,2.3,100};//正确,int类型自动类型转换 double
//2.数组中的元素可以是任何数据类型,包括基本类型,引用类型,但不能混用
String[] arr3={"北京","上海","广州"};
//3.数组创建后,如果没有赋值,则是默认值
//int 0,short 0,byte 0,long 0,float 0.0,double 0.0,
//char \u0000,boolean false,String null
//4.数组下标必须在指定范围内,否则会报错
int[] arr=new int[5];
System.out.println(arr[5]);//数组越界,创建了5个,arr【5】表示第6个,下标从0开始
}
}
数组赋值机制
//数组的赋值机制
public class Array{
public static void main(String[] args){
//基本数据类型赋值,赋值方式为值拷贝
//n2的变化,不会影响n1
int n1=10;
int n2=n1;
n2=80;
//n1:10 n2:80
//数组在默认情况下是引用传递,赋的值是地址,赋值方式为引用赋值
//是一个地址,arr2变化会影响到arr1
int[] arr1={1,2,3};
int[] arr2=arr1;
arr2[0]=10;
//arr1={10,2,3}
}
}
二维数组的声明方式
i n t 【】【】 a 或者 i n t 【】 a 【】或者 i n t a 【】【】 \textcolor{green}{int【】【】 a或者int【】a【】或者int a【】【】} int【】【】a或者int【】a【】或者inta【】【】
二维数组实际上是有多个一维数组组成,各个一维数组长度可以相同也可以不同。
例如:map【】【】={{1,2},{3,4,5}}