Chargement...

debugging en Java

Trouvez un mauvais résultat en imprimant les valeurs que vous avez déjà, puis corrigez la mauvaise ligne. Dans Yard.java, écrivez int x = 10; et int y = 2;. Imprimez x et y. Calculez par erreur int sum = x - y; et imprimez sum. Compilez avec javac Yard.java et exécutez java Yard. L’écran doit montrer les deux valeurs puis 8. Une seconde démo change l’opérateur en + pour que sum affiche 12. Laissez Javadoc pour la page suivante — cette leçon lit l’écran pour attraper une erreur de logique.

Imprimer les valeurs autour d’une mauvaise somme

La page equals comparait le texte des chaînes. Cette page chasse une mauvaise ligne d’arithmétique. Ouvrez Yard.java. Gardez le nom de classe public Yard. Supprimez les démos restantes equals / == si elles enterrent l’histoire de debug, les fichiers horn restants de Machine, les démos de chemin, et tout Scanner clavier. Le programme ne doit pas attendre la frappe. Aucune ligne import n’est requise.
Dans Yard.main, placez les nombres et imprimez-les avant de faire confiance à la somme :
int x = 10;
int y = 2;
System.out.println("x=" + x);
System.out.println("y=" + y);
Puis gardez exprès une ligne buggée pour la première démo :
int sum = x - y;
System.out.println(sum);
Les impressions de x et y prouvent les entrées. Le 8 imprimé prouve que l’opérateur est faux pour une somme.

Yard debug prints with minus bug

java
public class Yard {
    public static void main(String[] args) {
        int x = 10;
        int y = 2;
        System.out.println("x=" + x);
        System.out.println("y=" + y);
        int sum = x - y;
        System.out.println(sum);
    }
}

Depuis le dossier qui contient Yard.java, lancez javac Yard.java. Quand les parenthèses, accolades et points-virgules correspondent, javac n’écrit aucune ligne de son cru. Puis lancez java Yard — pas java Yard.java. Enlevez la fin .java de la commande d’exécution. Gardez une classe public dans le fichier pour que le nom corresponde à Yard.
L’écran montre x=10, puis y=2, puis 8. Parcourez l’exécution une fois. Java démarre à Yard.main. Les deux premières impressions confirment les nombres stockés. La troisième impression montre le résultat de la soustraction, pas de l’addition. Le programme a compilé et tourné — c’est une erreur de logique, pas un point-virgule manquant.
Faites le calcul une fois sur papier à côté de l’écran : dix moins deux font huit. Cela correspond à la dernière ligne, donc le bug n’est pas une mauvaise valeur de variable ; le bug est l’opérateur que vous avez choisi pour une somme. Quand les entrées imprimées paraissent justes et le résultat paraît faux, cherchez l’expression qui a construit le résultat.
Si vous voyez encore true / false d’un fichier equals, passez au fichier d’enseignement debugging et relancez java Yard. Si vous changez l’opérateur sans imprimer x et y, vous devinez dans le noir. Gardez les impressions de valeurs jusqu’à ce que l’écran corresponde à ce que vous attendez des entrées. Laissez les étiquettes temporaires en place pendant la chasse ; vous pourrez les ranger après que la correction soit prouvée.
Dites la règle à voix haute en regardant l’écran : imprimez les faits, lisez le mauvais résultat, puis changez la ligne qui l’a causé. N’inventez pas un bloc de commentaire Javadoc comme correction sur cette page. Javadoc attend la leçon suivante.

Corriger l’opérateur et relancer

Un second programme garde les mêmes impressions de x et y. La ligne de somme utilise + au lieu de -. La dernière impression doit montrer 12.

Yard fixed plus sum

java
public class Yard {
    public static void main(String[] args) {
        int x = 10;
        int y = 2;
        System.out.println("x=" + x);
        System.out.println("y=" + y);
        int sum = x + y;
        System.out.println(sum);
    }
}

Compilez avec javac Yard.java, puis exécutez java Yard. L’écran montre x=10, puis y=2, puis 12. Les entrées n’ont pas changé. L’opérateur a changé. C’est la boucle de debug pour cette forme débutante : voir les valeurs, repérer la mauvaise opération, la corriger, compiler à nouveau, relancer.
Relisez la ligne de somme une fois : int sum = x + y;. Gardez les impressions étiquetées pour qu’une erreur plus tard montre encore les entrées. Quand le dernier nombre correspond à 10 + 2, la ligne de logique est corrigée pour cette démo. Comparez les deux fichiers d’enseignement côte à côte s’ils sont tous deux ouverts : la seule différence intentionnelle doit être - versus + sur la ligne de somme.
Si des démos equals restantes restent à côté, gardez-les comme histoire. Pour cette leçon, lancez le fichier d’enseignement debugging pour que l’écran montre des nombres, pas des boolean de chaînes. Si javac se plaint de classes public en double, gardez seulement Yard public.

Le tableau est la carte courte de cette page. D’abord vous regardez. Puis vous imprimez. Puis vous changez une ligne claire et vous vérifiez. Évitez de deviner sans écran. Évitez de supprimer toutes les impressions avant de savoir que la correction a marché.

📊 Beginner debug steps on Yard

Step What you do
1 Run java Yard and read every printed line
2 Add println for the values you distrust
3 Fix the bad operator or condition, then compile and run again

Comparé aux contrôles equals

Sur la page equals, equals et == répondaient contenu versus identité pour les chaînes. Sur cette page, println répond ce que vos nombres sont vraiment quand un résultat paraît faux. Vous compilez encore Yard.java et exécutez java Yard. Les nouvelles habitudes sont les impressions de valeurs étiquetées, la lecture d’un mauvais résultat comme indice, et la relance après une correction d’une ligne.
Debugging ici n’est pas un menu spécial. C’est une sortie ordinaire utilisée comme une lampe sur vos propres variables. Quand la lampe montre de bonnes entrées et un mauvais résultat, l’expression qui a construit le résultat est le suspect.
Si un fichier restant a.equals(b) est encore ouvert, vous verrez true et false. Passez au fichier debugging pour que main imprime x, y et sum. Gardez les démos Javadoc hors de cette page. Gardez la saisie clavier hors de cette page.

Avant Javadoc

Vous pouvez imprimer x et y, garder un bug moins, et voir 8 après les étiquettes. Vous pouvez changer l’opérateur en plus et voir 12. Compilez Yard.java et exécutez java Yard pour chaque démo conservée à tour de rôle. L’écran vous a dit où la logique a échoué. La page suivante est Javadoc, où vous documentez les méthodes avec des commentaires spéciaux pour les lecteurs et les outils.
Gardez la démo buggée pour un mauvais écran clair. Gardez la démo corrigée pour une étape de vérification claire. Gardez les fichiers Javadoc hors de cette page. Ces trois habitudes sont le point de contrôle avant d’avancer. Quand les impressions étiquetées plus une somme corrigée correspondent à 10 + 2, debugging a fait son travail pour cette leçon et vous êtes prêt pour le sujet suivant sur Javadoc.
Un dernier passage dans le dossier : un Yard public, des impressions de valeurs autour de la somme, pas d’attente clavier, pas de commentaires de documentation forcés. Lancez javac Yard.java et java Yard une fois de plus sur la démo ouverte. Si l’écran montre encore les entrées et le résultat attendus, la boucle de debug est solide et le cours peut passer à Javadoc à la page suivante. Préférez une correction claire à la fois pour que chaque nouvelle exécution enseigne un changement.

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
5
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 Instructions

  • Lisez chaque question attentivement
  • Sélectionnez la meilleure réponse pour chaque question
  • Vous pouvez refaire le quiz autant de fois que vous le souhaitez
  • Votre progression sera affichée en haut