前言:
如今各位老铁们对“java for循环语句用法”都比较珍视,姐妹们都需要分析一些“java for循环语句用法”的相关文章。那么小编也在网络上收集了一些关于“java for循环语句用法””的相关文章,希望小伙伴们能喜欢,小伙伴们一起来学习一下吧!for循环语句
for循环是Java程序设计中最有用的循环语句之一。一个for循环可以用来重复执行某条语句,直到某个条件得到满足。在Java5以后新增了foreach语法,对这两种for循环形式做详细的介绍。
1.for语句
语法如下:
for(表达式1;表达式2;表达式3)
{
语句序列
}
表达式1:该表达式用于初始化循环控制变量,它只在循环开始时执行一次。
表达式2:循环条件表达式,它的类型为boolean,如果表达式的值为true就执行一次循环体。
表达式3:该表达式用于改变循环体变量的值。
for循环语句的流程如图1所示。
For循环的执行过程如下:
第一步:执行表达式1,完成某一变量的初始化工作;例如inti=0;
第二步:判断表达式2的值;例如i<100。若表达式2的值为true,则执行一次循环体;然后执行第三部,否则退出循环体结束For循环。
第三部:执行表达式3,这部分通常执行循环控制变量的修改。
第四步:跳转到第二部继续执行循环
例 在项目中创建类Circulate,在主方法中使用for循环来计算100以内(包括100),所有偶数之和。
public classCirculate {
publicstatic voidmain(String args[]) {
intsum = 0; // 声明总和变量
for(int i = 0; i <= 100; i += 2) { //定义for循环
sum += i; // 累加100以内的偶数
}
System.out.println("100以内的所有偶数之和为:" + sum);
}
}
运行结果如图2所示。
2.foreach语句
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而任何的foreach语句都可以改写为for语句版本。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为foreach语句。foreach语句在遍历数组等方面为程序员提供了很大的方便。
语法如下:
for(元素变量x : 遍历对象obj){
引用了x的java语句;
}
foreach语句中的元素变量x,不必对其进行初始化,下面通过简单的例子来介绍foreach语句是怎样遍历一维数组的。
例 在项目中创建类Repetition,在主方法中定义一维数组,并foreach语句遍历该数组
运行结果如图3所示。
循环的跳转
continue跳转语句
continue语句只能应用在for、while和do...while循环语句中,用于结束本次循环直接跳过循环体剩余的语句,进行下一次循环。
语法:
continue 标号;
标号:这是可选参数,标号有合法标识符和“:”字符组成,例如“for1:”。
continue语句有两种使用情况:
不带标号跳转
如果执行不带标号的continue语句,将结束本次循环,跳过循环体中剩余的没有被执行的语句,根据循环的条件判断去执行下一次循环,或者结束循环。如果是for循环还要先执行表达式3,改变循环控制变量的值。
例 实现输出100以内能被7整除的所有数,使用continue语句过滤其它的数字。
public classContinueNull {
publicstatic voidmain(String[] args) {
System.out.println("100以内能被7整除的数有:");
for(int i = 1; i < 100; i++) {
if(i % 7 != 0) { // 当i的值不能被7整除时
continue; // 结束本次循环,放弃不能被7整除的书
}
System.out.print(i + "、"); // 输出i的值
}
}
}
实例中在For循环中加入了if判断语句,如果循环控制变量i不能被7整除,就执行continue语句放弃本次循环,否则输出变量i,这时变量i肯定能被7整除。
运行结果如图1所示。
带标号跳转
这种情况下,continue语句不是跳过当前循环语句的一次循环,而是跳过标号指定的循环语句的一次循环,然后判断指定标号的循环条件,以决定是否执行标号指定的循环。
标号定义在语句之前,由一个合法的标识符和“:”字符组成。
语法:
标号:程序代码
continu语句跳转的标号用于指定循环语句,所以定义在循环语句之前。
说明:带标号的continue跳转语句经常用在多层循环中。
例 使用带标号的For循环和带标号的continue语句输出九九乘法表。
public class MultiplicationTable {
public staticvoid main(String[] args) {
outer:for (inti = 1; i <= 9; i++) { // 第一层循环
for (intj = 1; j <= 9; j++) { // 第二次循环
if (j > i) { //如果j>i
System.out.println(); // 换行
continue outer; // 跳过循环放弃不需要的乘数
}
Stringstr = j + "*" + i + "=" + j * i;
System.out.print(str + "\t"); // 使用制表符格式化输出
}
System.out.println();
}
}
}
实例中在内层For循环中加入了if判断语句,如果循环控制变量j大于外层循环控制变量i,那这个数字对于乘法表的当前行就没有用了,所以输出一个空行并执行continue语句跳出到outer标识的For循环,这时内层循环语句就被结束或者说终止了,转去执行outer标识的外层循环。
运行结果如图4.24所示。
如果把内层循环的if语句注释掉,如下所示:
//if (j > i) { // 如果j>i
// System.out.println(); // 换行
// continueouter; // 跳过循环放弃不需要的乘数
//}
然后再运行程序,将会输出如图3所示的结果
break跳转语句
正常来说,退出循环的方式应该由循环条件来判断和控制,而break语句可以应用在for、while和do...while循环语句中,来实现强行退出循环。这也给循环增加了一些灵活性,也就是说,在循环条件为true的情况下,也可以根据需要使用break语句强行退出循环。
语法:
break 标号;
和continue语句一样,break语句也有两种使用情况:
不带标号的break语句可以终止break语句所在的循环。
例 使用while循环和break语句输出1至100所有整数的和。
public class GetSum {
publicstatic voidmain(String[] args) {
intsum = 0; // 声明总和变量
intcontrol = 1; // 声明控制变量
while(true) { // 无限的while循环
sum += control++; // 累加总和并步进控制变量
if(control > 100) { // 如果控制变量大于100
// 输出总和
System.out.println("1至100所有整数的和是:"+sum);
break; // 终止循环
}
}
}
}
实例中使用无限循环的while循环不停地累加整数的总和,并是control控制变量自增,当控制变量大于100的时候,说明100已经被累加到sum总和变量里了,这使循环的任务已经完成了,应该输出总和变量的数值,并执行break语句退出循环。
运行结果如图1所示。
带标号的break语句可以终止标号指定的循环,它常用于跳出多层循环的情况。
例 当九九乘法表的积大于16时,终止外层循环。
publicclass BreakTab {
publicstaticvoidmain(String[] args) {
loop: for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
if (i * j > 16) { // 如果乘积大于16
break loop; // 终止外层循环
}
System.out.print(i + "*" + j + "=" + i *j + "\t");
}
System.out.print("\r\n"); // 输出一个回车换行符
}
}
}
运行结果如图2所示。
说明:break语句和continue语句的区别在于,break语句将终止整个循环语句,而continue语句只结束本次循环。
明天的话小编会带大家做一些练习题,代码的话还是会以图文方式发送,想要学习计算机编程的朋友可以关注小编哦!我带大家免费学习计算机编程。
标签: #java for循环语句用法 #用for循环输出1到100的偶数之和 #用for循环求1到100的偶数之和 #用for循环求1到100的偶数和c语言 #c语言forinti