Assunto OFF Topic (Looping infinito)

13 respostas
robinsonbsilva

Boas,

Eu gostaria de esclarecer a diferença entre:

while(TRUE){/*Não Funcionou*/
  .....
}

e:

while(true){ /*Funcionou*/
  .....
}

Eu me deparei com essa situação ontem, em uma prova de programação paralela, na qual eu tinha que fazer um programa simples em Java que imprimisse a hora atual a cada 5 segundos.
Eu entrei em desespero, pois a Thread não iniciava, após minutos tenebrosos, percebi que era esse o causador do problema.

13 Respostas

pcalcado

Olá,

TRUE é cosia de C :slight_smile:

Geralmente é uma macro definida para 1 (qualquer valor !=0 é true em C)

Em java existem tipos booleanos, e a forma certa é true, em minúsculas.

L

Cara,
isso compilou assim?

Existem 2 formas de se definir looping infinitos:

while(true){
....
//seu código;
....
}

e (o que eu particulamente acho mais elegante):

for(;;){
....
//seu código;
....
}

Agora…rs se você quiser utilizar o TRUE,
crie uma variavel boolean TRUE = true

Espero ter ajudado!!!

Rafael_Nunes

leonardodaniel:
Cara,
Agora…rs se você quiser utilizar o TRUE,
crie uma variavel boolean TRUE = true

Nem precisa ter o trabalho, é só utilizar o Boolean.TRUE… :mrgreen:

robinsonbsilva

Então…o incrível é que rodou c/ o

while(TRUE){
  ....
  }

Dá até vergonha de contar uma dessas, mas aconteceu mesmo!!

Z

Devia ter alguma variável ou constante definida com o nome TRUE. Em outra caso, isso não funciona.

Rafael_Nunes

robinsonbsilva:
Então…o incrível é que rodou c/ o

while(TRUE){
  ....
  }

Dá até vergonha de contar uma dessas, mas aconteceu mesmo!!

Ué, mas você não disse no primeiro post que com TRUE não funcionou?
Aqui nem compila com ‘TRUE’.

T

Só para não dizer que não dá para usar while(TRUE), isso funciona direitinho em JDK 5.0:

import static java.lang.Boolean.TRUE;

class TesteTrue {
    public static void main(String... args) {
        while (TRUE) {
            System.out.printf ("Helloo!%n");
        }
    }
}
Rafael_Nunes

Caramba. No Java 5.0 você pode importar membros estáticos das classes, como se fosse uma herança de atributos?
Sabe me dizer o nome desta feature?

cv1

Rafael Nunes:
Caramba. No Java 5.0 você pode importar membros estáticos das classes, como se fosse uma herança de atributos?
Sabe me dizer o nome desta feature?

Sim, pode, mas nao eh “como se fosse uma heranca de atributos”. Eh soh um import estatico :wink:

Alias, o nome eh static import :smiley:

Z

Há alguma vantagem nisso, além de não precisar escrever o nome da classe de onde está vindo o atributo estático?

Mauricio_Linhares

Não, é exatamente pra isso que ele serve, não ter que escrever o nome completo :mrgreen:

Z

Humm… ok. Em alguns casos específicos pode até ser útil, mas no caso geral vai ajudar pra deixar o código um pouco mais imcompreensível. :?

cv1

Nah, static imports nao sao tao horriveis assim, ainda mais quando vc tem uma IDE bonitinha te dando todo o outline da classe e cheia de pop-ups dizendo onde estao as coisas. :wink:

Criado 21 de junho de 2005
Ultima resposta 22 de jun. de 2005
Respostas 13
Participantes 8