:: Curiosidade

14 respostas
marciobarroso

Pessoal,

O que vocês acham que acontece ao se executar esta classe ???

public class Teste {

	public static void main(String[] args) {

		String teste = null;
		
		if (teste != null) {
			System.out.println("1");
		} else {
			System.out.println("2");
		}
		
		;;;;;;;;;;;;  ;;;;
		;;;;;;;;;;;;  ;;;;
		;;;;    ;;;;  ;;;;
		;;;;    ;;;;  ;;;;
		;;;;    ;;;;  ;;;;
		;;;;    ;;;;  ;;;;
		;;;;;;;;;;;;  ;;;;  ;;;; ;;;; ;;;;
		;;;;;;;;;;;;  ;;;;  ;;;; ;;;; ;;;;

				;;;;   ;;;;;;;;;;   ;;;;    ;;;;   ;;;;;;;;;;
				;;;;  ;;;;;;;;;;;;  ;;;;    ;;;;  ;;;;;;;;;;;;
				;;;;  ;;;;    ;;;;  ;;;;    ;;;;  ;;;;    ;;;;
				;;;;  ;;;;    ;;;;  ;;;;    ;;;;  ;;;;    ;;;;
				;;;;  ;;;;;;;;;;;;  ;;;;    ;;;;  ;;;;;;;;;;;;
		;;;;	;;;;  ;;;;;;;;;;;;  ;;;;    ;;;;  ;;;;;;;;;;;;
		;;;;;;;;;;;;  ;;;;    ;;;;   ;;;;;;;;;;   ;;;;    ;;;;
		 ;;;;;;;;;;   ;;;;    ;;;;    ;;;;;;;;    ;;;;    ;;;;
		
		;;;;;;;;;;;   ;;;;    ;;;;  ;;;;           ;;;;;;;;;;
		;;;;;;;;;;;;  ;;;;    ;;;;  ;;;;          ;;;;;;;;;;;;
		;;;;    ;;;;  ;;;;    ;;;;  ;;;;          ;;;;    ;;;; 
		;;;;    ;;;;  ;;;;    ;;;;  ;;;;          ;;;;    ;;;;
		;;;;;;;;;;;   ;;;;    ;;;;  ;;;;          ;;;;;;;;;;;;
		;;;;;;;;;;;;  ;;;;    ;;;;  ;;;;          ;;;;;;;;;;;; 
		;;;;    ;;;;  ;;;;;;;;;;;;  ;;;;;;;;;;;;  ;;;;    ;;;;   
		;;;;    ;;;;   ;;;;;;;;;;   ;;;;;;;;;;;;  ;;;;    ;;;;

		
	}   
}

14 Respostas

T

2???

T

Imprime “2” no console.

erickles

Dá erro de compilação, aquele monte de “;” é estranho.

bsl.lacerda

Imprime 2.
:smiley:

marciobarroso

Depois de responder o tópico, rode o código e veja o que acontece …

Eu sinceramente fiquei assustado, pois estava analisando um código fonte e me deparei com algo parecido.

peczenyj

Não da erro não, ; sozinho não é erro, só o fim de uma instrução, nesse caso uma instrução vazia.

marcosharbs

num da erro de compilação nao hehehehe
so vai imprimir 2 no console
=D

T

não vo nem perguntar qual é a graça disso tudo… rs

marciobarroso

Não tem graça… A questão é que estou estudando compiladores e me deparei com um fato que para mim seria um erro, mas que na verdade não é.

Aposto que muitos como eu não sabia que um ponto e virgula no meio de uma instrução não daria um erro de compilação.

Ta certo que meu exemplo foi exagerado, mas no caso de :

public class Teste {

    public static void main(String [] args) {
         String teste = null;

         if (teste != null) {
              System.out.println("1");
         } else {
              System.out.println("2");
         };
    }
}

Aposto que muitos falariam que daria um erro.

marciofermino

meu deus.

bsl.lacerda

Achei válido o post do amigo…

L

marciobarroso:
Depois de responder o tópico, rode o código e veja o que acontece …

Eu sinceramente fiquei assustado, pois estava analisando um código fonte e me deparei com algo parecido.

Encontrou algo parecido em um código “de verdade”?!?!?!?! :shock:

Se bem que é mais claro que JavaDoc para escrever mensagens do tipo “Não mexa aqui”…hehehe

maior_abandonado

eu fiz meu tcc recentemente sobre compiladores, e vendo o livro do marcio delamaro, como construir um compilador … la estava previsto ; sem nada mesmo…extamente como o peczenyj falo, uma expressão vazia…

interessante isso

erickles

Bem curioso, dessa eu não sabia. Valeu pelo post.

Criado 6 de novembro de 2008
Ultima resposta 6 de nov. de 2008
Respostas 14
Participantes 10