For/Operador Ternário

for(Empregado emp : empregados){
System.out.println("Nome: " + emp.getNome());
System.out.println("Salário: " + emp.salario());
if(emp instanceof Bonus){
System.out.println("Bonus: " + ((Bonus)emp).bonus());
}

Gostaria de saber qual a função do " : " no for em questão.
Qual seria a outra forma de orientação do mesmo ?

De uma olha que nesse link abaixo explica
https://pt.stackoverflow.com/questions/11078/quais-s%C3%A3o-as-sintaxes-do-la%C3%A7o-for-em-java

Não é um operador ternário.

Este for é chamado de enhanced for pela especificação.

Os 2 pontos não tem nenhuma função especial além de separar as duas partes deste for.

for ( parte1 : parte2 ) { /*... */ } 

Na parte1 ele espera encontrar a declaração de uma variável.

Na parte2 ele espera encontrar uma expressão. Esta expressão deve ser ou um array ou uma classe que implementa a interface Iterable.

1 curtida