java重新开始循环_重新开始学Java——循环结构

本文介绍了Java中的三种循环结构:while、do...while和for循环,包括它们的工作原理、语法格式及使用示例。强调了它们在不同场景下的适用性和在循环控制中的关键要素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体。当反复执行这个循环体时,需要在合适的时候把循环条件改为假,从而结束循环,否则循环一直执行下去,形成死循环。一个循环语句可能包含以下四个部分:

初始化语句(init_statement):一条或多条语句,这些语句用于完成一些初始化工 作,初始化语句在循环体之前执行。

循环条件(test_expression):这一般是一个 boolean表达式,这个表达式能决定是否执行循环体。

循环体(body_statement):这个部分是循环体的主体,如果循环条件允许,这个 代码块将被重复执行。

迭代语句(iteration_statement):这个部分在一次循环体执行结束后,对循环条 件求值之前执行,通常用于控制循环条件的变量,使得循环再合适的时候结束。

以上四个部分知识一般性的分类,并不是每个循环中都很明确的分出这四个部分。

while循环语句

while 语句是循环语句,也是条件判断语句。它的循环重复执行方式,是利用一个条件 来控制是否要继续重复执行这个语句。具体的语法格式如下:

init_statement;// 初始化部分

while(test_expression ){

body_statement;//这里包含步进(迭代部分)

}

while 循环每次执行循环体之前,先对 expression 进行求值,如果循环的条件是 true,则运行循环体部分。如果循环的条件是 false,那么就永远不会执行循环体。 注意:如果在 while( expression )后边加了一个分号,这样就会使程序执行一条空语句。

// 希望输出 1 到 10 ,这 10 个数字

int i = 1 ; //1、控制循环是否继续的一个变量

while( i <= 10 ) { //2、判断是否满足某个条件

System.out.println( i ) ;

i++ ; //3、让 i 变化起来,朝着 "越来越不满足" 的方向走

}

do..while循环语句

do…while 循环与 while 循环的区别在于: while 循环是先判断循环条件, 如果条件为真, 则执行循环体; 而do…while 循环则先执行循环体, 然后才判断循环条件, 如果循环条件为真, 则执行下一次循环, 否则中止循环。 do…while循环的语法格式如下:

init_statement;

do{

body_statement; //这里包含 步进 (迭代部分)

} while (test_expression );//注意, 这里的分号不能省略! 否则编译通不过

do…while 循环的循环条件后边必须有一个分号, 这个分号表示循环结束。 如果test_expression 表达式的值如果是 false,那么循环体也会执行。 while 和 do…while 的区别: while 可能一次都不会执行, do…while 至少会执行一次循环体。

for循环

for 循环是更加简洁的循环语句, 可以和 while 循环、 do…while 循环互换。 基本格式如下:

for( init_statement; test_expression ; iteration_statement ){

body_statement;

}

程序执行 for循环时,先执行循环的初始化语句 init_statement,初始化语句只在循环开始前执行一次。每次执行循环体之前,先计算 test_expression 循环条件的值, 如果循环条件返回true,则执行循环体,循环体执行结束之后执行循环迭代语句。因此,对于 for循环而言,循环条件总比循环体要多执行一次,因为最后一次执行循环条件返回 false,将不再执行循环体。 for 循环的循环迭代语句并没有与循环体放在一起,因此,即使执行循环体时遇到continue语句结束本次循环,循环迭代语句也一样会得到执行。 例子:

public class ForLoop1 {

public static void main(String[] args) {

/*

int i = 5 ;

while( i > 0 ) {

System.out.println( "i = " + i );

i-- ;

}

*/

for( int i = 5 ; i > 0 ; i-- ){

System.out.println( "i = " + i );

}

}

}

for循环明显知道循环了多少次,如果次数很确定的话,就是用for循环;如果不知道明确的次数的话,一般是用while循环。

public class ForLoop2 {

public static void main(String[] args) {

// 输出 十个 * 后再换行

for( int i = 0 ; i < 10 ; i++ ){

System.out.print( " * " );

}

System.out.println();

}

}

// 输出十个星,让十个星执行十次

public class ForLoop3 {

public static void main(String[] args) {

for( int m = 0 ; m < 10 ; m++ ) {

// 输出 十个 * 后再换行

for( int i = 0 ; i < 10 ; i++ ){

System.out.print( " * " );

}

System.out.println();

}

}

}

public class ForLoop4 {

public static void main(String[] args) {

int c = 0 ;

for( int m = 0 ; m < 10 ; m++ ) {

// 输出 十个 * 后再换行

for( int i = 0 ; i <= m ; i++ ){

c++ ;

System.out.print( " (" + m + " , " + i + ") " );

}

System.out.println();

}

System.out.println( c );

}

}

这里有人说应该有增强的for循环(foreach),确实是属于循环的一部分,但是本质上来说是属于迭代器的一种,会放在集合那里去说。

还有就是关于循环的嵌套的问题,那么在这里要说的就是 循环的嵌套就是将 循环体 变成了另一个循环而已,没有什么难度。比较难的就是打印各种图形:等腰三角形、菱形、直角三角形、杨辉三角形等问题,但是本质上这些问题还是要处理的就是逻辑思维的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值