laogao01200
2017-06-02 05:07
采纳率: 80%
浏览 15.7k
已采纳

在for循环里,怎么让一段代码只执行一次?有什么巧妙的方法吗?

在循环里,怎么让一段代码只执行一次?有什么巧妙的方法吗?在循环里,怎么让一段代码只执行一次?有什么巧妙的方法吗?在循环里,怎么让一段代码只执行一次?有什么巧妙的方法吗?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

18条回答 默认 最新

  • ZealotTL 2017-06-02 08:38
    已采纳

    ArrayList list = new ArrayList();
    boolean fg = true;
    for (String str : list) {
    if (str 满足某个条件 && fg) {
    fg = false;
    你的代码1
    }
    你的代码2
    }

    已采纳该答案
    打赏 评论
  • SerenoShen 2017-06-02 06:16

    我的理解是,你想要判断一些条件成立的时候执行一段代码,而且这段代码只在第一次条件成立的时候执行,之后就不再执行了。

    基于上面的理解,你可以在循环外面生面一个变量作为哨兵(标记变量),第一次满足条件的时候将哨兵值设置为已经执行。
    下次在进入循环的时候由于哨兵的值已经被设置为已执行状态,你想要跳过的代码段就可以不再获得执行机会了。

    5 打赏 评论
  • LiangLiye_87 2017-06-02 05:38

    你是要遍历判断数组吗?

    1 打赏 评论
  • qq_34379959 2017-06-02 05:09

    那还写循环干嘛,直接判断不就行了

    打赏 评论
  • Mr康 2017-06-02 05:36

    是啊,想不通你要做什么,执行一次为什么要放在循环里呢?
    下面这段代码只执行两次
    for (int i = 0; i < 5; i++) {
    Log.e("Mr.Kang", "onCreate: " + i);
    if (i >= 1) {

                return;
            }
        }
    
    打赏 评论
  • abc3065369 2017-06-02 05:47

    flag=0;
    for(i=0;i<10;i++)
    {
    if(!flag)
    func();

    flag=1;
    

    }

    打赏 评论
  • x670127565 2017-06-02 05:47

    把循环次数设置成1不行吗?

    打赏 评论
  • guwei4037 2017-06-02 05:53

    for(int i = 0;i<10;i++)
    {
    方法();
    break;//使用break跳出循环,这样程序只执行一次
    }

    打赏 评论
  • 朱太白 2017-06-02 06:08

    for(int i=0;i<10;i++){
    if(i=1){ //自己添加一个if条件语句就可以了。
    break;
    }
    }
    //但是如果仅需要执行一次,也不需要for循环那,直接赋值不就好了。

    打赏 评论
  • 夕阳雨晴 2017-06-02 06:17

    执行一次后直接break就行。

    打赏 评论
  • 风平-浪静 2017-06-02 06:20

    第一次执行完后直接break跳出循环不就行了吗?

    打赏 评论
  • wodewojueding 2017-06-02 08:17

    你的需求不是很明确,要是让一段代码只执行一次而不影响for循环中其它代码的正常执行,就加个变量和条件判断,符合条件就执行,执行后修改变量,标识为已执行,再循环时不再执行

    打赏 评论
  • 神经大条蕾弟 2017-06-02 08:43

    给那段代码加个if语句?判断一下?

    打赏 评论
  • 神经大条蕾弟 2017-06-02 08:44

    给那段代码加个if语句?判断一下?

    打赏 评论
  • m0_37918199 2017-06-02 09:41

    执行一次后直接break不知道是不是你想要的。

    打赏 评论
  • forzjing 2017-10-12 04:18

    能不能换个判断方式,高大尚一点。

    打赏 评论
  • baozouxiong1997 2020-12-03 21:21

    for(){

    while(i==10){printf("\n");break;}

    }

    打赏 评论
  • 一二s 2021-07-08 17:29

    可以for循环内加if(i==0){

    }

    打赏 评论

相关推荐 更多相似问题