自学java的问题?很简单的!怎么理解?

怎么理解:
public class TestB {
public static void main(String[] args){
int i = 0;
while (i < 5){
for(int j = i; j > 1; j--)
System.out.print(j + " ");
System.out.println("****");
i++;
}
}
}
输出
****
****
2 ****
3 2 ****
4 3 2 ****

当i<5的时候 i=0 i<5
执行for循环
执行for循环时 满足条件 打印当前J的值 j= i i=0 0>1(false) 不执行for循环内部的打印
然后打印4个*号
i++;(i的值增加1)

当i<5的时候 i=1 i<5
执行for循环
执行for循环时 满足条件 打印当前J的值 j= i i=1 1>1(false) 不执行for循环内部的打印
然后打印4个*号
i++;(i的值增加1)

当i<5的时候 i=2 i<5
执行for循环
执行for循环时 满足条件 打印当前J的值 j= i i=2 2>1(true) 执行for循环内部的打印 j++(j的值增加1)
然后打印4个*号 j=i
i++;(i的值增加1)追问

j和i的值增加怎样体现出来

追答

++ 是当前的值自加1

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-08-04
你这样问我们可不知道该答什么啊,i的值从0一直增至五,内层循环j的值则是从当前i的值减至一,循环里面还有两个输出,在j大于一时才输出i,四个心号在外层循环输出
第2个回答  2014-08-04
外层 循环 控制 输出 5行 ,内层 控制 每行 输出 多少个 数字,** 之类的
第3个回答  推荐于2016-12-04
就是一个循环啊,当i=0时,for()里面j>1所以不输出值, 输出后面****(println换行,print不换行)
当i=1时,同理
当i=2时,for()里面只输出一个数字2,后面输出****
当i=3时,for(int j=i;j>1;j--)从j=i=3开始,j--从高到底,里面输出3 2,后面输****
当i=4时,同理,输出4 3 2,后面输****
for(int j = i; j > 1; j--)后面一半加{},不加的话只作用于第一句!后面的 System.out.println("****");一直输出,就这样了本回答被提问者采纳
第4个回答  2014-08-04
public class TestB {
public static void main(String[] args){
int i = 0; // i初始值为0
while (i < 5){ //当i小于5时 执行下面for循环
for(int j = i; j > 1; j--) //执行for循环 把i的值0赋给j, 如果j大于1,j减一
System.out.print(j + " "); //打印 j
System.out.println("****"); //换行打印***
i++; // i的值加一
}
}
}
输出
****
****
2 ****
3 2 ****
4 3 2 ****追问

2 ****
3 2 ****
4 3 2 ****
上面的2,3,4是j的还是i的?

追答

j的 看这“System.out.print( j + " "); ”

相似回答
大家正在搜