在循环里,怎么让一段代码只执行一次?有什么巧妙的方法吗?在循环里,怎么让一段代码只执行一次?有什么巧妙的方法吗?在循环里,怎么让一段代码只执行一次?有什么巧妙的方法吗?
ArrayList list = new ArrayList();
boolean fg = true;
for (String str : list) {
if (str 满足某个条件 && fg) {
fg = false;
你的代码1
}
你的代码2
}
我的理解是,你想要判断一些条件成立的时候执行一段代码,而且这段代码只在第一次条件成立的时候执行,之后就不再执行了。
基于上面的理解,你可以在循环外面生面一个变量作为哨兵(标记变量),第一次满足条件的时候将哨兵值设置为已经执行。
下次在进入循环的时候由于哨兵的值已经被设置为已执行状态,你想要跳过的代码段就可以不再获得执行机会了。
你是要遍历判断数组吗?
是啊,想不通你要做什么,执行一次为什么要放在循环里呢?
下面这段代码只执行两次
for (int i = 0; i < 5; i++) {
Log.e("Mr.Kang", "onCreate: " + i);
if (i >= 1) {
return;
}
}
flag=0;
for(i=0;i<10;i++)
{
if(!flag)
func();
flag=1;
}
把循环次数设置成1不行吗?
for(int i = 0;i<10;i++)
{
方法();
break;//使用break跳出循环,这样程序只执行一次
}
for(int i=0;i<10;i++){
if(i=1){ //自己添加一个if条件语句就可以了。
break;
}
}
//但是如果仅需要执行一次,也不需要for循环那,直接赋值不就好了。
执行一次后直接break就行。
第一次执行完后直接break跳出循环不就行了吗?
你的需求不是很明确,要是让一段代码只执行一次而不影响for循环中其它代码的正常执行,就加个变量和条件判断,符合条件就执行,执行后修改变量,标识为已执行,再循环时不再执行
给那段代码加个if语句?判断一下?
给那段代码加个if语句?判断一下?
执行一次后直接break不知道是不是你想要的。
能不能换个判断方式,高大尚一点。
for(){
while(i==10){printf("\n");break;}
}
可以for循环内加if(i==0){
}
var num=0;
for(){
…………
if(num==0){
………… // 执行一次的代码
num++;
}
}
那还写循环干嘛,直接判断不就行了