Maison > Java > javaDidacticiel > le corps du texte

Quels sont les différents états de REPL dans Java 9 ?

PHPz
Libérer: 2023-08-18 16:29:17
avant
844 Les gens l'ont consulté

REPL signifie lire-évaluer-imprimer-boucle. Il enregistre un état, un pour chaque instruction dans JShell. Cet état détermine l'état d'exécution des fragments de code et des variables. Il peut être déterminé par les résultats de la méthode eval() de l'instance JShell , qui est utilisée pour évaluer le code.

Sept statuts différents sont répertoriés ci-dessous.

  • DROPPED : L'extrait de code est inactif.
  • NONEXISTENT : L'extrait est inactif car il n'existe pas encore.
  • OVERWRITTEN : L'extrait de code est inactif car il a été remplacé par un nouvel extrait de code.
  • RECOVERABLE_DEFINED : Un extrait de code est un extrait de code déclaratif dont le corps peut contenir des références non résolues ou d'autres problèmes.
  • RECOVERABLE_NOT_DEFINED : Un extrait de code est un extrait de code déclaratif dont le corps peut contenir des références non résolues ou d'autres problèmes.
  • REJECTÉ : l'extrait de code est inactif car la compilation a échoué lors de l'évaluation initiale et ne peut pas être rendue valide en apportant d'autres modifications à l'état de JShell.
  • VALIDE : L'extrait de code est un extrait de code valide.

Exemple

import java.util.List;
import jdk.jshell.*;
import jdk.jshell.Snippet.Status;

public class JShellTest {
   public static void main(String args[]) {
      JShell shell = JShell.<strong>create()</strong>;
      <strong>List<SnippetEvent></strong> events = shell.<strong>eval</strong>("int a, b, sum; " + "a = 12; b = 11; sum = a + b; " +
                                             "System.out.println(sum);" );
      for(<strong>SnippetEvent </strong>event : events) {
         Snippet snippet = <strong>event.snippet()</strong>;
         <strong>Snippet.Status</strong> snippetstatus = shell.<strong>status</strong>(snippet);
         if(snippetstatus == <strong>Status.VALID</strong>) {
            System.out.println("Successfully executed");
         }
      }
   }
}
Copier après la connexion

Sortie

<strong>Successfully executed
Successfully executed
Successfully executed  </strong>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!