概述
for i in input("input: "):
if i == "a":
print("a found")
break
else:
print("a not found")
这个else不会在break时执行,只会在循环正常结束(循环条件不满足)时执行。
循环判断满足条件的值是否存在过的代码里,可以作为没有找到值的分支
但在别的语言里没有这样的语法
那么要怎么模拟呢
你可能会想到定义变量记录循环跳出
也可能想到利用函数的return
但是不要忘了
在Java和JS里,可以给代码块加标签
这个标签可以用来跳出这个代码块
with_else: {
for (const i of [1, 2, 4, 5]) {
if (i == 3) {
console.log("3 found");
break with_else;
}
}
console.log("3 not found")
}
Java同理
public class Test {
public static void main(String[] args) {
byte[] str = "asd_ghjkl".getBytes();
with_else: {
for (int i = 0; i < str.length; i++) {
if (str[i] == 'f') {
System.out.println("f found");
break with_else;
}
}
System.out.println("f not found");
}
}
}
这样比用变量记录状态和利用return都要简单
最后
以上就是无心电话为你收集整理的JS和Java如何模拟Python的for-else的全部内容,希望文章能够帮你解决JS和Java如何模拟Python的for-else所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复