Operadores de comparação

O que seria correto para comparar intervalo

for (int i= 0; i > this.empregados.length && i < this.empregados.length; i++)

ou

for((int i= 0; i >< this.empregados.length; i++)

para o i ser executado só dentro do tamanho da array?

for (int i = 0; i < this.empregados.length(); i++) { ///enquanto i for menor que o tamanho do array.....
}

estou com o erro para exibir que coloco a condição até sr diferente de nulo e após a ultima posição da array da erro

Segue código

void mostraEmpregados() {
int i = 0;
while (empregados[i]!=null) {

		System.out.println("Funcionário na posição: " + i);
		System.out.println("Salário: " + empregados[i].getSalario());
		empregados[i].mostra();
		i++;
		System.out.println("");

	}
}

e erro
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 10
at exercicioFuncionariopag55a57.Empresa.mostraEmpregados(FuncionarioExerc1.java:173)
at exercicioFuncionariopag55a57.TestaEmpresa.main(TestaEmpresa.java:20)

        int i = 0;
        for(Object objTmp : empregados){
            System.out.println("Funcionário na posição: " + i);
            System.out.println("Salário: " + objTmp.getSalario());
            i++;
        }
1 curtida