当前位置: 代码迷 >> 综合 >> break使用
  详细解决方案

break使用

热度:76   发布时间:2023-10-15 10:07:36.0

   最近看了一下之间下载的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<>();@Overrideprotected 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结束的是外面的循环。

  相关解决方案