Nie ma operatora „dwukropek”, ale dwukropek występuje w dwóch miejscach:
1: W operatorze trójskładnikowym, np .:
int x = bigInt ? 10000 : 50;
W tym przypadku operator trójskładnikowy działa jak „if” dla wyrażeń. Jeśli bigInt jest true, to x otrzyma przypisane do niego 10000. Jeśli nie, 50. Dwukropek oznacza tutaj „inny”.
2: W pętli for-each:
double[] vals = new double[100];
for (double x : vals) {
}
To ustawia x dla każdej z wartości w „vals” po kolei. Więc jeśli vals zawiera [10, 20,3, 30, ...], to x będzie równe 10 w pierwszej iteracji, 20,3 w drugiej itd.
Uwaga: mówię, że to nie jest operator, ponieważ to tylko składnia. Nie może pojawić się sam w żadnym wyrażeniu i jest tylko przypadkiem, że zarówno operator for-each, jak i operator trójskładnikowy używają dwukropka.