class Example{
public static void main(String args[]){
int i=1,j=10;
do{
if(i++>--j)
continue;
}while(i<5);
System.out.print(“i=”+i+”j=”+j);
}
}
程序运行结果:
【答案】
i=5j=6求思路,,非常感谢,,,我推来推去还是推导不出结果,,求大伙帮忙
public static void main(String args[]){
int i=1,j=10;
do{
if(i++>--j)
continue;
}while(i<5);
System.out.print(“i=”+i+”j=”+j);
}
}
程序运行结果:
【答案】
i=5j=6求思路,,非常感谢,,,我推来推去还是推导不出结果,,求大伙帮忙
解决方案 »
- Swing中怎样使JScrollPane中滚动条始终在最下面
- 求助!如何把系统时间转化为UTC秒
- 一个daemon线程创建的线程是否是daemon?
- 如何将String a="92,95" 转换成字符串数组形式String[] b={"92","95"}
- 使用httpclient后,return不返回值,请大家帮忙看一下
- 导入包的问题
- 关于application的入口函数与构造函数
- 初学者一个函数问题,请各位帮忙看一下,
- JFrame.pack();的作用是什么?
- 我想學java .
- Exception in thread "main" java.lang.NullPointerException怎么解决啊
- Java写一个俄罗斯方块
public class dd
{
public static void main(String args[])
{
int i = 1, j = 10;
do
{
if (i++ > --j)
continue;
else //加上这句
System.out.println("i=" + i + " j=" + j);//加上这句
}
while (i < 5);
// System.out.println("i=" + i + " j=" + j);
}
}运行结果是这样的:
i=2 j=9
i=3 j=8
i=4 j=7
i=5 j=6从程序开始,首先执行一次do{}里面的语句,即i加了1,j减少1,当i比j大的时候都continue即结束本次循环,又由于while (i < 5)的作用,当i变到4的时候是最后一次循环(变到5就不能了,此时i已经是5了,同理j已经是6了),故结果是那样。i=2,i=3,i=4,加上之前的一个do,i一共加了4,同理j也一共减了4,故j是6。
八成是学习C语言的时候老师故意刁娜的
i = 1 , j = 10 - 1 = 9; 1 > 9不成立 (执行i++) i=2;i = 2 , j = 9 - 1 = 8; 2 > 8不成立 (执行i++) i=3;i = 3 , j = 8 - 1 = 7; 3 > 7不成立 (执行i++) i=4;i = 4 , j = 7 - 1 = 6; 4 > 6不成立 (执行i++) i=5;需要注意的是i++ 是在这条语句结束后执行i = i +1 ++i是先执行i=i+1再运行语句
--j是先输出后计算。当i=5,j等于6的时候,把这两个值代到表达式里面去就成了这样:
class Example{
public static void main(String args[]){
int i=1,j=10;
do{
if(5++>--6)//i=5的时候,前面的就成了6,而后面的--6的意思是:先输出,也就是输出6之后再计算
continue; //符合条件,跳出本次循环
}while(i<5);//执行判断的时候,i的值为5,5不小于5,所以退出循环.
System.out.print(“i=”+i+”j=”+j);
}
}
我也是新手,不知道分析的对不,参考下把。
还有另外一种比较麻烦的方式可以推,就是把i和j的值,一个一个带进去.