hhjc.net
当前位置:首页 >> For循环嵌套输出星号讲解 >>

For循环嵌套输出星号讲解

从for循环开始:i=1,对于b=i<4?i:8-i这个语句,由于?:这是个条件运算符,它的优先级高于赋值运算符=.所以,先进性后面的运算.由于i=1,所以i<4为真,于是b=i=1.然后执行第二个for循环.j从1到b,由于b=1,所以只循环一次,输

for (int i=0; i<3; ++i) { for (int j=0; j<5; ++j) { printf("%c", '*'); } printf("\n"); }

这个只是循环执行printf方法,打印* ,嵌套的for循环你不理解,单个的你理解吗?你把这个拆开来看就很简单了吧?另外,你可以使用调试模式,看代码是如何一步步运行的,如果你这样还不理解,建议你先多试试调试单个for循环的语句.

因为每次进入for,做的第一件事是k=1,k起始值都是1,与上次进入for没有关系

循环套循环时,可以简单的理解为:外循环为内循环的循环次数.及,当外循环执行循环指针移动一步,内循环循环一个循环.例如:for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.println(i+"/t"+j); } } 当外循环执行时,i=0,满足i<3,循环内循环一次(输出三次),退出内循环;执行i++.以此类推当执行第四遍是,i=3,不满足i<3.因此外循环退出.

先看第一段程序,变量i代表行,j代表每行*的个数.i=1,这是第一行j=1 ,输出一个*,j++,j变为2,循环条件被打破(因为j>i),内循环结束,执行 System.out.println() ,换行.外循环变量i自增1,i=2,这是第二行内循环变量j又从1开始循环,j=1,输出一个*,j++,j=2,输出一个*(这是第二行的第二个*),j++,此时j=3 , >i,内循环结束,换行外循环,i=3,过程与上面类似,内循环执行3次,输出3个*……关键是内循环执行的次数跟外循环变量i有关,i越大,内循环的次数越多:因为循环条件是j 评论0 0 0

看了半天才明白啥意思给你点思路吧 就是“X”的 下半部分 在加以1个“-”我的思路是"-"的输出方法:在i=7的时候在for循环一次,当满足"i+j>=10" && "i+j 追问: 就是用“*”型表示出大写字母A 形式和我写的X例子一样 追答: 已经修改了 您看下吧要是还有疑问 我在帮您试写代码 评论0 0 0

你的运行出的结果少了一个东西,首行应该为空的,第2行开始才有第一个*,运行是这样的,当i=0时满足外循环,但不满足内循环,所以只运行printf("\n")换行,当i=1是内循环变为for(j=0;j<1;++j)运行一个循环,打印一个*,依次类推,当最后i=8,内循环为for(j=0;j<8;++j)运行8次跳出,打印8个*,跳出外循环后i=9 不满足外循环 ,跳出循环运行return 0语句.

流程是顺序的:i=1;【i=1】i<=hight成立,开始循环 j=1;【j=1】j<=hight-i成立,开始循环:输出空格 j++;【j=2】j<=hight-i成立,继续循环:输出空格j++;【j=hight-i+1】j<=hight-i不成立,结束循环 k=1;【k=1】k<=2*i-1成立,开始循环:输出星号

按照bai你的要求du,编写的用星号zhi输出一个梯dao形的Java程序如下回public class B { public static void main(String[] args) { int N=5; for(int i=1;i<=N;i++){ for(int j=1;j<=N-i;j++){ System.out.print(" "); } for(int j=1;j<=2*i+1;j++){ System.out.print("*"); } System.out.println(); } }}运行结答果

网站首页 | 网站地图
All rights reserved Powered by www.hhjc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com