Índice:
- Colocar letras maiúsculas onde elas pertencem
- Partindo de uma indicação de comutação
- Comparando valores com um duplo sinal igual
- Adicionando componentes a uma GUI
- Adicionando ouvintes para lidar com eventos
- Definindo os construtores necessários
- Corrigindo referências não estáticas
- Permanecer dentro dos limites em uma matriz
- Antecipando ponteiros nulos
- Ajudando o Java a encontrar seus arquivos
Vídeo: Erros que devs Java profissionais cometem que os impedem de crescer na Carreira(e como evitar!) 2024
Trave erros comuns na programação Java antes de fazê-los. Aqui está uma breve lista de verificação de dez coisas a serem observadas no seu código.
Colocar letras maiúsculas onde elas pertencem
Java é uma linguagem sensível a maiúsculas e minúsculas, então você realmente tem que se importar com seus P s e Q s - junto com todas as outras letras do alfabeto. Aqui estão alguns detalhes a ter em mente ao criar programas Java:
-
As palavras-chave de Java são completamente minúsculas. Por exemplo, em uma instrução Java if, a palavra se não pode ser Se ou IF.
-
Quando você usa nomes da API Java (Application Programming Interface), o caso dos nomes deve coincidir com o que aparece na API.
-
Você também precisa ter certeza de que os nomes que você compõe sejam capitalizados da mesma maneira ao longo de todo o programa. Se você declarar uma variável myAccount, você não pode se referir a isso como MyAccount, myaccount ou Myaccount. Se você capitalizar o nome da variável de duas maneiras diferentes, a Java pensa que está se referindo a duas variáveis completamente diferentes.
Partindo de uma indicação de comutação
Se você não sair de uma declaração de switch, você obtém uma queda. Por exemplo, se o valor do versículo for 3, o código a seguir imprime as três linhas - Último abster, Ele é uma dor e não tem cérebro.
switch (verso) {case 3: out. imprimir ("último refrão",); Fora. println ("último refrão",); caso 2: fora. imprimir ("Ele é uma dor",); Fora. println ("ele é uma dor",); caso 1: fora. imprimir ("Não tem cérebro",); Fora. println ("não tem cérebro",);}
Comparando valores com um duplo sinal igual
Quando você compara dois valores um com o outro, você usa um sinal duplo igual. A linha
se (inputNumber == randomNumber)
está correta, mas a linha
se (inputNumber = randomNumber)
não está correta.
Adicionando componentes a uma GUI
Aqui está um construtor para um quadro Java:
public SimpleFrame () {JButton button = new JButton ("Obrigado …" ); setTitle ("… Connie Santisteban e Brian Walls" ); setLayout (novo FlowLayout ()); adicionar (botão); botão. addActionListener (this); setSize (300, 100); setVisible (true);}
Seja lá o que fizer, não esqueça a chamada para o método add. Sem essa chamada, você vai para todo o trabalho de criar um botão, mas o botão não aparece em seu quadro.
Adicionando ouvintes para lidar com eventos
Consulte novamente o código da seção anterior para construir um SimpleFrame. Se você esqueceu a chamada para addActionListener, nada acontece quando você clica no botão. Clicar o botão mais difícil uma segunda vez não ajuda.
Definindo os construtores necessários
Quando você define um construtor com parâmetros, como em
temperatura pública (número duplo)
, o computador não cria mais um construtor sem parâmetros padrão para você. Em outras palavras, você não pode mais chamar
Temperature roomTemp = new Temperature ();
a menos que você defina explicitamente seu próprio construtor de temperatura sem parâmetros.
Corrigindo referências não estáticas
Se você tentar compilar o seguinte código, você receberá uma mensagem de erro:
classe WillNotWork {String greeting = "Hello"; public static void main (String args []) {Sistema. Fora. println (saudação);}}
Você recebe uma mensagem de erro porque a principal é estática, mas a saudação não é estática.
Permanecer dentro dos limites em uma matriz
Quando você declara uma matriz com dez componentes, os componentes têm índices de 0 a 9. Em outras palavras, se você declarar convidados
int [] = novo int [10];
, você pode se referir aos componentes da série de convidados, escrevendo visitantes [0], convidados [1], e assim por diante, até os convidados [9]. Você não pode escrever convidados [10], porque a matriz de convidados não possui nenhum componente com o índice 10.
Antecipando ponteiros nulos
Os exemplos desse livro não são propensos a lançar o NullPointerException, mas na programação Java da vida real, Você vê essa exceção o tempo todo. Uma NullPointerException ocorre quando você chama um método que deveria retornar um objeto, mas o método não retorna nada. Aqui está um exemplo barato:
importar java estável. lang. Sistema. Fora; importar java. io. Arquivo; class ListMyFiles {public static void main (String args []) {Arquivo myFile = new File (" windows" ); String dir [] = myFile. Lista(); para (String fileName: dir) {out. println (fileName);}}}
Este programa exibe uma lista de todos os arquivos no diretório do Windows.
Mas o que acontece se você mudar windows para outra coisa - algo que não representa o nome de um diretório?
Arquivo myFile = novo arquivo ("& *% $!!" );
Então a nova chamada de arquivo retorna nula (uma palavra Java especial que significa nada ), então a variável myFile não tem nada nele. Mais tarde no código, o dir variável refere-se a nada, e a tentativa de percorrer todos os valores de dir falha miseravelmente. Você obtém uma grande NullPointerException, e o programa cai à sua volta.
Para evitar esse tipo de calamidade, verifique a documentação da API de Java. Se você está chamando um método que pode retornar nulo, adicione o código de tratamento de exceções ao seu programa.
Ajudando o Java a encontrar seus arquivos
Você está compilando o código Java, cuidando de seu próprio negócio, quando o computador oferece um NoClassDefFoundError. Todos os tipos de coisas podem dar errado, mas é provável que o computador não consiga encontrar um arquivo Java particular. Para corrigir isso, você deve alinhar todos os planetas corretamente:
-
Seu diretório de projeto deve conter todos os arquivos Java cujos nomes são usados em seu código.
-
Se você usa pacotes nomeados, o diretório do seu projeto deve ter nomes apropriados de subdiretórios.
-
Seu CLASSPATH deve estar configurado corretamente.