Alguem sabe o que faz estes {}

5 respostas
ricardolecheta

Algué sabe explicar o que é isso?

Pode abrir e fechar { } a hora que quiser?

public class Teste { public static void main(String[] args) { { System.out.println(1); } { System.out.println(3); } { System.out.println(3); } } }

5 Respostas

cv1

“A hora que quiser”, nao, mas a linguagem permite que vc abra novos blocos (criando, entao, novas secoes de escopo), dentro de um outro bloco, quando quiser. Pense na definicao da sintaxe de um if, por exemplo:

"if" "(" <expressao-booleana> ")" <statement> OU <bloco>

Ou seja, vc pode fazer um if assim:

if(foo>1) bar();

Ou assim:

if(foo>1) { bar(); baz(); }

E, advinha soh, a definicao de um “bloco” pra Java tambem permite que vc coloque novos blocos dentro! :smiley:

Esse codigo é perfeitamente válido:

public class Teste { public static void main(String[] args) { { { { { { { System.out.println("Hello, World!"); } } } } } } } }

M

olá amigo Ricardo, o uso das chaves em java é para Delimitar o codigo (onde ele é enxergado) em um determinado bloco de instruções no caso funções, procedimentos ou classes.
O uso de chaves neste exemplo é exagerado pois bastaria chaves na classe Teste e no metodo main.
Em relação a chaves {} elas não fazem nada devido não haver nenhuma instrução dentro delas…
Voçe pode usar chaves para delimitar blocos nos casos:

Class Teste {
   //isso é um exemplo
   instrução;
 } // fecha o bloco

 public void metodo() {

  instrucão;
 }

  if(condição) {
    instrução;
    instrução;
    instrução;
 }
    metodo() { faz alguma coisa;}
 // veja que o caso de usar chaves na estrutura if, deve-se ao numero de intruções, caso tivesse uma instrução não precisaria.

// usa-se tmb para for e while...

falow :slight_smile:

ricardolecheta

obrigado pessoal :smiley:

B

Isto significa que se eu declarar uma variável no corpo do meu if ele não é aceito fora do escopo das {}???

Gustavo Guilherme BacK

cv1

Nao, uma vez que cada bloco novo cria um novo escopo, e todas as regras de escopo valem :wink:

Criado 31 de agosto de 2003
Ultima resposta 1 de set. de 2003
Respostas 5
Participantes 4