Éviter les erreurs en java

Les seules personnes qui ne font jamais d'erreurs sont les gens qui ne font rien du tout. Mais une planification minutieuse peut vous aider à éviter certains des gaffes de Java les plus courantes, telles que les suivantes.

Sommaire

Mettre lettres capitales où ils appartiennent

Java est un langage sensible à la casse, si vous avez vraiment l'esprit de votre Ps et Qs - avec tous les autres lettres de l'alphabet. Voici quelques éléments à garder à l'esprit que vous créez des programmes Java:

  • Les mots-clés de Java sont tous complètement minuscules. Par exemple, dans une déclaration si Java, le mot si ne peut pas être Si ou SI.
  • Lorsque vous utilisez des noms de l'API Java (Application Programming Interface), le cas des noms doit correspondre à ce qui apparaît dans l'API.
  • Vous devez également vous assurer que les noms que vous faire vous-même sont capitalisés de la même manière dans l'ensemble de votre programme. Si vous déclarez une variable monCompte, vous ne pouvez pas parler comme MyAccount, myaccount ou myaccount. Si vous capitalisez le nom de la variable de deux manières différentes, Java pense que vous faites allusion à deux variables complètement différentes.

Sortir d'une instruction switch

Si vous ne cassent pas sur une instruction switch, vous obtenez fall-through. Par exemple, si la valeur du verset est 3, les gravures de code suivants tous les trois lignes - Dernier refrain, il est une douleur, et n'a pas de cerveau.
interrupteur (verset) {
case 3:
out.print ("Dernier refrain,") -
out.println ("dernier refrain,") -
Cas 2:
out.print ("Il est une douleur,") -
out.println ("il est une douleur,") -
Cas 1:
out.print ("n'a pas de cerveau,") -
out.println ("n'a pas de cerveau,") -
}

En comparant les valeurs avec un double signe égal

Lorsque vous comparez deux valeurs avec un autre, vous utilisez un double signe égal. La ligne
si (== inputNumber randomNumber)

est correcte, mais la ligne
si (inputNumber = randomNumber)

n'est pas correcte.

Ajout de composants à une interface graphique

Voici un constructeur pour un cadre de Java:
SimpleFrame publique () {
Bouton JButton = new JButton ("Merci...") -
setTitle ("... Katie Feltman et Heidi Unger") -
setLayout (nouvelle FlowLayout ()) -
ajouter (bouton) -
button.addActionListener (cette) -
setSize (300, 100) -
setVisible (true) -
}




Quoi que vous fassiez, ne pas oublier l'appel à la méthode add. Sans cet appel, vous allez à tout le travail de création d'un bouton, mais le bouton ne se présente pas sur votre cadre.

Ajout d'auditeurs à gérer les événements

Regardez à nouveau le code de la section précédente pour construire un SimpleFrame. Si vous avez oublié l'appel à addActionListener, rien ne se passe lorsque vous cliquez sur le bouton. Cliquez sur le bouton plus difficile une deuxième fois ne contribue pas.

Définir les constructeurs requises

Lorsque vous définissez un constructeur avec des paramètres, comme dans
Température publique (numéro double)

puis l'ordinateur ne crée plus un constructeur sans paramètre par défaut pour vous. En d'autres termes, vous ne pouvez plus appeler
Température roomTemp = new Température ();

à moins que vous définissiez votre propre constructeur sans paramètre de la température.

Fixation des références non statiques

Si vous essayez de compiler le code suivant, vous obtenez un message d'erreur:
classe WillNotWork {
Chaîne greeting = "Bonjour" -
static void main (String args []) {publics
System.out.println (voeux) -
}
}

Vous obtenez un message d'erreur parce principale est statique, mais salutation est pas statique.

Rester dans les limites d'un tableau

Lorsque vous déclarez un tableau avec dix composants, les composants ont des indices de 0 à 9. En d'autres termes, si vous déclarez
invités int [] = new int [10];

alors vous pouvez vous référer aux composants de la matrice de clients en écrivant des clients [0], les clients [1], et ainsi de suite, tout le chemin jusqu'à invités [9]. Vous ne pouvez pas écrire invités [10], car le tableau des invités n'a pas de composante d'indice 10.

Anticiper pointeurs nuls

Dans la vie réelle programmation Java, vous voyez cette exception tout le temps. Un NullPointerException se produit quand vous appelez une méthode qui est censé renvoyer un objet, mais la méthode ne renvoie rien. Voici un exemple pas cher:
importation java.lang.System.out- statique
importation java.io.File-
ListMyFiles de classe {
static void main (String args []) {publics
Déposer myFile = new File (" windows") -
Chaîne dir [] = myFile.list () -
pour (string filename: dir) {
out.println (nom de fichier) -
}
}
}

Ce programme affiche une liste de tous les fichiers dans le répertoire Windows.

Mais qu'advient-il si vous changez fenêtres à autre chose - quelque chose qui ne représente pas le nom d'un répertoire?
Déposer myFile = new File ("# *% $ !!");

Ensuite, le nouvel appel du fichier renvoie null (une signification particulière de mot de Java rien), De sorte que le myFile variable a rien dedans. Plus tard dans le code, le dir variable fait référence à rien, et la tentative de boucle à travers toutes les valeurs dir échoue lamentablement. Vous obtenez un grand NullPointerException, et le programme vient écraser autour de vous.

Pour éviter ce genre de calamité, consultez la documentation de l'API de Java. Si vous appelez une méthode qui peut retourner null, ajouter du code gestion des exceptions à votre programme.

Aider Java trouver ses fichiers

Vous êtes la compilation du code Java, en pensant à votre propre entreprise, lorsque l'ordinateur vous donne un NoClassDefFoundError. Toutes sortes de choses peuvent aller mal, mais il ya des chances que l'ordinateur ne peut pas trouver un fichier Java particulier. Pour corriger cela, vous devez aligner correctement toutes les planètes.

  • Votre répertoire de projet doit contenir tous les fichiers Java dont les noms sont utilisés dans votre code.
  • Si vous utilisez des paquets nommés, répertoire de votre projet doit avoir des sous-répertoires nommés de manière appropriée.
  • Votre CLASSPATH doit être correctement réglée.

» » » » Éviter les erreurs en java