创建并定义一个整型数组的方法
int[] numbers=new int[100];
这句话的意思是
int[]:整形数组
number:数组的名字
new:创建一个新的(动词)
int[100]:存放100个整型的数组;
故创建数组的语句的含义就是 创建一个新的存放100个整型的数组赋值给名为numbers的整形数组
数组是一种数据结构,能记录多个同种类型的数据,它的特点是:
1.一旦创建则不能改变大小
2.其中所有元素具有相同的数据类型
那么,可以给出创建一个数组的通用方法
「数组类型」[] 「数组名称」 = new 「数组类型」[数组中元素的个数]
注:元素类型必须给出,元素个数必须是整数,元素个数可以是变量
数组的下表都是从0开始的,最小的下标为0,最大的下表的lenth-1,程序运行时遇见无效下标的时候程序会终止。
由于数组元素个数可以是变量,所以可以让用户输入数组的元素个数
例如:
如上,就是让cnt去作为in输入的内容,然后创建数组的时候为
int【】 numbers=new int【cnt】;
此时cnt就是一个变量,numbers数组元素个数就可以由用户决定了
初始化数组时,不光可以用new创建,也可以直接列出数组元素
如下
数组变量和一般的变量不同,数组变量时数组的管理者而非数组本身。数组创建出来时交给数组变量来管理的,例如
int[] a1={1,2,3};
int[] a2=a1;
如上就是让a1,和a2两个变量共同管理{1,2,3}这个数组,所以,当仅仅修改a2数组中的数组元素时,a1中的数组元素也会相应修改。
因此,在比较数组是否相等的时候,比较的不是他们内部的元素是否一一相等,而是比较这两个数组变量是否管理的是同一个数组。
所以,在复制一个数组的时候,不能简单的说
int[] a2=a1;
而是应该把遍历a1中的元素并将他们逐一赋予a2.
遍历数组时可以用到一种for-each循环,他的实现方法是
for(int k:a1)
{if(k==x){
found==true;
break
}}
for-each循环在搜索数组中是否有某个元素时可以用来遍历数组,但不能用来遍历数组赋值,同时它在搜索的时候也不能给出搜索的元素在数组中的位置
二维数组
二维数组的初始化:
int[][] numbers=new int[10][100];
这句话的意思就是说创建一个二维数组numbers,10行100列
同时如一位数组,也可以直接给出数组来初始化数组
int[][]={
{1,2,3,4},
{1,2,3},
}
以上的意思就是{1,2,3,4}为创建的第一行,{1,2,3}为创建的第二行 ,如果有省略的位置自动补为0,每行一个{},大括号内部表示一行的内容



