循环结构
当我们想输出一行数字,只需要写一行System.out.println( ); 即可,可是当我们想输出一百行甚至一千行数字,难道要将一句输出语句复制成百上千次吗?并不是这样的,这个时候,我们就需要用到循环语句。
循环语句分为三种,下面我逐个给大家进行讲解。
1、while 循环:
格式: while ( boolean 表达式 ){
循环体;
}
特点:先判断 boolean表达式,如果表达式值为true,则执行循环体,否则跳出循环体。
做一个案例,输出10次“无敌大龙”
package Test;
/**
*
* @author FYDragon
*
*/
public class TestDemo {
public static void main(String[] args) {
int DL = 0;
while (DL < 10) {
System.out.println("无敌大龙");
DL++;
}
}
}
分析: 第一次循环:DL = 0,此时 DL < 10 成立,输出打印“无敌大龙”,DL自增 1
第二次循环:DL = 1,此时 DL < 10 成立,输出打印“无敌大龙”,DL继续自增1
。。。
第十次循环:DL = 9,此时 DL < 10 成立,输出打印“无敌大龙”,DL继续自增1
第十一次,DL = 10 ,DL 不小于10 ,结束循环。
2、do-while 循环:
格式: do{
循环体语句;
}while( boolean 表达式 )
特点:先执行一次 循环体,再判断表达式,若为 true就继续执行循环体,否则跳出循环体。
就是说无论boolean表达式是否成立,该循环体至少执行一次。
继续上一个案例:
package Test;
/**
*
* @author FYDragon
*
*/
public class TestDemo {
public static void main(String[] args) {
int DL = 0;
do {
System.out.println("无敌大龙");
DL++;
} while (DL < 10);
}
}
结果:
3、for 循环:
格式: for( 初始化语句 ; boolean 表达式 ; 循环后操作的语句 ) {
循环体语句;
}
初始化语句:表示对循环进行初始化,只在循环开始时执行一次,定义一个变量,并赋值。
boolean表达式:表达式为 true,执行循环体,否则跳出循环体
循环后操作语句:循环每次迭代之后会调用该语句,一般情况下,该语句都是递增或递减操作。
我们继续上个案例!
package Test;
/**
*
* @author FYDragon
*
*/
public class TestDemo {
public static void main(String[] args) {
for (int i = 0; i <10; i++) {
System.out.println("无敌大龙");
}
}
}
结果:
相比来说,for 循环的使用更为广泛一些,因为它能够顺利完成任何循环操作。个人建议for循环一定要记熟哦~
好了,现在三大基本循环介绍完了,下面我继续讲一下循环的进一步知识点。
嵌套循环:
举个例子,之前的案例是输出10 条语句,那么如果我们想输出10 次1~20,需要怎么办呢?
那么我们就需要循环里面有循环。
拿 for 循环 举例:
for( 初始化语句 ; boolean 表达式 ; 循环后操作的语句 ) {
for( 初始化语句 ; boolean 表达式 ; 循环后操作的语句 ) {
循环体语句;
}
}
注意:
(1)使用嵌套循环时,内层循环和外层循环的循环控制变量不能相同。
(2)嵌套循环的书写,最好采用“右缩进”格式,方便查看
(3)嵌套循环层数不能太多,最多不要多于 3 层 。
输出10 次1~20:
package Test;
/**
*
* @author FYDragon
*
*/
public class TestDemo {
public static void main(String[] args) {
for (int i = 0; i <10; i++) {
for (int j = 1; j <= 20; j++) {
System.out.print(j+" ");
}
System.out.println(); //相当于回车的作用
}
}
}
注意:
外层循环执行一次,内层循环执行一圈。
我们再做一个案例:输出一个直角三角形
*
**
***
****
*****
我们首先分析一下:
package Test;
/**
*
* @author FYDragon
*
*/
public class TestDemo {
public static void main(String[] args) {
for (int line = 1; line <= 5; line++) {
for (int i = 1; i <= line; i++) {
System.out.print("*");
}
System.out.println();//空行
}
}
}
结果:
总结一下,循环结构在今后编写程序中运用的比较广泛,每个需要实现的功能所使用的方法也不是唯一的,大家要学会合理运用适当的循环语句,这样能让我们事半功倍。