java for循环:当有两层嵌套for循环的时候是不是外循环执行一次,内循环要执行一遍啊?
从9*9乘法表来看是这样子理解的,当外循环i=1,内循环j=1,就输出1*1=1;当该结果输出后,内外循环都自增1,这时候继续循环应该是:外循环i=2,内循环j=2,应该...
从9*9乘法表来看是这样子理解的,当外循环i=1,内循环j=1,就输出1*1=1;当该结果输出后,内外循环都自增1,这时候继续循环应该是:外循环i=2,内循环j=2,应该输出2*2=4呀,为什么不是这种结果呢?
public class First {
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j= 1;j<=9;j++){
if(j>i){
break;
}
System.out.print(" "+i+"*"+j+"="+i*j);
}
System.out.println();
}
}
} 展开
public class First {
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j= 1;j<=9;j++){
if(j>i){
break;
}
System.out.print(" "+i+"*"+j+"="+i*j);
}
System.out.println();
}
}
} 展开
展开全部
你这个小程序不错哦;你看一下啊,
1、执行外层第一遍,i=1,内层第一遍,j=1,内层第二遍,j=2,但是j>i了,所以执行break跳出到外循环,第二遍也就相当于没有执行,跳出执行第二遍外循环
2、执行外层第二遍,i=2,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,但是j>i了,所以执行break跳出到外循环,第三遍也就相当于没有执行,跳出执行第三遍外循环
3、执行外层第三遍,i=3,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,内层第四遍,j=4,但是j>i了,所以执行break跳出到外循环,第四遍也就相当于没有执行,跳出执行第四遍外循环
4、、、、、、、、
依次执行下去,直到 i 〉9不成立了,外循环结束……
也就是说,外循环的 i 等于几,相对应的本次循环的内循环就执行几遍……
1、执行外层第一遍,i=1,内层第一遍,j=1,内层第二遍,j=2,但是j>i了,所以执行break跳出到外循环,第二遍也就相当于没有执行,跳出执行第二遍外循环
2、执行外层第二遍,i=2,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,但是j>i了,所以执行break跳出到外循环,第三遍也就相当于没有执行,跳出执行第三遍外循环
3、执行外层第三遍,i=3,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,内层第四遍,j=4,但是j>i了,所以执行break跳出到外循环,第四遍也就相当于没有执行,跳出执行第四遍外循环
4、、、、、、、、
依次执行下去,直到 i 〉9不成立了,外循环结束……
也就是说,外循环的 i 等于几,相对应的本次循环的内循环就执行几遍……
展开全部
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(" "+j+"*"+i+"="+i*j);
}
System.out.println();
}
可以这样写,利用外面的循环来控制里面的。
for(int j=1;j<=i;j++){
System.out.print(" "+j+"*"+i+"="+i*j);
}
System.out.println();
}
可以这样写,利用外面的循环来控制里面的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对的,拿你这题·来说当i=1时,j要从1到9循环一遍 ,后面每个i都是一样的
追问
这么说外循环能控制内循环??那为什么会出现这种情况呢?为什么不是i=n时,j也=n呢?虽说java是面向对象,但是main方法的流程不是也和c一样由上往下执行吗?存不存在哪层循环先执行呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(int j= 1;j<=9;j++){
if(j>i){
break;
}
这段代码改成
for(int j= 1;j<=i;j++){
是不是更简洁
if(j>i){
break;
}
这段代码改成
for(int j= 1;j<=i;j++){
是不是更简洁
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "iostream.h"
int main ()
{
int sum=0;
for(int i=1;i<=9;i++ )
{
for(int j=1;j<=9;j++)
{
sum=i*j;
cout <<i<<'*'<<j<<'='<<sum<<' ';
}
cout <<endl;
}
return 0;
}
int main ()
{
int sum=0;
for(int i=1;i<=9;i++ )
{
for(int j=1;j<=9;j++)
{
sum=i*j;
cout <<i<<'*'<<j<<'='<<sum<<' ';
}
cout <<endl;
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询