黑马程序员---数组的学习
---------------------- android培训、java培训、期待与您交流! ----------------------
数组:同一类型数据的集合。其实数组就是一个容器。
数组的好处:可以自动给数组中的 元素从0开始编号,方便操作这些元素。
格式1:元素类型[ ] 数 组名=new 元素类型 [ 元素个数或者元素长度];
Eg:int [ ] arr=new int [ 5];
格式2:元素类型[ ] 数组名=new 元素类型 [ ]{元素,元素,元素,...};
Eg: int [] arr=new []{3,5,8,9,};
Int [] arr={3,5,8,9,};
栈内存:用于存储局部变量,当数据使用完,所占据的空间会自动释放。
堆内存:
·数组和对象,通过new建立的实例都存放在堆内存中。
·每个实体都有内存地址值。
·实体中的变量都有默认初始化值。
·实体不再被使用,会在不确定的时间内被垃圾回收机制回收。
栈内存中存放数组的 地址,然后引用堆内存中的数组。
int[] arr=new int[2];等价于
int arr[]=new int[2];
选择排序
内循环结束一次,最值出现在头角标位置上。
折半查询:
插入一个数之后,保证数组元素还是有序的。
数组中的数组------二维数组。
格式1 :int[][] arr=new int[3][5];
·定义了名称为arr二维数组。
·二维数组有3个一维数组。
·每一个一维数组含有5个元素。
·一维数组的名称为:arr[0],arr[1],arr[2]
·给第一个一维数组1脚标位赋值为78的写法:arr[0][1]=78;
格式2:int[][] arr=new int[3][];
·二维数组有3个一维数组。
·每一个一位数组都是默认初始化值null
·可以对这3个一维数组分别进行初始化
arr[0]=new int[3];
arr[1]=new int[1];
arr[2]=new int[2];
一维数组的定义方式:
int [] x; int x[];
二维数组的定义方式:
int[][] x; int x[][]; int[] x[];
int[] x,y[];//x是一维的,y是二维的。
其实是:int[] x;
int[] y[];
class Arr2Demo
{
public static void main(String[] args)
{
int[][] arr={{2,8,6,11,},{4,6,8,5,},{8,6,9,9,},{8,5,1,2,}};
int sum=0;
for (int x=0;x<arr.length ;x++ )
{
for (int y=0;y<arr[x].length ;y++ )
{
sum=sum+arr[x][y];
}
}
System.out.println("sum="+sum);
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------