正式にJavaで呼ばれる/「ブレイク検索」構文:「{...}検索」とは何ですか?

yizheshexin:

このコードは、leetcode 681の溶液からです。

class Solution {
    public String nextClosestTime(String time) {
        int cur = 60 * Integer.parseInt(time.substring(0, 2));
        cur += Integer.parseInt(time.substring(3));
        Set<Integer> allowed = new HashSet();
        for (char c: time.toCharArray()) if (c != ':') {
            allowed.add(c - '0');
        }

        while (true) {
            cur = (cur + 1) % (24 * 60);
            int[] digits = new int[]{cur / 60 / 10, cur / 60 % 10, cur % 60 / 10, cur % 60 % 10};
            search : {
                for (int d: digits) if (!allowed.contains(d)) break search;
                return String.format("%02d:%02d", cur / 60, cur % 60);
            }
        }
    }
}

通常、私はleetcodeを行うにはPythonを使用しますが、最近私は、Javaとの練習をしたいです。そして、私はこの部分を注意してください:

            search : {
                for (int d: digits) if (!allowed.contains(d)) break search;
                return String.format("%02d:%02d", cur / 60, cur % 60);
            }

私は前にこのような使用を見たことがありません。私はそれが何をしているかを理解することができます:それのように感じているが、「検索」ブロックをカスタマイズし、それから、破ることができます。そして、私はJavaでこのような使用の正式名称であるかを知りたいです。ありがとう!

ゴピナス:

この構築物は呼ばれる「標識ブレーク」ジャワインチ

詳しい情報はで見つけることができます

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=14800&siteId=1