Não há operador "dois pontos", mas os dois pontos aparecem em dois lugares:
1: No operador ternário, por exemplo:
int x = bigInt ? 10000 : 50;
Nesse caso, o operador ternário atua como um 'se' para as expressões. Se bigInt for true, então x terá 10000 atribuídos a ele. Se não, 50. Os dois pontos aqui significam "outro".
2: Em um loop for-each:
double[] vals = new double[100];
for (double x : vals) {
}
Isso define x para cada um dos valores em 'vals' por sua vez. Portanto, se vals contém [10, 20,3, 30, ...], então x será 10 na primeira iteração, 20,3 na segunda, etc.
Nota: digo que não é um operador porque é apenas sintaxe. Ele não pode aparecer em qualquer expressão por si só, e é apenas uma chance de que tanto o operador for-each quanto o ternário usem dois-pontos.