数组的定义:
概念:
同一种类型数据的集合,其实数组就是一个容器。
数组的好处:
可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式1:
元素类型[] 数组名=new 元素类型[元素个数或数组长度];
eg:int[] arr=new int[5];
格式2:
元素类型[]数组名=new元素类型[]{元素,元素......};
int [] arr=new int []{3,5,1,7};
int [] arr={3,5,1,7}
数组异常提示:
ArrayIndexOutofBoundsException:操作数组时,访问到了数组中不存在的角标。
NullPointerException:空指针异常:当引用没有任何指向值为Null的情况,该引用还在用于操作实体。
Java中划分了两个区来存储内容:
*局部变量:定义在方法中的变量,定义在方法参数中的变量,定义在for循环中的变量全是局部变量。
1>栈内存:
数据使用完毕会自动释放。
局部变量都定义在栈内存中。
2>堆内存:
eg:int[]=new int[3];
new后出来的都在堆内存中,堆内存中都是实体。
实体又包括数组和对象。
堆内存的变量都有默认初始化值。
数组的应用–(1)遍历
package book;
public class Arraydemo {
public static void main(String[] args) {
//数组的操作
//获取数组中的元素,通常会用到遍历。
//int[]arr =new int [3];
int []arr={3,5,4,7,8,9};
//数组中有一个属性可以直接获取到数组元素个数.length
//使用方式:数组名称.length=;
//System.out.println("length:"+arr.length);
//int sum=0;
//for(int i=0;i<arr.length;i++)
//{
//将数组单个输出
//System.out.println("arr["+i+"]="+arr[i]+";");
//数组求和
// sum+=arr[i];
//System.out.println("sum:"+sum);
//}
//调用打印数组函数
printArray(arr);
}
//定义功能,用于打印数组中的元素。元素间用逗号隔开。
public static void printArray(int[] arr)
{
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]);
}
}
}
二维数组:
格式1:
`int [][]arr=new int [3][4];//定义了名称为arr的二维数组,二维数组中有三个一维数组每一个一维数组有四个元素`
格式2:
int [][]arr=new int[3][];
arr[0]=new int [3];
arr[1]=new int [1];
arr[2]=new int [2];
System.out.println(arr.length);//打印是二维数组的长度3
System.out.println(arr[0].length);//打印二维数组中第一个一维数组长度
应用示例:二维数组的求和
int[][]arr1={{3,5,1,7},{2,3,5,8},{6,1,8,2}};
int sum=0;
for(int x=0;x<arr1.length;x++)
{
for(int y=0;y<arr1[x].length;y++)
{
sum=sum+arr1[x][y];
}
}
System.out.println("sum="+sum);
/**
一个一维数组可以赋给一个二维数组
一个二维数组不可以赋给一个一维数组
一个一维数组的值可以赋给一个二维数组
int [] x , y []代表x是一维数组,y是二维数组
**相当于 int [] x
int [] y [].
**/