for循环:
语法结构:
for(初始值;循环条件;迭代部分){
循环操作
}
执行规律:
1)首先执行1次初始值代码
2)判断循环条件是否成立,如果循环条件为true,则执行{}里的循环操作代码,执行循环操作后,进行迭代,迭代完再进行循环条件判断,根据循环条件的结果决定是否继续执行循环操作
如果循环条件为false,则结束整个for循环结构,继续往下执行for循环结构之后的代码
注意:
1)初始值只执行1次
2)循环条件只能是布尔值,要么为true,要么为false
3)如果第一次判断循环条件就不满足,那么循环操作一次都不会执行
2、for循环中的常见问题
问题1:for循环中缺少初始值,编译不能通过,初始值可以写在for循环外面,也可以写在for循环()内
int i =1;
for(;i<=10;i++){
System.out.println(i);
}
问题2:for循环缺少循环条件,会进入死循环
for(int i=0;;i++){
System.out.println("这是 "+i);
}
问题3:for循环缺少迭代部分,会进入死循环,可以在{}里添加迭代代码,也可以在()最后位置添加迭代代码
for (int i = 0; i < 10;) {
System.out.println("这是 " + i);
}
3、例题,图形打印
1)在控制台输出*****
方法一:
System.out.println("*****");
方法二:
System.out.print("*");
System.out.print("*");
System.out.print("*");
System.out.print("*");
System.out.print("*");
方法三:
for(int i =1;i<=5;i++){
System.out.print("*");
}
2)在控制台输出如下图形
*****
*****
*****
*****
*****
public class LoopDemo04 {
public static void main(String[] args) {
//外层循环控制行数
for(int i =1;i<=5;i++){
//输出每一行的空格
for(int k =5-i;k>0;k--){
System.out.print(" ");
}
//内层循环控制每一行的列数,内层循环输出每一行的*
for(int j =1;j<=5;j++){
System.out.print("*");
}
//换行
System.out.println();
}
3)打印空心菱形
public class Subject {
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j=1;j<=9-i;j++){
System.out.print(" ");
}
for(int w=1;w<=2*i-1;w++){
if(w==1||w==(2*i-1)){
System.out.print("*");
}else{
System.out.print(" ");
}
}System.out.println("");
}
for(int i=8;i>=1;i--){
for(int j=i;j<=8;j++){
System.out.print(" ");
}
for(int w=1;w<=(2*i-1);w++){
if(w==1||w==(2*i-1)){
System.out.print("*");
}else{
System.out.print(" ");
}
}System.out.println("");
}