Questões pegadinha - Fundamental Parte 2

Galera algumas coisas interessantes que alguns amigos da empresa estavam conversando sobre

[code]byte b = 1;

     for ( int i = 0; i < 8; i++ ) {

        System.out.println( "bit " + b );         

        // invert o bit ( o que é 0 vira 1 )
        System.out.println( "bit invertido " + ~b );
        
        // anda um bit
        b <<= 1;
     }[/code]

O que será impresso acima ?? ( Sem usar IDE )

[code]

     for ( int i = 0; i < Integer.MAX_VALUE + 1 ; i++ ) {

        System.out.println( "Laço numero : " + i);         

     }[/code]

Quantas vezes entra no laço acima ?

Flw galera por hoje é isso

Respondendo a segunda questão:

Não entra nenhuma vez…

Justificativa:

Em Java, um Integer é representado com 32 bits, logo, quando fazemos Integer.MAX_VALUE + 1, estamos pegando o maior valor representado nessa cadeia, mais 1, isso dá um estouro de bits e passa pra representação negativa…

Valeu’s

um Integer de 32 bits? nao sabia… pois como int eh diferente de Integer achei que 32 bits era válido apenas para int… ja q Integer é um objeto… :?

[EDIT] Correção estava errado auhauha[edit]

Serio ? Legal, eu nem fui :frowning: … foi um amigo que passou pra mim, provavelmente ele deve ter visto lá ou sei lá …

[quote=Omeganosferatu]Serio ? Legal, eu nem fui :frowning: … foi um amigo que passou pra mim, provavelmente ele deve ter visto lá ou sei lá …
[/quote]
Perdão é parecido mas não é naum…eu vi o código achei q fosse e ja tinha dado aquela resposta, mas nem era :frowning:

Malz…vo tentar colocar o q eu vi la…to fazendo

int max = Integer.MAX_VALUE; int min = Integer.MAX_VALUE - 100; for (int i = min; i &lt= max; i++) { System.out.println(&quot;Laço numero : &quot; + i); }

Galera qual o valor final de i :?:

Uma muito fácil (sem compilar galera)

Qual é a saida no console :?:

Operações de bit não caem no exame 1.5 correto ?

Dêem uma olhada nessa… essa é meio que paiaçada…

Isso compila ?

Loop infinito, o valor de i nunca será impresso. O problema está em usar o operador &lt= com o maior número de int. Todo int é menor ou igual ao valor máximo.

  1. A conta não é 12345 + 54321, mas 12345 + 5432. O "1" na verdade é um L minúsculo, tornando esse valor um long. Sempre use o L maiúsculo, para evitar confusões desse tipo.

Sim. Me tire uma dúvida, a variável será denominada "H", não?

Na verdade é a representação unicode do literal ‘r’. Experimente:

Pouca utilidade né ?! Fazer isso em código de produção é pedir demissão… Mais por curiosidade mesmo.

Isso não vai imprimir 114? A minha curiosidade era se os valores eram hexadecimais ou decimais, pelo visto é o primeiro caso. Pouca utilidade? Eu me arriscaria a afirmar que isto até atrapalha. Sequer me recordo de ter visto isso ao estudar para o SCJP.

Outra coisa bem inútil:

Isso acima compila… Pode inserir em qualquer linha de seu código que funciona. O mais incrível foi que eu já encontrei essa… anomalia por aí e até hoje não entendi o motivo do programador ter posto isto no meio do código (com outro link), pois não tem função alguma. Joschua Bloch menciona algo semelhante no seu último livro.

[quote=Brunno Silva]
Outra coisa bem inútil:

Isso acima compila… Pode inserir em qualquer linha de seu código que funciona. O mais incrível foi que eu já encontrei essa… anomalia por aí e até hoje não entendi o motivo do programador ter posto isto no meio do código (com outro link), pois não tem função alguma.[/quote]

Bom, é um label ( http: ) seguido por um comentário (//www…) e pode até ter uma função (a parte do label, pelo menos):

  http://www.yahoo.com.br;
  while (true) {
    for  (int i=0; i &lt 10; i++) {
      if (i % 7 == 0) break http;
    }
  }

:mrgreen:

Temmmm muito detalhezinho que é foda, os que os caras já pedem é complicado demais imagine se fossem usar essas " pegadinhas " ainda piores… estaríamos fud…

Munido de uma tabela ASCII, diga o que este programa faz.

(É claro que isso não cai em provas, mas é um bom exemplo de como as especificações da linguagem permitem coisas estranhas.)

\u0069\u006D\u0070\u006F\u0072\u0074 \u006A\u0061\u0076\u0061\u002E\u0075\u0074\u0069\u006C\u002E\u002A\u003B
\u0063\u006C\u0061\u0073\u0073 \u0045\u0078\u0065\u0072\u0063\u0069\u0063\u0069\u006F \u007B
\u0009\u0070\u0075\u0062\u006C\u0069\u0063 \u0073\u0074\u0061\u0074\u0069\u0063 \u0076\u006F\u0069\u0064 \u006D\u0061\u0069\u006E\u0028\u0053\u0074\u0072\u0069\u006E\u0067\u005B\u005D \u0061\u0072\u0067\u0073\u0029 \u007B
\u0009\u0009\u0053\u0063\u0061\u006E\u006E\u0065\u0072 \u0073\u0063\u0061\u006E \u003D \u006E\u0065\u0077 \u0053\u0063\u0061\u006E\u006E\u0065\u0072 \u0028\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u0069\u006E\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u004E\u006F\u006D\u0065 \u0064\u0061 \u0070\u0072\u0069\u006D\u0065\u0069\u0072\u0061 \u0070\u0065\u0073\u0073\u006F\u0061\u003A \u0022\u0029\u003B
\u0009\u0009\u0053\u0074\u0072\u0069\u006E\u0067 \u006E\u006F\u006D\u0065\u0031 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u0050\u0065\u0073\u006F \u0065\u006D \u006B\u0067\u003A \u0022\u0029\u003B
\u0009\u0009\u0069\u006E\u0074 \u0070\u0065\u0073\u006F\u0031 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u0049\u006E\u0074\u0028\u0029\u003B \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u004E\u006F\u006D\u0065 \u0064\u0061 \u0073\u0065\u0067\u0075\u006E\u0064\u0061 \u0070\u0065\u0073\u0073\u006F\u0061\u003A \u0022\u0029\u003B
\u0009\u0009\u0053\u0074\u0072\u0069\u006E\u0067 \u006E\u006F\u006D\u0065\u0032 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u0050\u0065\u0073\u006F \u0065\u006D \u006B\u0067\u003A \u0022\u0029\u003B
\u0009\u0009\u0069\u006E\u0074 \u0070\u0065\u0073\u006F\u0032 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u0049\u006E\u0074\u0028\u0029\u003B \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u006C\u006E \u0028\u0022\u004F \u0069\u006E\u0064\u0069\u0076\u0069\u0064\u0075\u006F \u006D\u0061\u0069\u0073 \u0070\u0065\u0073\u0061\u0064\u006F \u0065\u0068\u003A \u0022\u0029\u003B
\u0009\u0009\u0069\u0066 \u0028\u0070\u0065\u0073\u006F\u0031 \u003E \u0070\u0065\u0073\u006F\u0032\u0029 \u007B
\u0009\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u0066 \u0028\u0022\u0025\u0073\u002C \u0063\u006F\u006D \u0025\u0064 \u006B\u0067\u0025\u006E\u0022\u002C \u006E\u006F\u006D\u0065\u0031\u002C \u0070\u0065\u0073\u006F\u0031\u0029\u003B
\u0009\u0009\u007D \u0065\u006C\u0073\u0065 \u0069\u0066 \u0028\u0070\u0065\u0073\u006F\u0031 \u003C \u0070\u0065\u0073\u006F\u0032\u0029 \u007B
\u0009\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u0066 \u0028\u0022\u0025\u0073\u002C \u0063\u006F\u006D \u0025\u0064 \u006B\u0067\u0025\u006E\u0022\u002C \u006E\u006F\u006D\u0065\u0032\u002C \u0070\u0065\u0073\u006F\u0032\u0029\u003B
\u0009\u0009\u007D \u0065\u006C\u0073\u0065 \u007B
\u0009\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u0066 \u0028\u0022\u0025\u0073 \u0065 \u0025\u0073 \u0074\u0065\u006D \u006F \u006D\u0065\u0073\u006D\u006F \u0070\u0065\u0073\u006F \u002D \u0025\u0064 \u006B\u0067\u0025\u006E\u0022\u002C \u006E\u006F\u006D\u0065\u0031\u002C \u006E\u006F\u006D\u0065\u0032\u002C \u0070\u0065\u0073\u006F\u0031\u0029\u003B
\u0009\u0009\u007D
\u0009\u007D
\u007D

aehuaehu escreveu tudo isso de cabeça thingol ?!? aehu Em casa eu pego a tabela asc e tento traduzir… qual tabela voce usou ?:? ASC ou ASCII ??
abraço