最近看了一下之间下载的java基础视频,里面讲到break,就是你在进行一个for循环的时候,用break结束当前循环。如下:
for (int i = 0; i < 50; i++) {
Log.i(TAG, "i = " + i);
if (i == 25) {
break;
}
}
看起来很简单,但其实你在开发的时候不一定想起来这个用法,比如我想了一个场景:
你想从一个集合找一个元素,当你找到之后你就应该立马break掉for循环,可以节约资源提高代码性能。当然也有人会找到之后直接return,如下:
private String TAG = "MainActivity";
private List<String> names = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for (int i = 0; i < 60; i++) {
names.add("cy" + i);
}
}
public void begin(View view) {
query();
}
private boolean query() {
boolean flag = false;
for (String name : names) {
if (name.equals("cy30")) {
flag = true;
break;
}
Log.i(TAG, name);
}
return flag;
}
//===========================
private boolean query() {
for (String name : names) {
if (name.equals("cy30")) {
return true;
}
Log.i(TAG, name);
}
return false;
}
上面的两个query都是会结束for循环的,用哪个都可以,我介绍这个是想提醒看的人和自己,要善于使用break,别让这个语句别忽略了。这个简单的例子你可以用return达到同样的效果,但是如果这个query方法里面有多个并列的for,那么你就用break就更方便了。
for (int i = 0; i < 50; i++) {
Log.i(TAG, "i = " + i);
for (int j = 0; j < 50; j++) {
Log.i(TAG, "j = " + j);
if (j == 20) {
break;
}
}
if (i == 25) {
break;
}
}
break只会太初您当前循环,里面的if语句是判断而不是循环,上面的代码里面有两个birek,里面的break结束的是里面的循环,外面的break结束的是外面的循环。