一、如何区分break和continue语句
break语句:用于跳出本层循环,进入外层循环;在循环语句中常与条件语句(for语句或者if else句)一起使用。
for(...){
for(...){
...
break;
...
}
...
}
continue语句:用于终止本次循环,跳过该循环体中位于continue后面的语句,进入下次循环用于循环语句中,类似于break语句,常与条件语句一起使用。
for(...){
for(...){
...
break;
...
}
...
}
break和continue使用注意:break和continue都可以在循环中使用,为循环提供额外的控制;
在某些情况下,使用break和continue可以简化程序设计,但是过度使用或者不正确使用会使程序难以读懂也难以调试。
总结: 1.break语句用于终止整个循环的执行,并跳出循环体之后的代码执行。 2.continue语句用于跳过循环体中剩余的语句,直接进入下一次循环的执行。
二、一维数组和二维数组
首先,我们要知道什么是数组:
数组是一组具有相同类型和名称的变量的有序集合。
组成数组的这些变量称为数组的元素,一个数组可以含有若干个元素。
下标也叫索引(Index),用来指出某个元素在数组中的位置数组中第一个元素的下标默认为0,第二个元素的下标为1,依次类推。如果某一数组有n个元素,则其最大下标为n-1。
1.一维数组:
(1)一维数组创建的语法格式:
① 数据类型[ ] 数组名=new 数据类型符[长度];
例如: int[ ] score=new int[3];
② 数组类型符[ ] 数组名;
例如:int[ ] score;
③ 数组名=new 数组类型符[长度];
例如:score=new int[3];
(2)一维数组的初始化的语法格式:
数据类型符[ ] 数组名 = new 数据类型符[ ] {初值列表};
数据类型符[ ] 数组名 ={初值列表};
例如:int[] a1=new int[]{0,1,2,3};
int[] a1={0,1,2,3};
等价于
int[] a1=new int[4];
a1[0]=0;
a1[1]=1;
a1[2]=2;
a1[3]=3;
使用初始化数组语句必须将声明、创建和初始化数组都放在一条语句中。将它们分开 会产生语法错误。
如:
使用数组名与下标(索)可以唯一确定数组中的某个元素,从而实现对该元素的访问。例如:
在访问数组元素时,要注意不要使下标越界,例如:
下标越界出错信息:
2.foreach语句:
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,任何的foreach语句都可以改写为for语句。foreach不是一个关键字,习惯上将这种特殊的for语句格式称之为foreach语句。
数据类型要和数组或集合数据类型相匹配。
循环次数由集合的元素个数决定。
每次迭代变量会依次取得元素值。
迭代变量为只读变量,不可赋值。
语句格式如下:
for(数据类型 变量:数组或集合){
//语句;
}
异同点:
for与foreach均能对数组进行遍历。
for通过变换数组下标的形式访问数组元素,因此可改变数组元素的值foreach通过迭代变量的形式。
读取数组元素,故不能改变数组元素的值。
3.二维数组:
(1)二维数组创建的语法格式:
①数据类型符[ ][ ] 数组名= new 数据类型符[长度1] [长度2];
例:double[ ][ ] score=new double[2][3];
②数据类型符[ ][ ] 数组名;
数组名=new 数据类型符[长度1][长度2];
例:double[ ][ ] score;
score=new double[2][3];
(2)二维数组的初始化的语法格式:
数据类型符[ ][ ] 数组名=new 数据类型符[ ][ ] {初值列表1},...,[初值列表n}
数据类型符[ ][ ] 数组名={{初值列表1},...,{初值列表n}}
例:
//第1种方法
double[][] s1=new double[][]{{70,80,90},{30,40,50}};
//第2种方法
double[][] s1={{70,80,90},{30,40,50}};
等价于
double[][] s1=new double[2][3];
s1[0][0]=70;s1[0][1]=80;s1[0][2]=90;
s1[1][0]=30;s1[1][1]=40;s1[1][2]=50;
一维数组和二维数组总结:
一维数组和二维数组在处理数据时非常有用,特别是当需要存储和操作大量数据时。然而,它们也有一些限制,例如固定的大小和无法动态扩展。对于更复杂的数据处理需求,可能需要使用其他数据结构或库。