1. ホーム
  2. java

[解決済み] コロン(:)演算子は何をするのですか?

2022-03-12 18:32:52

質問

Javaではコロンの使い方が複数あるようです。どなたか説明していただけませんか?

例えばここ。

String cardString = "";
for (PlayingCard c : this.list)  // <--
{
    cardString += c + "\n";
}

これをどう書くかというと for-each を取り込まないように、別の方法でループを作成します。 : ?

解決方法は?

Javaコードの中でコロンが使われている箇所がいくつかあります。

1) ジャンプアウトラベル( チュートリアル ):

label: for (int i = 0; i < x; i++) {
    for (int j = 0; j < i; j++) {
        if (something(i, j)) break label; // jumps out of the i loop
    }
} 
// i.e. jumps to here

2) 三項条件 ( チュートリアル ):

int a = (b < 4)? 7: 8; // if b < 4, set a to 7, else set a to 8

3) For-eachループ( チュートリアル ):

String[] ss = {"hi", "there"}
for (String s: ss) {
    print(s); // output "hi" , and "there" on the next iteration
}

4) アサーション ( ガイド ):

int a = factorial(b);
assert a >= 0: "factorial may not be less than 0"; // throws an AssertionError with the message if the condition evaluates to false

5) switch文の大文字と小文字 ( チュートリアル ):

switch (type) {
    case WHITESPACE:
    case RETURN:
        break;
    case NUMBER:
        print("got number: " + value);
        break;
    default:
        print("syntax error");
}

6) メソッド参照 ( チュートリアル )

class Person {
   public static int compareByAge(Person a, Person b) {
       return a.birthday.compareTo(b.birthday);
   }}
}

Arrays.sort(persons, Person::compareByAge);