Array_using

来源:互联网 发布:wpx软件是什么 编辑:程序博客网 时间:2024/05/18 01:15

1、数组必须先声明再创建(初始化),后使用。

声明:int[ ] array1,array2; int array[ ];//数组没有被分配内存空间

创建(分配内存空间):array1=new int[5];//此时已经有了默认值。可以对数组进行存取了。

2、Java中数组是一种对象,它会有自己的实例变量,实际上,数组只有一个公共的实例变量,也就是length变量,这个变量指的是数组的长度。array1.length

3、byte的默认值是0,char的默认值为空,int为0,long为0,float为0.0 ,double为0.0,String为null

4、array1=array2;//数组拷贝可以直接把一个数组变量拷贝给另一个,这时候,数组都指向同一个数组。即原来array2所指向 的数组。

另一种方法是,System.arraycopy(原数组,想要复制的起始下标,目标数组,要被放置的下标位置,想要拷贝原数组的元素长度)

代码如下:

public class ArrayCopy3 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint[] array1={1,2,3,4,5,6,7,8,9};int[] array2=new int[20];for(int i=0;i<10;i++)array2[i]=10*i;System.arraycopy(array1,0,array2,10,array1.length);for(int i=0;i<array2.length;i++)System.out.println(array2[i]);}}

结果为:



5、一维数组初始化:int[] array1=new int[5];array1[0]=1;或者为,int[] array1={1,2,3,4,5};

二维数组创建:int[] []  twoD=new int [5][5];初始化:int[][] twoD={ {1,2,3,4,5},{6,7,8,9,10},{},{},{}};或者,利用循环语句访问数组的每个元素的方法对数组元素进行赋值。

其中,twoD.length代表二维数组的行数;twoD[i].length代表二维数组的列数;

6、二维数组的应用:

package execite;public class TwoD2 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//创建一个二维数组int [][] twoD1={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};//创建一个一维数组作为中间变量int [] array1=new int[5];//把twoD的第一行赋值给array1array1=twoD1[0];//交换二维数组的两行twoD1[0]=twoD1[4];twoD1[4]=array1;System.out.println("得到的一维数组array1");for(int i=0;i<array1.length;i++){System.out.print(array1[i]+" ");}System.out.println();System.out.println("交换后的二维数组twoD1");for(int i=0;i<twoD1.length;i++){for(int j=0;j<twoD1[i].length;j++)System.out.print(twoD1[i][j]+" ");System.out.println();}}}
结果如下:


7、int[] [] twoD=new int[5][];//数组的行数在数组声明时必须确定,列数可以在确定。

声明各个行的列数如下:

twoD[0]=new int[1];

twoD[1]=new int[2];

8、for(集合元素的类型  元素变量:集合名称){语句块}

package execite;public class ForEcho {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint sum=0;int [] nums={1,2,3,4,5,6,7,8,9,0};for(int i:nums){System.out.println("数组元素:"+i);sum+=i;}System.out.println("数组元素和:"+sum);}}
结果为:


8、for—each多维数组的使用

int nums[][] =new int [5][5];

for(int x[]: nums)

for(int y:x)

{语句块

 对元素进行操作}

实验代码如下:

package execite;public class ForEach {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint sum=0;int nums[][]=new int[4][4];int k=0;for(int i=0;i<4;i++)for(int j=0;j<4;j++){nums[i][j]=k++;}//用双重循环来访问二维数组for(int x[]:nums)for(int y:x){System.out.println("数组元素:"+y);sum+=y;}System.out.println("数组元素和: "+sum);}}

实验结果为:


0 0
原创粉丝点击