上次说到,java取消了对goto的使用,他很聪明的使用了break,continue来跳出循环,相当于在循环之中使用了goto。
void main(){
int a[ 4];
one_num:
for(int i=0;i<5;i++){
a[i] = random()%6;
if(a[i] = 3) continue one_num;
}
}
利用这种方法,就能跳出循环,极大的化简了循环处的代码。
在循环的时候, java还添加了另一种对数组的循环。
int a[4];
//赋值
for( int m : a) {
//todo:
}
在我们进行数组复制的时候,常常利用for循环,但是java给我们一种更加高效的方法,system.arraycopy()可以更加快捷的复制数组。
多维数组的问题,与c++不同,我们从他们对于数组的声明方式就可以看出他们的不同。
int arr [][ ] = new int [2][];
arr[0] = new int[2];
arr[1] =new int [4];
int arr[2][4];
int arr [ ][4]=new int [][4] ;
第一种是java,中间的声明方式都可以,最后一个是c++的。java的多维数组其实就是数组的数组,一维数组中储存着其它维的数组的引用,每一个小数组都是独立的,内存位置不连续。
而c++的多维数组内存空间是连续的,所以声明的时候要将列数事先确定以用来分配内存。