032- for循环语句

问题
请在控制台里面打印10次HelloWorld。
这时可能你会这么写:

System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld"); System.out.println("helloworld"); System.out.println("helloworld"); System.out.println("helloworld"); System.out.println("helloworld"); System.out.println("helloworld"); System.out.println("helloworld"); System.out.println("helloworld"); 

好吧,如果要打印10000次呢?累不死你才怪。
这时就需要使用for循环语句来帮我们解决了。

 

语法

for(初始化表达式;条件表达式;循环后的操作表达式) {
    循环体;
}

例子:

public class json
{
    public static void main(String[]args){

        //初始化i的值为0;只要i<10则循环一次打印语句,每循环一次,i自增1.
        for(int i =0;i<10;i++){
        
            System.out.println("hello world");
        }

    }
}

 

执行过程:

1.执行初始化语句,并且在整个循环过程里面只执行一次

2.执行判断条件语句,看其返回值是true还是false

* 如果是true,就继续执行
* 如果是false,就结束循环,整个流程结束

3.执行循环体语句

4.执行循环后的操作表达式

5.程序回到步骤2继续。

 

for循环中的变量

在for循环中定义的变量只能在循环内部访问和使用,循环外是无法访问和使用的。

for(int i=0;i<10;i++){
        System.out.println("Hello");
}
//报错,在循环外无法访问和使用i
System.out.println(i);

因此下面代码是可以正常执行的:

 

死循环

倘若for循环里面的循环体只有一行代码,则大括号可以省略,但是不建议省略,最好写上。
如果for循环编写不当,可能会造成死循环,程序永远不会停止,在编写程序时一定要避免,下面就是一个死循环。

public class json
{
    public static void main(String[]args){

        for(;;){
            
            System.out.println("test");
        }

    }
}

嵌套for循环

for循环语句还可以嵌套使用

public class json
{
    public static void main(String[]args){

        for(int i=5;i>0;i--){
    //因为该for循环是在上面for循环的内部,所以是可以访问变量i的
        for(int j=0;j<i;j++){
        System.out.print(j+" ");
     }

    //换行
        System.out.println();

    }

    }
}

 

运行结果:

 

 

1.计算1-100所有的奇数求和

1.在for循环里面加上if语句来判断当前循环的数字是否为奇数

public class json
{
    public static void main(String[]args){

    int sum = 0;
    for (int i =1; i<=900;i++ )
    {
        if(i%2!=0){
        
        //奇数
        //追加
        sum+=i;

        }
    }
    
    System.out.println(sum);

    

    }
}

 2.在屏幕中打印九九乘法表

2.九九乘法表一共要输出9行,首先写一个for循环来控制行数:

for (int i = 1; i <= 9; i++) {
        System.out.println(i); } 

接下来比如我要输出九九乘法表的第一行,即1 * 1 = 1,写一个for循环:

for(int j=1; j<=1; j++){
    System.out.print(1 + "*" + j + "=" +1*j + " "); } 

九九乘法表的第二行,即2*1=2, 2 * 2=4

for(int j=1; j<=2; j++){
        System.out.print(2 + "*" + j + "=" +2*j + " "); } 

后面依次类推,可以发现需要修改的地方都是固定的,可以将上面的for循环修改为下面:

int i = 9;

for(int j=1; j<=i; j++){ System.out.print(i + "*" + j + "=" +i*j + " "); } 

只需要将i修改为要输出的行数就可以,而这个变量i其实可以从第一个for循环中获取,将两个循环进行嵌套:

//外层for循环控制换行,变量i是行号
for (int i = 1; i <= 9; i++) { //System.out.println(i); // 输出规律: // 第1行,输出1个 // 第2行,输出2个 // 第3行,输出3个 // ... // 第9行,输出9个 // 第i行,输出i个 for (int j = 1; j <= i; j++) { // 这里不要换行 System.out.print(i + "*" + j + "=" + i * j + " "); } // 注意:上面的for循环结束之后表示一行输出结束了,换行 System.out.println(); 

 

转载于:https://www.cnblogs.com/Chamberlain/p/11396202.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值