Maison >Java >javaDidacticiel >Explication détaillée du fonctionnement du scanner en Java
Scanner est une classe couramment utilisée en Java, utilisée pour lire les données d'entrée à partir de la console ou d'un fichier. Il fournit un moyen simple d'analyser les types et les chaînes de base et prend en charge les expressions régulières correspondantes.
La classe Scanner se trouve dans le package java.util, vous devez donc importer ce package lors de l'écriture d'un programme. Avant de commencer à utiliser Scanner, nous devons créer un objet Scanner pour accéder à la source d'entrée.
La syntaxe pour créer un objet Scanner est la suivante :
Scanner scanner = new Scanner(System.in);
Le code ci-dessus crée un objet Scanner, qui peut être utilisé pour lire les données du flux d'entrée standard. De plus, nous pouvons également utiliser d'autres flux d'entrée pour créer des objets Scanner.
Jetons un coup d'œil à certaines opérations du scanner couramment utilisées.
Nous pouvons lire une chaîne en utilisant la méthode next(), qui lit le mot suivant dans l'entrée de la console et renvoie une chaîne.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.next(); System.out.println("你输入的字符串是:" + str);
Le résultat de l'exécution du code ci-dessus :
请输入一个字符串:Hello World! 你输入的字符串是:Hello
Le code ci-dessus ne lit que le premier mot "Bonjour" dans l'entrée, car la méthode next() utilise des espaces pour séparer la chaîne d'entrée par défaut, elle ne lit donc que le premier mot dans l'entrée. Si vous devez lire la chaîne entière, vous pouvez utiliser la méthode nextLine().
Nous pouvons utiliser nextInt() ou nextLong() pour lire un entier ou un entier long Si l'entrée n'est pas de type numérique, une exception InputMismatchException sera levée.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("你输入的整数是:" + num);
Le résultat de l'exécution du code ci-dessus :
请输入一个整数:123 你输入的整数是:123
Nous pouvons utiliser nextFloat() ou nextDouble() pour lire des données en virgule flottante. Si l’entrée n’est pas une donnée à virgule flottante, une exception InputMismatchException sera levée.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个浮点数:"); float f = scanner.nextFloat(); System.out.println("你输入的浮点数是:" + f);
Les résultats de l'exécution du code ci-dessus :
请输入一个浮点数:3.14 你输入的浮点数是:3.14
Nous pouvons utiliser la méthode nextBoolean() pour lire des données de type booléen. Si la valeur d'entrée n'est pas vraie ou fausse, une exception InputMismatchException sera. jeté.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个布尔值(true/false):"); boolean b = scanner.nextBoolean(); System.out.println("你输入的布尔值是:" + b);
Le résultat de l'exécution du code ci-dessus :
请输入一个布尔值(true/false):true 你输入的布尔值是:true
Scanner fournit également une méthode findInLine() pour lire les expressions régulières. Cette méthode lit la première occurrence de l'expression régulière dans l'entrée de la console et renvoie une chaîne correspondante.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个正则表达式:"); String pattern = scanner.findInLine("\d+"); System.out.println("你输入的正则表达式匹配的字符串是:" + pattern);
Le résultat de l'exécution du code ci-dessus :
请输入一个正则表达式:Hello 123 World! 你输入的正则表达式匹配的字符串是:123
Ce qui précède sont quelques opérations courantes de la classe Scanner. J'espère que cela sera utile à tous ceux qui apprennent Java.
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!