首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

关于java中for循环的有关问题

2013-10-30 
关于java中for循环的问题以前没太注意过,刚才发现竟然想不通,哪位知道造成这两种现象差异的原因是什么,代

关于java中for循环的问题
以前没太注意过,刚才发现竟然想不通,哪位知道造成这两种现象差异的原因是什么,代码和运行结果如下
代码一
public class BreakContinueTest {
/**
 * @author sally
 * 以模拟计算访问网站次数和页面次数的方法来介绍两种语句
 */
public static void main(String[] args)
{
//标签名字为label1,名字符合规范即可,注意后边要加:
//用for循环和while循环来测试程序

for(int i=1;i<5;i++)
{
//当访问次数等于3次时,中断档次循环
int j=0;
if(i==3) continue;
System.out.println("你好,欢迎第"+i+"次访问本站");
while(j<5)
{
j++;
System.out.println("你好,你打开的是第"+j+"个页面");
}
}
}
}
输出为
你好,欢迎第1次访问本站
你好,你打开的是第1个页面
你好,你打开的是第2个页面
你好,你打开的是第3个页面
你好,你打开的是第4个页面
你好,你打开的是第5个页面
你好,欢迎第2次访问本站
你好,你打开的是第1个页面
你好,你打开的是第2个页面
你好,你打开的是第3个页面
你好,你打开的是第4个页面
你好,你打开的是第5个页面
你好,欢迎第4次访问本站
你好,你打开的是第1个页面
你好,你打开的是第2个页面
你好,你打开的是第3个页面
你好,你打开的是第4个页面
你好,你打开的是第5个页面

代码二:
public class BreakContinueTest {
/**
 * @author sally
 * 以模拟计算访问网站次数和页面次数的方法来介绍两种语句
 */
public static void main(String[] args)
{
//标签名字为label1,名字符合规范即可,注意后边要加:
//用for循环和while循环来测试程序

for(int i=1,j=0;i<5;i++)
{
//当访问次数等于3次时,中断档次循环
//int j=0;
if(i==3) continue;
System.out.println("你好,欢迎第"+i+"次访问本站");
while(j<5)
{
j++;
System.out.println("你好,你打开的是第"+j+"个页面");
}
}
}
}
输出为
你好,欢迎第1次访问本站
你好,你打开的是第1个页面
你好,你打开的是第2个页面
你好,你打开的是第3个页面
你好,你打开的是第4个页面
你好,你打开的是第5个页面
你好,欢迎第2次访问本站
你好,欢迎第4次访问本站
我原本认为代码二和代码一的运行结果是相同的,我认为逻辑是一样的,是哪里造成的差异呢?只有for的条件那里改动了一下,为什么差别那么大,在eclipse中运行的。 eclipse java
[解决办法]
第一个你应该懂了,不多做解释。看看第二个while那里的注释


代码二:
public class BreakContinueTest {
/**
 * @author sally
 * 以模拟计算访问网站次数和页面次数的方法来介绍两种语句
 */
public static void main(String[] args)
{
//标签名字为label1,名字符合规范即可,注意后边要加:
//用for循环和while循环来测试程序

for(int i=1,j=0;i<5;i++)
{
//当访问次数等于3次时,中断档次循环
//int j=0;
if(i==3) continue;
System.out.println("你好,欢迎第"+i+"次访问本站");
while(j<5)//这个while循环结束之后j=6了,然后外面i循环的话,到这个while的时候都不成立,所以从第二次之后这个while循环都不执行了
{
j++;
System.out.println("你好,你打开的是第"+j+"个页面");
}
}
}
}

热点排行