zoukankan      html  css  js  c++  java
  • for循环与嵌套(水仙花数与三角形的打印)

    ## 一.for循环
    语法:
    for(开始区间; 结束区间; 修改循环条件){
    循环体;
    }

    > 开始区间:初始化表达式(确定开始)int i = 1; 
    > 结束区间:逻辑表达式(确定结束) int i <= 5;
    > 修改循环条件:控制循环条件的表达式,改变变量的值 i++

    执行流程:

    > 1. 初始化表达式,只执行1次
    > 2. 逻辑表达式 如果为true,则执行循环体 如果为false,则结束循环
    > 3. 当循环体执行完后,执行修改循环条件的语句
    > 4. 接下来,回到第2步,直到条件表达式的值为false,则循环结束

    例子:水仙花数(所谓水仙花数是指一个数3位数,其
    每位数字立方和等于其本身,如153 = 111 + 333 + 555)
    分析:开始区间 int i=100;
    结束区间 i<=999;
    步长 i++

    ```java
    for (int i = 100; i <= 999; i++) {
    // 判断 i == g*g*g + s*s*s +b*b*b
    int g = i % 10; // 求个位数
    int s = i / 10 % 10; // 求十位数
    int b = i / 100; // 求百位
    if (i == g * g * g + s * s * s + b * b * b) {
    System.out.println(i);
    }
    }
    ```

    ## 二.for循环嵌套

    语法:

    for(开始区间; 结束区间; 修改循环条件) {
    for(开始区间; 结束区间; 修改循环条件)
    { 循环体 }
    }

    执行流程:

    ```java
    //一共循环了2*3=6次
    for(int i=1 ; i<=2; i++){ //外层循环,执行2次
    for( int j=1; j<=3;j++){ //内层循环,执行3次
    System.out.println(i+","+j);
    }
    }
    ```


    例子:打印等腰直角三角形
    分析:

    ```java
    // i是行数; j是*的个数; k(每行第1个*前面的空格个数)
    i j k
    1 * 1 2
    2 *** 3 1
    3 ***** 5 0
    //一般这种打印图形的题目只要找出i与j和i与k的关系,就可以解出来
    // 要j和i找关系 j=2*i -1
    // 要k和i找关系 k=3-i
    
    for (int i = 1; i <= 3; i++) { //一共有三行,i<=3
    // 先打印空格
    for (int k = 1; k <= 3 - i; k++) { //空格k与i的关系3-i
    System.out.print(" ");//这里引号里是一个空格
    }
    // 再打印星星*
    for (int j = 1; j <= 2 * i - 1; j++) {//星星j与i的关系为2*i-1
    System.out.print("*");
    }
    // 最后换行,不换行的话,这三行的*会打印在同一行上
    //外循环i执行了3次,所以换了三次行
    System.out.print("
    ");
    }
    ```
  • 相关阅读:
    精选30道Java笔试题解答
    ASM
    Java Decompiler Plugin For Eclipse IDE
    AMQ5540, AMQ5541 and AMQ5542, application did not supply a user ID and password, 2035 MQRC_NOT_AUTHORIZED
    Shell脚本中的export
    Linux set unset命令
    shell中${}的妙用
    ubuntu alsa2
    ubuntu alsa
    计算机启动boot
  • 原文地址:https://www.cnblogs.com/xuqz-niking/p/13277858.html
Copyright © 2011-2022 走看看