带j ++,k ++的java循环语句

时间:2018-10-19 07:57:04

标签: java

嗨,这是我要解决的一个简单的Java问题,我对循环语句中j----j的用法感到困惑。

这就是我的想法

第一季度。
我一岁的时候
j是4且大于1,而j减去1。
因此它打印出*,并且j变成3了吗?

第二季度。
然后对于k的第二个语句,
k是3的j,并且k大于1,
所以它打印-,并且k变成2吗?

第三季度。
现在用这两个语句完成了,接下来我应该去哪里?
我应该在变量i上加一个吗?

public class Main {
public static void main(String[] args) {
    int i = 1;
    while (i <= 4) {
        for (int j = 4; j > i; j--) {
            System.out.print("*");
            for (int k = j; k > i; k--) {
                System.out.print("-");
            }
        }
        System.out.println();
        i++;
        }
    }
}

这是结果:

*---*--*-
*--*-
*-

我试图弄清楚为什么打印'-'的语句在返回j(j--)或加i(i ++)之前要连续3次

2 个答案:

答案 0 :(得分:0)

  

Q1。当我为1时,j为4且大于1,而j减去1。   它会打印*,并且剂量j变为3?

否,j仍为4,因为电流循环尚未完成。

之后
System.out.print("*");
        for (int k = j; k > i; k--) {
            System.out.print("-");
        }

完成,j--,现在j是3。

  

Q2。那么对于k的第二个语句,k是j,它是3,而k是   大于1,则打印-,并且剂量k变为2?

k是j,它是4,并且k大于1,在打印-循环主体完成之后,所以k变成3。

  

Q3。现在完成了这两个语句,下一步我应该去哪里?我是不是该   向变量i加一?

是的,您应该添加i ++。或者while(i <= 4)会一直运行。

答案 1 :(得分:0)

在控件返回到包含语句j ++和k--的行之前,k和j的值不会更改,在这种情况下,这是for循环开始的行。 因此-将继续打印直到控件退出内循环。 退出内循环后,控制将继续以完成外循环。