Duvidas!

Olá para todos!!!

Eu gostaria de saber qual é o mais pesado dos loops…o for ou while???

gostaria de saber tambem sobre o static:

eu sei q o static só aceita comparar uma outra variavel se ela for static tambem…mas eu naum sei quando o bloco é static tipo:

static {


}

entendeu!!!

se alguem poder me ajudar ficarei muito grato!!!

obrigado

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

O bloco static{} é executado qdo a classe é carregada pela primeira vez. Por exemplo:

class X {
  static {
    System.out.println("Carregado 1 vez");
  }
  public static void main(String args[]) {
    new X();
    new X();
    new X();
  }
}

O resultado é :
Carregado 1 vez

O que é diferente de vc fazer:

class X {
  static {
    System.out.println("Carregado 1 vez");
  }
  {
    System.out.println("Carregado várias vez");
  }
  public static void main(String args[]) {
    new X();
    new X();
    new X();
  }
}

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

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 (int i = 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).

Posso estar errado :slight_smile: