Vergleich von Saiten in Java

Vergleich von Saiten in Java
Es ist einfacher, den Vergleich von Charakteren zu verstehen, bevor Sie den Vergleich von String -Literalen lernen. Unter dieser Einführung finden Sie einen Vergleich der Strings. Mit Java werden Zeichen im Computer von Ganzzahlen dargestellt (ganze Zahlen). Vergleich von Zeichen bedeutet, ihre entsprechenden Zahlen zu vergleichen.

Mit Java sind Großbuchstaben A bis Großbuchst. A ist 65, b ist 66, c ist 67, bis z, was 90 ist. Kleinbuchstaben 'A' to Kleinbuchstaben 'Z' sind die ganzen Zahlen von 97 bis 122. 'A' IS 97, 'B' ist 98, 'C' ist 99, bis 'z', was 122 ist. Dezimalstellen sind die Ganzzahlen, 48 bis 57. Das heißt, '0' ist 48, '1' ist 49, '2' ist 50 bis 9, was 57 ist.

In dieser neuen Bestellung kommen Ziffern vor Großbuchstaben an erster Stelle, die als nächstes vor Kleinbuchstaben kommen. Vor den Ziffern gibt es die Glocke, die ein klingender und kein druckbarer Charakter ist. Seine Zahl ist 7. Es gibt den Registerkarte der Tastatur, deren Zahl 9 ist. Es gibt das Newline -Zeichen (drückt die Eingabetaste), deren Nummer 10 beträgt. Es gibt den Space-Charakter (drückt die Space-Bar-Taste), deren Zahl 32 beträgt. Es gibt den Ausrufezeichen, dessen Zahl 33 beträgt. Es gibt den vorwärts gerichteten Charakter, dessen Zahl 47 beträgt. '(' hat die Nummer, 40 und ')' die Nummer, 41.

Die Sequenz für Zeichen besteht aus einigen nicht alphanumerischen Zeichen, deren Zahlen unter 48 liegen. Die Zahlen für Dezimalstellen kommen als nächstes; Einige nicht-alphanumerische Zeichen sind im nächsten Intervall; Zahlen für Großbuchstaben folgen; Einige nicht-alphanumerische Zeichen sind im nächsten Intervall; Die Zahlen für Kleinbuchstaben folgen; Danach gibt es Zahlen für andere nicht-alphanumerische Zeichen der englischen Sprache.

Diese Nummern werden als Codenummern bezeichnet. Die Codenummer für $ beträgt 36. Die Codenummer für % beträgt 37. Die Codenummer für & beträgt 38. Die Codenummer für [ist 91. Die Codenummer für den Backslash \ beträgt 92. Die Codenummer für] beträgt 93. Die Codenummer für beträgt 123. Die Codenummer für | ist 124. Die Codenummer für beträgt 125.

Die Charaktere bilden also eine neue Art von Alphabet mit seiner eigenen Bestellung. Die Bestellung ist einfach: Verwenden Sie einfach die Code -Nummern. Das heißt, die Sequenz ist einfach: Verwenden Sie einfach die Codenummern und können Sie jede Codenummer mit ihrem Zeichen verknüpfen. Vergessen Sie nicht, dass die Code -Nummern der Dezimalstellen vor Großbuchstaben und Großbuchstaben vor Kleinbuchstaben kommen.

Und so, 'a' ist weniger als 'a', geschrieben als 'a' ' < 'a'. '0' is less than 'A', written as, '0' < 'A'. '%' is less than '0', written as, '%' < '0'.

Der Vergleich von Zeichen in Java bedeutet, ihre äquivalenten Code -Nummern zu vergleichen. Durch den Vergleich von Zeichen in Java verwendet relationale Operatoren, nämlich:

< meaning, less than
> Bedeutung, größer als
<= meaning, less than or equal to
> = Bedeutung, größer als oder gleich zu
== Bedeutung, gleich
!= Bedeutung, nicht gleich zu gleich

Java verwendet diese Operatoren nicht, um String -Literale zu vergleichen. Java verwendet verschiedene Methoden zum String -Vergleich - siehe unten. In der Tat bedeutet == etwas anderes für den String -Vergleich - siehe unten. Das Äquivalent der oben genannten Betreiber für Zeichenfolgen wird unten erklärt.

Mit Charakteren in Java gibt es ein neues Wörterbuch von Symbolen. Jedes Symbol wird intern von einer Zahl dargestellt (Ganzzahl). In Java besteht ein Streichliteral nicht nur aus alphanumerischen Zeichen. In Java ist ein Streichliteral eine Sequenz alphanumerischer Zeichen, die mit anderen Zeichen gemischt sind. Der Vergleich von String -Literalen in Java muss dieses neue Wörterbuch mit Symbolen (Zeichen) berücksichtigen. Der Vergleich erfolgt auf die gleiche Weise wie beim normalen Wörterbuch. Beim Vergleich von String -Literalen in Java "$ texta [25]" < "$textB[26]", but coded differently - see below.

Artikelinhalt

  • Einführung - siehe oben
  • Konstruktion einer Zeichenfolge
  • Die Zeichenfolge ist gleich Methode
  • Weniger als, größer als
  • Gleich oder kleiner als
  • Abschluss

Konstruktion einer Zeichenfolge

Eine Zeichenfolge kann wie in den folgenden Beispielen in der Java -Computersprache konstruiert werden:

String str = "Was? 10.000 Dollar!";
String str = new String ("Was? 10.000 Dollar!");
char ch [] = 'w', 'h', 'a', 't', ''?",", '$', '1', '0', ',', '0', '0', '0', '!';
String str = new String (ch);

Bereits in diesem kurzen String-Literal, vier nicht-alphanumerischen Zeichen ('?"," $ ",", ",", "!') kann gefunden werden. Es ist nicht ungewöhnlich, auch die Charaktere zu finden, '(', ')', '&', '%', '' und '' in Strings, die von normalen Computerbenutzern erstellt wurden. Beim Vergleich von String -Literalen nehmen sie ihre Positionen in der Abfolge der Zahlen des Zeichens „Wörterbuch“ an, die auf Zahlen basieren.

Es gibt einen Unterschied zwischen einem String -Objekt und einem String -Literal. Ein String -Objekt ist die Instanziierung der String -Klasse. Ein String -Literal ist ein fraglicher Text. In den obigen Beispielen ist STR ein String -Objekt und „Was? 10.000 Dollar!Ohne die Zitate ist ein String wörtlich.

Die Zeichenfolge ist gleich Methode

Die Syntax ist:

boolean gleich (String s)

Es kehrt wahr, wenn die Streicherliterale in normaler Wörterbuchgedämmerung gleich sind. und sonst falsch. Dieser Vergleich ist Fall sensibel. Betrachten Sie den folgenden Code:

String str1 = "$ texta [26]";
String str2 = "$ texta [26]";
boolean bla = str1.gleich (str2);
System.aus.println (bla);
String str3 = "$ texta [26]";
String str4 = "$ texta [26]";
boolean blb = str3.Gleich (str4);
System.aus.println (BLB);

Die Ausgabe ist:

WAHR
FALSCH

Die Sequenzen sind gleich beim Vergleich von STR1- und STR2 -Literalen, sodass der Rückgabewert wahr ist. Beim Vergleich von STR3 und STR4 sind die Sequenzen gleich, aber ein String -Literal hat einen Kleinbuchstaben -Text, und der andere hat Großbuchstaben, sodass der Rückgabewert falsch ist.

boolean EqualSignoreCase (String s)

Mit dieser Methode wird das Gehäuse ignoriert. Wenn die Sequenzen gleich sind, wird diese Methode true zurückgegeben, wenn sich ein wörtliches Literal in Kleinbuchstaben befindet und das andere in Großbuchstaben ist. Die Ausgabe des folgenden Codes lautet:

WAHR
WAHR

Code:

String str1 = "$ texta [26]";
String str2 = "$ texta [26]";
boolean bla = str1.EqualSignoreCase (STR2);
System.aus.println (bla);
String str3 = "$ texta [26]";
String str4 = "$ texta [26]";
boolean blb = str3.EqualSignoreCase (STR4);
System.aus.println (BLB);

Problem mit == für Zeichenfolgen

== vergleicht die Referenzen von zwei String -Objekten. Es wird nicht verwendet, um zwei String -Literale zu vergleichen.

Weniger als, größer als

int vergleicheto (String s)

Diese Methode gibt eine negative Ganzzahl zurück, wenn das linke String -Literal weniger als der rechte String -Literal ist. Es gibt 0 zurück, wenn beide String -Literale gleich sind. Es gibt eine Ganzzahl mehr als 0 zurück, wenn das linke String -Literal größer als der rechte String -Literal ist. Der folgende Code kehrt zurück, -32 im Computer des Autors:

String str1 = "ABCD";
String str2 = "ABCD";
int it = str1.vergleicheto (str2);
System.aus.println (es);

Der folgende Code gibt im Computer des Autors -4 zurück:

String str1 = "ABCD";
String str2 = "efgh";
int it = str1.vergleicheto (str2);
System.aus.println (es);

Der folgende Code gibt 0 auf dem Computer des Autors zurück:

String str1 = "ABCD";
String str2 = "ABCD";
int it = str1.vergleicheto (str2);
System.aus.println (es);

Der folgende Code gibt +4 im Computer des Autors zurück:

String str1 = "efg";
String str2 = "ABCD";
int it = str1.vergleicheto (str2);
System.aus.println (es);

int vergleicheToignoreCase (String s)

Diese Methode entspricht vergleicheto (), aber der Fall wird ignoriert. Der folgende Code gibt 0 auf dem Computer des Autors zurück:

String str1 = "ABCD";
String str2 = "ABCD";
int it = str1.vergleicheToignoreCase (STR2);
System.aus.println (es);

Der folgende Code gibt 0 auf dem Computer des Autors zurück:

String str1 = "a2c3";
String str2 = "a2c3";
int it = str1.vergleicheToignoreCase (STR2);
System.aus.println (es);

Gleich oder kleiner als

Um für String-Literale weniger als oder für String-Literale zu tun, müssen zwei verschiedene Methoden in einer IF-Kondition kombiniert werden, wie in der folgenden Code-Probe:

String str1 = "ABCD";
String str2 = "ABCD";
if (str1.vergleicheToignoreCase (str2) == 0 && str1.Vergleiche (STR2)<0)
System.aus.println ("links wörtlich ist geringer als oder gleich dem rechten buchstäblichen.");

Die Ausgabe ist:

Links wörtlich ist weniger oder gleich dem rechten buchstäblichen.

Größer als oder gleich wie

Der folgende Code zeigt die Situation für größere oder gleiche Zeiten:

String str1 = "ABCD";
String str2 = "ABCD";
if (str1.vergleicheToignoreCase (str2) == 0 && str1.vergleicheto (str2)> 0)
System.aus.println ("links wörtlich ist größer oder gleich dem rechten buchstäblichen.");

Die Ausgabe ist:

Links wörtlich ist größer oder gleich dem rechten buchstäblichen.

Abschluss

In Java werden alle Charaktere von Ganzzahlen dargestellt. Diese Ganzzahlen sind die Code -Nummern für die Zeichen. Großbuchstaben werden von Ganzzahlen dargestellt, die kleiner sind als die Ganzzahlen für Kleinbuchstaben. Alle diese Code -Zahlen existieren in einer Sequenz von kleinsten zum größten. Ein Vergleich der Zeichen verwendet diese Sequenz. Der Vergleich von String -Literalen verwendet diese Sequenz auch ähnlich, wie Wörter des normalen Wörterbuchs verglichen werden. Der Vergleich von Zeichen verwendet arithmetische relationale Operatoren. Der Vergleich von String -Literalen verwenden keine arithmetischen relationalen Operatoren. Es verwendet bestimmte Java -String -Methoden, die oben erklärt wurden.

Es gibt einen Unterschied zwischen einem String -Objekt und einem String -Literal. Der Fokus in diesem Tutorial lag auf dem Vergleich von Streichliteralen. Ein String -Objekt ist eine Instanziierung der String -Klasse. Ein String-Literal ist eine Folge von Zeichen in Doppelquoten. == kann verwendet werden, um die Gleichheit einzelner Zeichen zu testen, aber nicht die Gleichheit von String -Literalen. Mit String -Objekten testet == die Gleichheit von String -Objekte -Referenzen.

Hinweis: "A" ist eine Zeichenfolge, während 'A' ein Zeichen ist.

Chrys