introduction Cet article est un compte rendu de ce que je comprends pour ceux qui étudient Java.
Les fonctions Java et les méthodes de description sont décrites dans la liste suivante.
Cependant, dans cet article, en dehors de la liste, je décrirai l'exécution sur la ligne de commande qui a été effectuée dans l'article.
Quand j'ai entendu ce mot pour la première fois, je ne l'ai pas compris, mais il semble que la ligne affichée dans l'invite de commande dans Windows et le terminal sous mac s'appelle la ligne de commande. Dans cet article, je vais supposer que Java est installé et essayer d'exécuter Java à partir du terminal mac et de l'invite de commande Windows. Il y a aussi un article que j'ai mentionné plus tôt sur la construction de l'environnement, j'espère donc que vous pourrez vous y référer. Environnement de développement Java
J'ai du code à compiler, j'ai donc créé Hello World.
class Test{
public static void main(String args[]){
System.out.println("Hello World!");
}
}
Il s'agit de la première déclaration Hello World qui apparaît souvent lors de l'apprentissage d'un programme. Un code simple qui produit Hello World.
Compilons le code ci-dessus. À propos, la compilation consiste simplement à réécrire le code écrit en une phrase qui peut être lue par un ordinateur.
$javac fichier java que vous voulez compiler
Compilez test.java avec le code ci-dessus dans le dossier de test.
test$ javac test.java
Cette commande charge test.java, vérifie les classes dans le code et génère un fichier de classe. En passant, s'il y a plusieurs classes dans le fichier java, tous les fichiers de classe seront générés.
class Test{
public static void main(String args[]){
System.out.println("Hello World!");
}
}
class Sample{}
class Mikan{}
J'ai créé une classe Sample et une classe Mikan, mais rien n'y est décrit. Compilez ce code.
test$ javac test.java
Vous avez maintenant généré trois fichiers de classe: Test.class, Sample.class et Mikan.class.
$nom du fichier de classe java que vous souhaitez exécuter
Cette commande s'exécute dans la méthode principale de la classe. Entrons ce qui précède à l'invite de commande (terminal).
test$ java Test
Le résultat est
Hello World!
L'instruction de sortie de la méthode principale de la classe Test s'affiche.
C'est tout pour exécuter à l'invite de commande (terminal), mais il y a une chose à garder à l'esprit.
Comme il est exécuté dans la méthode main, une erreur se produira même si la compilation réussit sans la méthode main.
class Test{}
Je compile ce code, mais je peux générer un fichier de classe (Test.class) sans erreur.
test$ javac test.java
Exécutons-le avec le fichier créé.
test$ java Test
J'ai eu une erreur lorsque je l'ai exécuté.
Erreur:La méthode principale est introuvable dans la classe Test. Définissez la méthode principale comme suit:
public static void main(String[] args)
N'oubliez pas que la classe que vous exécutez nécessite une méthode principale.
Vous pouvez également déboguer sur la ligne de commande. Pour faire simple, l'exécution du débogage consiste à vérifier le fonctionnement du programme implémenté. Faisons-le en fait sur la ligne de commande.
test.java
class Main{
int instans = 60;
static int global = 95;
static void debug(){
System.out.println();
System.out.println("Exécution du débogage");
}
void print(){
System.out.println("print()");
}
public static void main(String args[]){
Main.debug();
System.out.println("main start");
int x = 50;
String str = "Type de caractère";
Main m = new Main();
x = 100;
str = "Conversion de type de caractère";
m.print();
System.out.println("main end");
}
}
Compilez le fichier java décrit ci-dessus, mais il y a certaines choses à prendre en compte lorsque vous voulez exécuter le débogage.
$ javac -g test.java
Définissons -g comme une option de compilation. Vous pouvez maintenant utiliser la fonction de débogage JDK intégrée appelée jdb. Commençons jdb à la fois.
$ jdb Main
>
Vous pouvez déboguer en tapant diverses commandes sur la flèche ci-dessus, mais d'abord vous ne pouvez rien faire à moins de l'exécuter, alors mettons la commande run. Maintenant, vm fonctionne.
> run
VM démarrée:
Exécution du débogage
main start
print()
main end
Cependant, avec la commande run seule, jdb sera arrêté simplement en l'exécutant. Par conséquent, définissez un point d'arrêt à l'avance. Un point d'arrêt est un endroit où l'opération s'arrête pendant l'exécution, et vous pouvez spécifier cet endroit avec une commande.
> stop in Main.debug
Je pense que l'état d'entrée de la commande sera entré lorsque la méthode de débogage exécutée dans la méthode principale commencera à fonctionner. Exécutons-le réellement.
> run
VM démarrée:Point d'arrêt retardé principal.paramètres de débogage
Hit point de rupture: "fil=main", Main.debug(),ligne=8 bci=0
8 System.out.println();
main[1]
Cet état indique que le programme est arrêté à cet emplacement. Pour un examen plus approfondi, utilisons la liste des commandes de confirmation de l'emplacement d'exécution.
main[1] list
4 int instans = 60;
5 static int global = 95;
6
7 static void debug(){
8 => System.out.println();
9 System.out.println("Exécution du débogage");
10 }
11
12 void print(){
13 System.out.println("print()");
Il sera affiché. Je pense qu'il est plus facile de voir qu'il est arrêté à la sortie de la méthode de débogage.
Continuons avec le programme qui est arrêté par le code ci-dessus. Cette étape vous permettra de parcourir le code ligne par ligne. Continuons avec ce qui précède.
step
Étape terminée: "fil=main", Main.debug(),ligne=9 bci=6
9 System.out.println("Exécution du débogage");
L'exécution de l'étape a été effectuée. Regardez à nouveau la liste.
5 static int global = 95;
6
7 static void debug(){
8 System.out.println();
9 => System.out.println("Exécution du débogage");
10 }
11
12 void print(){
13 System.out.println("print()");
14 }
Avant l'exécution de l'étape, il s'est arrêté à la 8ème ligne, mais maintenant c'est la 9ème ligne. Cela signifie que vous procédez ligne par ligne. Allons plus loin et affichons la liste
step
>Exécution du débogage
En progressant, le traitement de sortie fonctionne.
Vérifiez la liste après avoir exécuté l'étape.
list
6
7 static void debug(){
8 System.out.println();
9 System.out.println("Exécution du débogage");
10 => }
11
12 void print(){
13 System.out.println("print()");
14 }
15
De plus, je pense qu'il est facile de comprendre que vous lisez le code sur une ligne.
Jusqu'à présent, nous avons présenté les commandes et les opérations d'exécution des étapes, mais à partir de là, nous expliquerons l'utilité de l'exécution des étapes.
Tout d'abord, parcourons la liste jusqu'à ce que la liste d'attente soit la suivante.
20 int x = 50;
21
22 String str = "Type de caractère";
23
24 => Main m = new Main();
25
26 x = 100;
27
28 str = "Conversion de type de caractère";
29
Au moment où le traitement jusqu'à ce point est en cours, les valeurs sont entrées respectivement dans les variables x et str. J'attribue une autre valeur après ce code, mais au cours de cette étape, vous pouvez voir la valeur de la variable à ce stade.
Utilisez la commande locals pour afficher les valeurs des variables locales.
main[1] locals
Variables locales:
x = 50
str = "Type de caractère"
Comme vous pouvez le voir, la valeur actuelle de la variable locale est affichée.
Au fur et à mesure que vous avancez avec ce code, la valeur sera réécrite, alors passons d'abord à la fin de l'affectation.
26 x = 100;
27
28 str = "Conversion de type de caractère";
29
30 => m.print();
31
32 System.out.println("main end");
33 }
34 }
À ce stade, nous avons remplacé les valeurs de x et str, respectivement. Vérifions à nouveau avec la commande locale.
main[1] locals
Variables locales:
x = 100
str = "Conversion de type de caractère"
m = instance of Main(id=422)
Les valeurs ont été réécrites car les modifications des valeurs x et str fonctionnent à l'étape actuelle d'exécution de l'étape. De plus, puisque la variable m est déclarée et que l'instance est affectée, la variable m est également nouvellement affichée.
De cette façon, vous pouvez voir l'état de la valeur au moment où le programme est en cours d'exécution et le regarder, donc lorsque vous vérifiez l'opération, vous pouvez vérifier si la valeur que vous vouliez est incluse à tout moment.
À propos, lorsque vous souhaitez vérifier une variable locale, vous pouvez également vérifier le contenu des variables d'instance et des variables statiques à l'aide de la commande d'impression.
Variables locales
main[1] print str
str = "Conversion de type de caractère"
Variable d'instance
main[1] print m.instans
m.instans = 60
variable statique
main[1] print Main.global
Main.global = 95
Dans cet article, j'ai essayé pas à pas lors de la compilation, de l'exécution et du débogage de Java à l'invite de commande (terminal). Une fois que vous aurez installé Java, vous pourrez le faire, alors pourquoi ne pas l'essayer?
Cependant, je pense que les outils installés dans l'environnement de développement, etc. sont plus faciles à utiliser que l'exécution du débogage à partir de la ligne de commande. Veuillez également vous référer à l'article suivant pour exécuter le débogage avec eclipse.
Exécution du débogage dans l'IDE
Recommended Posts