循环结构分两大类,一类是当型,一类是直到型。
当型:
当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。
直到型:
先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。
一、while循环
语法结构:
while (布尔表达式) {
循环体;
}
在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。
while循环结构流程图如图所示。
【示例】求1到100之间的累加和
int i=100;
int sum=0;
while(i>0){
sum+=i;
i--;
}
System.out.println(sum);
【运行结果】
【示例】用while循环分别计算100以内的奇数及偶数的和,并输出。
int i=1;
int sum1=0;
int sum2=0;
while(i<=100){
if(i%2==0){
sum1+=i;
i++;
}else{
sum2+=i;
i++;
}
}
System.out.println("100以内的奇数和为:"+sum2);
System.out.println("100以内的偶数和为:"+sum1);
【运行结果】
【示例】用while循环或其他循环输出1-1000之间能被5整除的数,且每行输出5个
int i=0;
int count=0;
while(i<=1000){
if(i%5==0){
System.out.print(i+"\t");
count++;
}
if(count==5){
System.out.println();
count=0;
}
i++;
}
【运行结果】
二、do while循环
语法结构
do {
循环体;
} while(布尔表达式) ;
do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。do-while循环结构流程图如图所示。
【示例】do-while循环结构:1-100之间的累加和
public static void main(String[] args) {
int i = 100;
int sum = 0;
do {
sum += i;
i--;
} while (i > 0);
System.out.println(sum);
}
【运行结果】
三、for循环
语法结构
for (初始表达式; 布尔表达式; 迭代因子) {
循环体;
}
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。
A. 初始化部分设置循环变量的初值
B. 条件判断部分为任意布尔表达式
C. 迭代因子控制循环变量的增减
for循环在执行条件判定后,先执行的循环体部分,再执行步进。
for循环结构的流程图如图所示。
【示例】
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=100;i++){
sum+=i;
}
System.out.println(sum);
for(int i=1;i<=9;i++){
System.out.print(i+"\t");
}
System.out.println();
System.out.println("************************");
for(int i=1;i<=99;i+=3){
System.out.print(i+"\t");
}
【运行结果】
【示例】使用嵌套循环实现九九乘法表
public static void main(String[] args) {
int k;
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
【运行结果】
版权声明:本文为weixin_43916863原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。