Questões pegadinha - Fundamental Parte 2

15 respostas
Omeganosferatu

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

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;
         }
O que será impresso acima ?? ( Sem usar IDE )
for ( int i = 0; i < Integer.MAX_VALUE + 1 ; i++ ) {

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

         }
Quantas vezes entra no laço acima ?

Flw galera por hoje é isso

15 Respostas

ph_ms

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

LPJava

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… :?

neohacker

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

Omeganosferatu

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

neohacker

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

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

neohacker

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 :?:

neohacker

Uma muito fácil (sem compilar galera)

Qual é a saida no console :?:

ekoiti

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

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

Isso compila ?

B

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?

ekoiti

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.

B

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.

Sami_Koivu

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.

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:

Omeganosferatu

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

T

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
Omeganosferatu

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

Criado 10 de maio de 2007
Ultima resposta 14 de mai. de 2007
Respostas 15
Participantes 8