For循环
一、for循环语法格式
for (初始表达式; 条件表达式; 迭代表达式)
{
循环语句;
}
初始表达式是在for循环首次执行时要计算的表达式。通常,这里会为一个循环变量初始化一个值。
条件表达式(循环条件)用于每次循环前的条件判断,只有在条件表达式值为true时,才入到循环语句执行。
迭代表达式则在循环语句执行完成后进行计算,一般来说使用一个递增或递减的计数器作为迭代表达式,改变循环变量的值
package com.dh.ch3;
import java.util.Scanner;
public class ch5 {
//1、键盘输入一个正整数n,计算1+2+…+n,并输出
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n=sc.nextInt();
int sum=0;
for(int i=1;i<=n;i++){
sum=sum+i;
}
System.out.println("1+2+...+n="+sum);
}
}
二for循环执行过程
- for语句执行时,首先执行初始表达式(只是第一次执行),然后判断条件表达式的值,如为true则转向2,如为false则转向4。
- 执行循环语句;循环语句执行完成,转向3
- 计算迭代表达式,计算完,转向1。
- 结束for循环。
三、for循环的优点
在一个地方包括循环的全部规则,不是把几个语句放在代码的不同地方。使代码更易于阅读。适用于循环的开始和结束已知,循环次数固定的场合。
while循环多适用于循环次数不确定,仅需知道循环终止条件的场合
四、二重循环
内层循环结束后,才执行外层循环的语句
@Test
public void f1(){
for(int m = 1; m <= 5; m++){
System.out.println(m + "------");
for(int n = 1; n <= 5; n++){
System.out.println(m + " " + n);
}
System.out.println(m + "------");
}
}
//*
//**
//***
//****
//*****
@Test
public void f2(){
for(int p = 1; p < 5; p++){
for(int q = 1; q <= p; q++){
System.out.print("*");
}
System.out.println();
}
}
五、死循环
不会停止的循环
实现方式
for(;;) { //循环体语句}
//使用while循环实现死循环
while(true) { //循环体语句}
//使用do…while循环实现死循环
do { //循环体语句}
while (true);
(1)continue 语句
continue语句立即终止当前循环,继续执行下一次循环
continue语句用在for循环中也是终止当前循环,继续执行下一次循环
(2)continue与break的区别
break只能用于switch语句和循环语句中。
continue 只能用于循环语句中。
在同一代码块中,break和continue之后不能有其他的语句,因为程序永远不会执行到break和continue之后的语句。