Questão Whizlabs SCJP 1.4

acreditem, errei essa questão em um simulado:

:arrow: O que acontece …?


public class Teste2 {

    public static void main(String args[]) {
        byte b = 10;
        while (++b > 0) {
        }
        System.out.print("Acabou");
    }
}
  1. O Loop nunca acaba
  2. Imprime “Acabou”
  3. Erro de compilação: pois o operador ++ não é permitido pra byte
  4. Não imprimi nada.

e aí? :twisted:

pow kara essa é móle, vai imprimir acabou, pq quando ele chegar no 127 e acrescentar +1 ele vai jogar 1 para o bit de sinal e vai transformar o número em -128 que é menor que 0 então vai executar o bloco do while e vai sair e executar o System.out.println(“Acabou”)…

A grande mensagem dessa questão é de que um byte naum é infinito!!!

[quote=“Brok3nM4n”]pow kara essa é móle, vai imprimir acabou, pq quando ele chegar no 127 e acrescentar +1 ele vai jogar 1 para o bit de sinal e vai transformar o número em -128 que é menor que 0 então vai executar o bloco do while e vai sair e executar o System.out.println(“Acabou”)…

A grande mensagem dessa questão é de que um byte naum é infinito!!![/quote]

exatamente, tb concordo , inclusive já postaram uma questão igualzinha a essa aqui a pouco tempo atras.

:oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:

foi mal, é q fiquei revoltado, jurava q era loop infinito

:oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:

:twisted: :twisted: :twisted: pensei q ia pegar vc tb :twisted: :twisted: