web-dev-qa-db-fra.com

Qu'est-ce que l'analyse/l'analyse?

En Java, qu'est-ce que l'analyse? Pourquoi sont-ils utilisés?

Par exemple: Integer.parseInt(...) et analyser une chaîne?

34
Vista

Vous pourriez dire que analyser une chaîne de caractères est analyser cette chaîne pour rechercher des jetons, ou des éléments, puis créer une structure à partir du résultat.

Dans votre exemple, appeler Integer.parseInt sur une chaîne est analyser cette chaîne pour trouver un entier.

Donc, si vous avez: 

String someString = "123";

Et puis vous invoquez:

int i = Integer.parseInt( someString );

Vous dites à Java d'analyser la chaîne "123" et d'y trouver un entier. 

Autre exemple:

L'une des actions du compilateur Java consiste à "analyser" votre fichier .Java et à créer des jetons correspondant à la grammaire Java. 

Lorsque vous ne parvenez pas à écrire correctement le code source (par exemple, oubliez d’ajouter un ; à la fin d’une instruction), c’est l’analyseur qui identifie l’erreur.

Voici plus d'informations: http://en.wikipedia.org/wiki/Parse

56
OscarRyz

L'analyse consiste à lire la valeur d'un objet pour le convertir en un autre type. Par exemple, vous pouvez avoir une chaîne avec une valeur de "10". En interne, cette chaîne contient les caractères Unicode «1» et «0» et non le nombre réel 10. La méthode Integer.parseInt prend cette valeur de chaîne et renvoie un nombre réel.

String tenString = "10"

//This won't work since you can't add an integer and a string
Integer result = 20 + tenString;

//This will set result to 30
Integer result = 20 + Integer.parseInt(tenString);
34
Martin Harris

De dictionary.reference.com :

Des ordinateurs. analyser (une chaîne de caractères ) afin d’associer groupes de caractères avec le unités syntaxiques du sous-jacent grammaire.

Le contexte de la définition est la traduction du texte d'un programme ou d'une langue au sens général en ses éléments constitutifs par rapport à une grammaire définie - ce qui permet de transformer un texte de programme en code. Cependant, dans le contexte d'un mot clé de langage particulier, cela signifie généralement que la valeur de chaîne d'un type de données fondamental doit être convertie en une représentation interne de ce type de données. Par exemple, la chaîne "10" devient le nombre (entier) 10.

9
tvanfosson

L'analyse peut être considérée comme un synonyme de "décomposer en petits morceaux" et ensuite analyser ce qui est là ou l'utiliser de manière modifiée. En Java, les chaînes sont analysées en décimal, octal, binaire, hexadécimal, etc. Cette opération est effectuée si votre application reçoit une entrée de l’utilisateur sous la forme de chaîne mais que, quelque part dans votre application, vous souhaitez entier ou de type double. Ce n'est pas la même chose que le casting. Pour le transtypage, les types utilisés doivent être compatibles pour pouvoir être castés, mais rien de tel lors de l'analyse.

6
Sahil Babbar

Analyse signifie que nous analysons un objet spécifiquement. Par exemple, lorsque nous saisissons des mots-clés dans un moteur de recherche, ils les analysent et restituent les résultats en recherchant chaque mot. Il s’agit donc de prendre une chaîne du fichier et de la traiter pour extraire les informations souhaitées.

Exemple d’analyse utilisant indexOf pour calculer la position d’une chaîne dans une autre chaîne:

String s="What a Beautiful day!";

int i=s.indexOf("day");//value of i would be 17
int j=s.indexOf("be");//value of j would be -1
int k=s.indexOf("ea");//value of k would be 8

paresInt convertit essentiellement une String en une Integer.

String s="9876543";
int a=new Integer(s);//uses constructor
System.out.println("Constructor method: " + a);
a=Integer.parseInt(s);//uses parseInt() method
System.out.println("parseInt() method: " + a);

Sortie:

Constructor method: 9876543

parseInt() method: 9876543
0
musicakc

L’analyse consiste simplement à analyser la chaîne de caractères et à rechercher les jetons à partir de cette chaîne. L’analyseur est un composant de l’interprète et du compilateur. processus de compilation. 

0
hema mahour