Erros sintáticos em java

Video: Exercícios - Análise Sintática - Profª Rafaela Motta

Um erro de sintaxe no código Java é aquele em que a linguagem que você usa para criar o código estiver incorreto. Por exemplo, se você tentar criar uma instrução if que não inclui a condição entre parênteses, mesmo quando a condição está presente na mesma linha que a declaração se, isso é um erro de sintaxe.

Video: Compiladores

O compilador vai pegar a maioria destes erros para você. Se a sintaxe do seu código é incorreto, então na maioria dos casos, o compilador não pode usar o código para criar código de byte para o JRE. Aqui está uma lista dos erros de sintaxe mais comuns:

  • Usando capitalização incorreta: Um dos erros de sintaxe mais comuns que novos desenvolvedores fazem é capitalizar palavras-chave, em vez de usar letras minúsculas. Java é case sensitive, portanto, usando o caso correto quando você digita seu código é essencial.

    Este mesmo erro pode ocorrer com nomes de classes, variáveis, ou qualquer outro código que você digita como parte do seu aplicativo Java. A variável chamada MyVar é sempre diferente de um myVar nomeado.

  • Dividindo uma string em duas linhas: Na maioria dos casos, Java não se importa se seu código aparece em uma ou mais linhas. No entanto, se você dividir uma string em todas as linhas de modo que a cadeia contém um caractere de nova linha, então o compilador vai se opor.

    A resposta é acabar com a corda na primeira linha com aspas duplas, adicione um sinal de mais para dizer ao compilador que você quer concatenar (Adicionar) esta cadeia por outra cadeia, e depois continuar a corda na próxima linha como esta:

     System.out.print ("Este é um tempo muito longo " +"string que aparece em duas linhas.") -
  • Faltando parênteses: Se você fizer uma chamada de método e não incluem os parênteses após o nome do método (mesmo que você não está enviando nenhum argumentos para o método), o compilador registra um erro. Por exemplo, este código é incorreta porque print () requer parênteses após ele:

     System.out.print-
  • Esquecendo-se de importar uma classe: Sempre que você quiser usar um determinado recurso API Java, você deve importar a classe associada em sua aplicação. Por exemplo, se seu aplicativo contém Cordas nome de utilizador-, então você deve adicionar java.lang.String- de importação para importar a classe String.

  • Tratar um método estático como um método de exemplo: Os métodos estáticos são aqueles que estão associados com uma classe específica, enquanto que os métodos de instância estão associados com um objecto criado a partir da classe.

  • Faltando chaves: Quando você quer um recurso Java para aplicar a várias linhas de código, você deve colocar o bloco inteiro dentro de chaves ({}). Na maioria dos casos, o compilador vai pegar esse erro para você.



    Por exemplo, se você tentar acabar com uma classe sem incluir a chave de fechamento, o compilador irá gerar um erro. Este é um erro onde o compilador não pode mostrar-lhe a localização precisa do erro porque ele não consegue detectar onde a chaveta está faltando - ele simplesmente sabe que um está faltando.

    Este tipo de erro também pode criar erros de execução. Por exemplo, quando uma declaração se deve aplicar-se a várias linhas de código, mas você deixar de fora as chaves, a instrução if afeta somente a próxima linha de código, bem como a aplicação funciona de forma incorreta.

  • Esquecendo o nome da classe ou objeto como parte de uma chamada de método: Você sempre incluir a classe ou objeto associado a um método antes de fazer a chamada de método. Por exemplo, Character.toUpperCase () e System.out.print () estão corretas, mas simplesmente chamando toUpperCase () ou print () está incorreta.

  • Omitindo a cláusula de rescisão de declarações switch: É fácil esquecer de adicionar as cláusulas de quebra para uma instrução switch. Além disso, o compilador não vai pegar esse erro. Como consequência de deixar de fora a cláusula de rescisão, o aplicativo continuará a executar o código em uma instrução switch até encontrar uma cláusula de rescisão ou a instrução switch é completo.

    Por exemplo, o seguinte trecho de código demonstra a execução de uma tarefa padrão, mas as cláusulas de quebra são comentadas.

    // Import a API classes.import java.util.Scanner-import classe java.lang.Character-pública requerida UseAMenu03 {public static void main (String [] args) {// Criar a scanner.Scanner getChoice = new Scanner (Sistema .in) - // obtém a entrada do user.System.out.println ("Optionsn") -System.out.println ("A. Amarelo") -System.out.println ("B. Laranja") -System.out.println ("C. Greenn") -System.out.print ("Escolha sua cor favorita: ") -char Escolha = GetChoice.findInLine (".") .charAt (0) - // Converte a entrada para uppercase.Choice = Character.toUpperCase (Choice) - // Escolha a cor certa com base em uma statement.switch switch (Choice) {case `A`: System.out. println ("Sua cor favorita é amarelo!") - // break-caso `B`: System.out.println ("Sua cor favorita é laranja!") - // break-case `C`: System.out.println ("Sua cor favorita é verde!") - // break-padrão: System.out.println ("Tipo A, B, ou C para selecionar uma cor.")-//pausa-}}}

    Ao executar este código e responder a A, a aplicação envia todas as respostas possíveis, como mostrado na figura. Se você comparar essa saída para a saída mostrada na segunda figura, você verá que a aplicação não está a funcionar correctamente.


  • Omitindo a instrução de retorno: Quando você cria um método que é suposto para retornar um valor e, em seguida, não fornecem uma instrução de retorno para retornar o valor, o compilador vai reclamar.

  • Mistyping o cabeçalho para o método principal (): O compilador não vai reclamar sobre este problema, mas você vai vê-lo imediatamente quando você tenta iniciar o aplicativo. Java vai reclamar que não pode encontrar o método main (). Lembre-se que um método main () deve aparecer assim:

Video: Video Analisador Sintático Lexico Completo

void main (String [] args) public static

Você pode criar muitos outros erros de sintaxe. Como você descobriu ao ler esta lista, o compilador irá encontrar alguns deles, o JRE vai encontrar outros, mas alguns, como omitir a cláusula de rescisão de uma instrução switch, são deixados para você descobrir. Dos três principais tipos de erros, erros sintáticos tendem a ser mais fáceis de encontrar.


Publicações relacionadas