2 i mnovice I_mNovice 于 2016.05.05 22:54 提问

新手入门 求大神指导下这个FOR循环

static boolean foo(int c){
System.out.print(c);
return true;
}
public static void main(String[] args){
int i=0;
for(foo(1);foo(2)&&(i<2);foo(3)){
i++;
foo(4);
}
}

8个回答

caozhy
caozhy   Ds   Rxr 2016.05.05 23:35
已采纳
 任何for循环:
for(语句1;语句2;语句3)
{
...
}
都可以机械地改写为
语句1
while(语句2)
{
...
语句3
}
比如
for (i = 1; i <= 100; i++)
{
...
}
可以写为
i = 1;
while (i <= 100)
{
...
i++;
}
回到你的问题

for(foo(1);foo(2)&&(i<2);foo(3))
{
i++;
foo(4);
}
就是
foo(1);
while (foo(2)&&(i<2))
{
i++;
foo(4);
foo(3);
}
先执行foo(1)
然后判断foo(2)&&(i<2),这个过程执行了foo(2)
然后执行foo(4) foo(3)
然后判断foo(2)&&(i<2),这个过程执行了foo(2)
然后执行foo(4) foo(3)
然后判断foo(2)&&(i<2),这个过程执行了foo(2),条件不满足,结束。
qq_31987003
qq_31987003   2016.05.05 23:45

foo(1)
foo(2)
foo(4)
foo(3)
foo(2)
foo(4)
foo(3)
就是这样的

waterlilysnow
waterlilysnow   2016.05.07 14:23

for范式:
for(表达式1;表达式2;表达式3){
循环体;
}
执行顺序:1、先执行表达式1;
2、表达式2的值是否为真,如果为真,则执行循环体,循环体执行完,执行表达式3;执行完表达式3,继续判断表达式2的值;
3、表达式2的值为假,则结束for循环
要理解for循环,最好是自己画一下流程图,就很清楚了

Even_sneck
Even_sneck   2016.05.08 23:21

1、foo()是方法,
2、for是循环,
for(初始化条件,循环条件,变化量)
3、这两者本没有什么联系,看你需要是什么
for(int i=0i<4;i++){
if(i=1){
foo(1);
}else if(i=3){
foo(3);
}
}
4、使用switch会更好

a11111111q
a11111111q   2016.05.13 22:15

这个就是经典的递归一下。

huanghuangYY
huanghuangYY   2016.05.26 16:33

1 2 4 3 2 4 3 2

CSDNXIAON
CSDNXIAON   2016.05.05 23:02

c++新手入门级代码 for,if,continue的用法示例
【新手入门】mathematica--IF语句
python for hadoop 新手入门
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

balary
balary   2016.05.05 23:13

foo(1)
foo(2)
foo(4)
foo(3)
foo(2)
foo(4)
foo(3)
..........

懂吗

I_mNovice
I_mNovice 转不过来,一般的for循环中for(int i=0;i<10;i++)这个理解,先是用i计数,然后是i的约束条件,在是i的增加方式,这里的就晕了,for(foo(1);foo(2)&&(i<2);foo(3))完全不懂它的机制
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
超级Web漏洞扫描器
这个工具到现在还没玩转 哎 求大神
易语言钓鱼源码
求大神买走 求大神买走 易语言钓鱼源码
不用循环计算1到100相加
public static void main(String[] args) throws Exception { System.out.println("计算结果:"+ sum(100)) ; //调用操作 } public static int sum(int num){ //定义方法用于求和操作 if(num == 1){ //判断是否是加到了最后一个数 return 1 ; }
求大神解决这个问题
学长做的一个比较古老的项目,部署后,隔一段时间数据库就会连接不上,求如何解决:[org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.CommunicationsException: Communicat...
for循环练习*阶乘然后求和
n以内的整数先阶乘,然后求和: # -*- coding:utf-8 -*- # 作者:zxz # 日期:2015/11/13 # n以内的整数阶乘,然后求和。 factorial = 1 sum1 = 0 n = int(raw_input("输入一个整数,计算阶乘然后求和:")) str1 = "" for i in range(1,n+1): for j in range(1,i
java for循环优化
1.嵌套循环中,应把数据级小的放在外面,数量级大的放在里面。 for (int i = 0; i 10 ; i++) {       for (int j = 0; j 10000000; j++) {                  }   }   外大内小耗时:200192114   外小内大耗时:97995997   2.提取与循环无关的表达式
求大神,求大神 求大神
课程设计任务书 题目 自动发牌程序设计 主要 内容 开发一个自动发扑克牌的软件,使之能完成以下基本功能: 1)52张扑克牌(无大小王)随机分发给4个玩家,每个玩家13张牌。 2)数据包括:4种花色(黑、红、梅、方),每种花色13张牌(2、3、4、5、6、7、8、9、T、J、Q、K、A)。 3)按花色和大小依次输出每个玩家被发给的牌。 4) 要求使用:随机函数、循环、数组、函数、数组名作为函数的参数、模块化程序设计等知识。
for循环之求质数
质数,只可以被1和自身整除的数,不能有第三个数可以整除它,所有的数都是可以被1和本身整除的 普通的试除法 public class Prime2{ public static void main(String [] args){ for(int i=2;i<=200;i++) { boolean flag =true; for(int j=2;j<=i/2;j++)
office解码
我不会用 我下载的时候只有这个 又不能解码 所以 求大神帮忙
for循环求最大值与最小值
import math begins=4 dsg = 3.1, 31, 45, 1031 cuts=[math.fabs(cs-begins) for cs in dsg] min(cuts) max(cuts)