ola,
acredito que o loop for seja mais demorado, pois ele alem de ter mais variaveis armazenados na memoria, ainda realiza uma comparacao e um incremento a cada iteracao…
quanto à outra pergunta, do bloco static, nao entendi muito bem…acho que voce quer saber se pode comparar 2 vaiaveis dentro de um bloco static, neh isso?? bem, se for, acho que colocar as coisas num bloco static é o mesmo que colocar o modificador static atras de todas as variaveis…entao o resultado seria o mesmo…
flw
C
carisioPJ
O bloco static{} é executado qdo a classe é carregada pela primeira vez. Por exemplo:
classX{static{System.out.println("Carregado 1 vez");}{System.out.println("Carregado várias vez");}publicstaticvoidmain(Stringargs[]){newX();newX();newX();}}
O resultado é :
Carregado 1 vez
Carregado várias vez
Carregado várias vez
Carregado várias vez
Entendeu o uso do static? Bom, na pratica vc pode usar ele pra iniciar variáveis estáticas…
[]'s
carisio
S
SchuenemannPJ
Eu não concordo que o for seja mais pesado.
Também não concordo que ele grave mais variáveis na memória, pois nenhum das “partes” do for (inicialização, comparação, incremento) são obrigatórias.
E o while também tem que realizar a comparação (pra ver se deve parar) e o incremento (caso contrário, o loop é infinito). A não ser que o for e o while estejam sendo usados para propósitos diferentes (ver abaixo).
Se você faz um for do tipo:
for(inti=1; i <= 100; i++)
num while vai ter a mesma coisa:
int i = 1;
while (i <= 100) {
// coisas
i++;
O uso do for e do while depende de sua necessidade.
O for deve ser usado quando você sabe o número de repetições (p. ex. percorrer um array).
O while, quando não se sabe (p. ex. percorrer o resultado de um select no banco, até que chegue ao final do resultado).