Comparaison des chaînes à Java

Comparaison des chaînes à Java
Il est plus facile de comprendre la comparaison des caractères avant d'apprendre la comparaison des littéraux de cordes. Une comparaison des chaînes est donnée ci-dessous cette introduction. Avec Java, les personnages sont représentés dans l'ordinateur par des entiers (nombres entiers). Comparer les caractères signifie comparer leurs nombres correspondants.

Avec Java, l'on. A est 65, B est 66, C est 67, jusqu'à Z, qui est 90. Les minuscules «A» à minuscules »z» sont les entiers de 97 à 122. 'A' IS 97, 'B' IS 98, 'C' est 99, jusqu'à «z», qui est 122. Les chiffres décimaux sont les entiers, 48 ​​à 57. C'est-à-dire que «0» est 48, «1» est 49, «2» est de 50, jusqu'à 9 ans, ce qui est 57.

Donc, dans cette nouvelle commande, les chiffres viennent avant les lettres en majuscules, qui viennent ensuite avant les lettres minuscules. Avant les chiffres, il y a la cloche, qui est un caractère et non un personnage imprimable. Son nombre est 7. Il y a le caractère d'onglet du clavier, dont le numéro est 9. Il y a le caractère Newline (en appuyant sur la touche Entrée), dont le nombre est 10. Il y a le caractère spatial (en appuyant sur la touche de barre d'espace), dont le nombre est 32. Il y a le caractère d'exclamation, dont le nombre est 33. Il y a le personnage de slash vers l'avant, dont le nombre est 47. '(' a le nombre, 40 et ')' a le nombre, 41.

La séquence des caractères est composée de certains caractères non alphanumériques, dont les chiffres sont inférieurs à 48; Les chiffres pour les chiffres décimaux viennent ensuite; Certains caractères non alphanumériques sont dans l'intervalle suivant; Les numéros pour les lettres majuscules suivent; Certains caractères non alphanumériques sont dans l'intervalle suivant; Les chiffres pour les lettres minuscules suivent; Après cela, il y a des chiffres pour d'autres caractères non alphanumériques de la langue anglaise.

Ces numéros sont appelés numéros de code. Le numéro de code pour $ est 36. Le numéro de code pour% est 37. Le numéro de code pour & est 38. Le numéro de code pour [est 91. Le numéro de code pour l'arrière-plan \ est 92. Le numéro de code pour] est 93. Le numéro de code pour est 123. Le numéro de code pour | est 124. Le numéro de code pour est 125.

Ainsi, les personnages forment un nouveau type d'alphabet avec sa propre commande. La commande est simple: utilisez simplement les numéros de code. Autrement dit, la séquence est simple: utilisez simplement les numéros de code et pouvoir associer chaque numéro de code à son caractère. N'oubliez pas que les numéros de code à chiffres décimaux sont avant les lettres en majuscules et que les lettres majuscules viennent avant les lettres minuscules.

Et donc, «A» est moins que «a», écrit comme, «a» < 'a'. '0' is less than 'A', written as, '0' < 'A'. '%' is less than '0', written as, '%' < '0'.

Comparer les caractères dans Java signifie comparer leurs numéros de code équivalents. La comparaison des caractères de Java utilise des opérateurs relationnels, qui sont:

< meaning, less than
> Signification, supérieure à
<= meaning, less than or equal to
> = sens, supérieur ou égal à
== sens, égal à
!= signification, pas égal à

Java n'utilise pas ces opérateurs pour comparer les littéraux de cordes. Java utilise différentes méthodes pour la comparaison des chaînes - voir ci-dessous. En fait, == signifie autre chose pour la comparaison des chaînes - voir ci-dessous. L'équivalent des opérateurs ci-dessus, pour les chaînes, est expliqué ci-dessous.

Avec des personnages en Java, il y a un nouveau dictionnaire de symboles. Chaque symbole est représenté en interne par un nombre (entier). En Java, un littéral de cordes ne se compose pas de seuls caractères alphanumériques. Dans Java, un littéral de cordes est une séquence de caractères alphanumériques mélangés à d'autres caractères. La comparaison des littéraux de cordes en Java doit considérer ce nouveau dictionnaire des symboles (caractères). La comparaison se fait de la même manière qu'avec le dictionnaire normal. En comparant les littéraux de cordes en java, «$ texta [25]» < "$textB[26]", but coded differently - see below.

Contenu de l'article

  • Introduction - Voir ci-dessus
  • Construire une chaîne
  • La chaîne équivaut à la méthode
  • Moins de, supérieur à
  • Inférieur ou égal à
  • Conclusion

Construire une chaîne

Une chaîne peut être construite dans le langage informatique Java, comme dans les exemples suivants:

String str = "quoi? 10 000 $!"
String str = nouvelle chaîne ("quoi? 10 000 $!");
char ch [] = 'w', 'h', 'a', 't', '?', ",' $ ',' 1 ',' 0 ',', ',' 0 ',' 0 ',' 0 ','!';
String str = new String (ch);

Déjà dans cette courte corde littérale, quatre caractères non alphanumériques (''?',' $ ',', ','!') peut être trouvé. Il n'est pas rare de trouver également les personnages: «(«, »)», «&», «%», «» et «» dans les chaînes produites par les utilisateurs d'ordinateurs ordinaires. En comparant les littéraux de cordes, ils prennent leur position dans la séquence des nombres du «dictionnaire» du personnage, sur la base des nombres.

Il y a une différence entre un objet de chaîne et un littéral de chaîne. Un objet String est l'instanciation de la classe de chaîne. Un littéral de cordes est un texte en question. Dans les exemples ci-dessus, STR est un objet de chaîne et «quoi? 10 000 $!"Sans les citations est un littéral à cordes.

La chaîne équivaut à la méthode

La syntaxe est:

booléen égaux (chaîne s)

Il renvoie vrai si les littéraux de cordes sont égaux, de façon normale de dictionnaire; et faux sinon. Cette comparaison est sensible à la casse. Considérez le code suivant:

String str1 = "$ texta [26]";
String str2 = "$ texta [26]";
booléen bla = str1.égaux (str2);
Système.dehors.println (Bla);
String str3 = "$ texta [26]";
String str4 = "$ texta [26]";
booléen blb = str3.égaux (str4);
Système.dehors.println (blb);

La sortie est:

vrai
FAUX

Les séquences sont les mêmes pour comparer les littéraux STR1 et STR2, donc la valeur de retour est vraie. En comparant STR3 et STR4, les séquences sont les mêmes, mais une chaîne littérale a du texte minuscule, et l'autre a du texte en majuscule, donc la valeur de retour est fausse.

booléen equalsignorecase (chaîne s)

Avec cette méthode, le boîtier est ignoré. Si les séquences sont les mêmes, si un littéral est en minuscules et que l'autre est en majuscules, cette méthode reviendra vrai. La sortie du code suivant est:

vrai
vrai

Code:

String str1 = "$ texta [26]";
String str2 = "$ texta [26]";
booléen bla = str1.equalsignorecase (str2);
Système.dehors.println (Bla);
String str3 = "$ texta [26]";
String str4 = "$ texta [26]";
booléen blb = str3.equalsignoreCase (STR4);
Système.dehors.println (blb);

Problème avec == pour les chaînes

== Compare les références de deux objets de chaîne. Il n'est pas utilisé pour comparer deux littéraux de cordes.

Moins de, supérieur à

int compareto (chaîne s)

Cette méthode renvoie un entier négatif, si le littéral de la chaîne gauche est inférieur à la chaîne droite littérale. Il renvoie 0 si les deux littéraux de cordes sont égaux. Il renvoie un entier supérieur à 0 si le littéral de chaîne gauche est supérieur à la chaîne droite littérale. Le code suivant revient, -32 dans l'ordinateur de l'auteur:

String str1 = "ABCD";
String str2 = "abcd";
int it = str1.compareto (str2);
Système.dehors.println (it);

Le code suivant renvoie -4 dans l'ordinateur de l'auteur:

String str1 = "ABCD";
String str2 = "efgh";
int it = str1.compareto (str2);
Système.dehors.println (it);

Le code suivant renvoie 0 dans l'ordinateur de l'auteur:

String str1 = "ABCD";
String str2 = "abcd";
int it = str1.compareto (str2);
Système.dehors.println (it);

Le code suivant renvoie +4 dans l'ordinateur de l'auteur:

String str1 = "efg";
String str2 = "abcd";
int it = str1.compareto (str2);
Système.dehors.println (it);

int comparetoignorecase (chaîne s)

Cette méthode est la même que compareto (), mais le cas est ignoré. Le code suivant renvoie 0 dans l'ordinateur de l'auteur:

String str1 = "ABCD";
String str2 = "abcd";
int it = str1.ComparetoignoreCase (STR2);
Système.dehors.println (it);

Le code suivant renvoie 0 dans l'ordinateur de l'auteur:

String str1 = "a2c3";
String str2 = "a2c3";
int it = str1.ComparetoignoreCase (STR2);
Système.dehors.println (it);

Inférieur ou égal à

Afin de faire moins que ou égal pour les littéraux de cordes, deux méthodes différentes doivent être combinées dans une condition IF, comme dans l'échantillon de code suivant:

String str1 = "ABCD";
String str2 = "abcd";
if (str1.comparetoignorecase (str2) == 0 && str1.compareto (str2)<0)
Système.dehors.println ("Le littéral gauche est inférieur ou égal au littéral droit.");

La sortie est:

Le littéral gauche est inférieur ou égal au littéral droit.

Plus grand ou égal à

Le code suivant illustre la situation de plus que plus que ou égal:

String str1 = "ABCD";
String str2 = "abcd";
if (str1.comparetoignorecase (str2) == 0 && str1.compareto (str2)> 0)
Système.dehors.println ("Le littéral gauche est supérieur ou égal au littéral droit.");

La sortie est:

Le littéral gauche est supérieur ou égal au littéral droit.

Conclusion

En Java, tous les personnages sont représentés par des entiers. Ces entiers sont les numéros de code pour les caractères. Les lettres majuscules sont représentées par des entiers qui sont plus petits que les entiers pour les lettres minuscules. Tous ces numéros de code existent dans une séquence du plus petit à. Une comparaison des caractères utilise cette séquence. La comparaison des littéraux de cordes utilise également cette séquence de manière similaire à la façon dont les mots du dictionnaire normal sont comparés. La comparaison des caractères utilise des opérateurs relationnels arithmétiques. La comparaison des littéraux à cordes n'utilise pas d'opérateurs relationnels arithmétiques. Il utilise certaines méthodes de chaîne Java, qui ont été expliquées ci-dessus.

Il y a une différence entre un objet de chaîne et un littéral de chaîne. L'accent mis dans ce tutoriel a été sur la comparaison des littéraux de cordes. Un objet String est une instanciation de la classe de chaîne. Un littéral de cordes est une séquence de caractères en double-quot. == peut être utilisé pour tester l'égalité des caractères uniques, mais pas l'égalité des littéraux de cordes. Avec des objets de chaîne, == teste l'égalité des références d'objets de chaîne.

Remarque: «A» est une chaîne, tandis que «A» est un personnage.

Chrys