Declaração de variável

Olá pessoal, minha dúvida eh a seguinte:
Existe algum problema em declarar uma variável(ou objeto) dentro de um loop??
Eh pq sempre q eu ia usar uma variável(objeto) dentro de um loop, eu declarava antes, mas hj eu estava lendo um livro em q o autor declarava uma string dentro de um while e eu fiquei intrigado… Mesmo q a JVM tenha o coletor de lixo, eu fiquei com a impressão de q para cada volta do loop ele aloca mais memória para o mesmo objeto…

Obrigado pela atenção…

Oi,

sim, eh possivel declarar a variavel dentro de um loop, assim como em qualquer bloco de codigo, porem a variavel soh vai estar disponivel dentro do blocl. ex:

while (x < i){
 int j = x; // aki vc pode usar o j
 ...
 System.out.println(j); // aki vc ainda pode usar o j
}
System.out.println(j); /* ERRO! a variavel j so é disponivel dentro do bloco em que foi declarada */

espero ter ajudado :wink:

Oi

Bauto, com certeza que vai memória embora sim… E vai muita, dependendo do Loop pode dar uma execeção de memória cara… Ainda mais se tu usar o operador new no loop, aí sim que vai memória mesmo…

Não é muito bom usar new dentro de loops não…

T+

Valew pessoal…
Me ajudaram muito…
Abraços e ate a proxima…

[quote=“jeveaux”]Oi

Bauto, com certeza que vai memória embora sim… E vai muita, dependendo do Loop pode dar uma execeção de memória cara… Ainda mais se tu usar o operador new no loop, aí sim que vai memória mesmo…

Não é muito bom usar new dentro de loops não…

T+[/quote]

soh vai gastar MUITA memoria se for criado um (ou mais) objeto, pq dai ele continua sendo executado (o q gasta memoria, e possivelmente processamento), mas se for um tipo primitivo dai n tem prob pq eh descartado assim q a iteracao do laco termina…