Dieser Artikel ist eine Aufzeichnung dessen, was ich für diejenigen verstehe, die Java studieren.
In meinem Artikel sind die wichtigsten Java-Funktionen in der folgenden Liste zusammengefasst.
・ Variablen, Typen und Typkonvertierung Aktuelle Seite ・ Umfang der Variablen ・ Zeichenkettenoperation (in Vorbereitung) ・ Arrangement-Operation (in Vorbereitung) ・ Bediener (in Vorbereitung) ・ Bedingte Verzweigung (in Vorbereitung) ・ Verarbeitung wiederholen (in Vorbereitung)
Darüber hinaus wird bei der Beschreibung dieses Artikels auf die folgenden Artikel verwiesen. https://www.sejuku.net/blog/22805
Wenn Sie eine Variable in Java deklarieren, müssen Sie beschreiben, um welchen Datentyp es sich bei der Variablen handelt.
Einstiegsbeispiel
int suuzi; //Numerischer Typ
boolean dotti; //Boolescher Typ wahr oder falsch
String mozi; //Zeichentyp
System.out.println(mozi); //Ich versuche in Mozi zu schauen
Diese Beschreibung ist jedoch eine Deklaration und wurde nicht initialisiert. Ein Fehler tritt auf, wenn Variablen vorhanden sind, die in Java nicht initialisiert werden können.
Fehleranweisung
Error:Die Variable mozi wurde möglicherweise nicht initialisiert
int suuzi; //Numerischer Typ
boolean dotti; //Boolescher Typ wahr oder falsch
String mozi; //Zeichentyp
suuzi = 10;
dotti = true;
mozi = "Brief";
System.out.println(suuzi); //Versuchen Sie, in die Zahlen zu schauen
System.out.println(dotti); //Ich versuche in Dotti zu schauen
System.out.println(mozi); //Ich versuche in Mozi zu schauen
Wenn Sie den Inhalt für das oben Gesagte festlegen, wird er initialisiert und Sie erhalten keine Fehlermeldung, selbst wenn Sie versuchen, darauf zu verweisen.
Lauf
10
true
Brief
Es ist auch möglich, die obigen zwei Schritte zusammen zu schreiben.
int suuzi = 10; //Numerischer Typ
boolean dotti = true; //Boolescher Typ wahr oder falsch
String mozi = "Brief"; // Brief型
System.out.println(suuzi); //Versuchen Sie, in die Zahlen zu schauen
System.out.println(dotti); //Ich versuche in Dotti zu schauen
System.out.println(mozi); //Ich versuche in Mozi zu schauen
Wenn Sie wie oben Typ Variablenname = Inhalt schreiben, können Sie gleichzeitig deklarieren und initialisieren.
Lauf
10
true
Brief
Bis zu diesem Punkt haben wir über Deklarationen und Initialisierung gesprochen, aber von nun an werden wir Typen beschreiben. Es gibt zwei Haupttypen, den Basistyp und den Referenztyp. Schauen wir uns jeden an.
Ganzzahliger Typ Wir haben es mit ganzzahligen Daten zu tun. Es ist leicht zu verstehen, wenn Sie der Meinung sind, dass je größer die Größe, desto mehr numerische Werte verarbeitet werden können.
Datentyp | Größe | Wertebereich |
---|---|---|
byte | 1byte | -128~127 |
short | 2byte | -32768~32767 |
int | 4byte | -2147483648~2147483647 |
long | 8byte | -9223372036854775808~9223372036854775807 |
Wenn ich mir diese Tabelle anschaue, denke ich, dass es eine Meinung gibt, dass nur Longs mit einer großen Größe verwendet werden sollten, aber da die in der Tabelle aufgelistete Anzahl von Bytes unabhängig von der Größe des Werts verwendet wird, kann man sehen, dass ein kleiner Wert eingegeben werden kann. Ich möchte die Anzahl der Bytes so klein wie möglich halten. Wenn ich es schreibe, gibt es viele Ints. Wenn Sie feststellen, dass es nicht genug ist, wird es lange dauern. Wenn es sich um ein Byte oder einen Kurzschluss handelt, gibt es nur wenige, und ich denke, dass ein Fehler wie die Nichteingabe eines Werts auftreten kann.
Gleitkomma-Typ Eine Zahl, die einen Dezimalpunkt enthält.
Datentyp | Größe | Wertebereich |
---|---|---|
float | 4byte | ±3.40E38~±1.40E45 |
double | 8byte | ±4.94E-324~±1.79E+308 |
Zeichentyp Ich habe es mit Briefen zu tun. Der Basistyp char wird verwendet, um ein Zeichen zu behandeln.
Datentyp | Größe | Wertebereich |
---|---|---|
char | 2byte | 2-Byte-Zeichencode |
Boule-Typ (Boolescher Typ) Wir haben es mit logischen Authentizitätsinformationen zu tun. Enthält entweder wahr oder falsch.
Datentyp | Größe | Wertebereich |
---|---|---|
boolean | 1bit | richtig oder falsch |
Es ist in diese vier klassifiziert. Ein weiteres Merkmal des Basistyps ist, dass die Variable selbst einen Wert enthält.
Grundsätzlich andere Typen als die oben genannten String Array Klasse Ist gezielt. Im Gegensatz zum Basistyp enthält dieser nicht den Wert in der Variablen selbst, sondern den Ort, an dem er gespeichert ist. Ich denke, es ist einfach, sich die Referenztyp-Analogie als Array vorzustellen https://www.javadrive.jp/start/array/index3.html Folgen wir dem Code im obigen Link.
class Main{
public static void main(String args[]){
int n[];
int m[];
n = new int[2];
System.out.println(n);
n[0] = 10;
m = n;
System.out.println(m);
System.out.println("n[0] = " + n[0]);
System.out.println("m[0] = " + m[0]);
}
}
Wenn du rennst
[I@69379752
[I@69379752
n[0] = 10
m[0] = 10
Es wird angezeigt. Die Stelle, an der der Referenztyp angezeigt wird, wird in den beiden oberen Bereichen angezeigt. Die Tatsache, dass sie gleich sind, bedeutet, dass sie dasselbe betrachten, also betrachten n und m dasselbe Array.
Das ist alles für den Basistyp und den Referenztyp. Als nächstes werde ich die Besetzung beschreiben.
Diese Datentypen können auch konvertiert und übergeben werden. Ich habe es tatsächlich beschrieben und gesehen.
int i = 30;
System.out.println(i);
Mit der obigen Beschreibung
30
Wird angezeigt,
int i = 30;
System.out.println((double)i);
Bei Ausführung mit
30.0
Es wird sein. Da der Integer-Typ einen Dezimalpunkt hat, wurde er in einen Gleitkomma-Typ (double) geändert.
Beachten Sie jedoch, dass einige Fälle nicht konvertiert werden können.
class Main{
public static void main(String args[]){
String str = "Brief";
System.out.println((int)str);
}
}
Wenn du rennst
Error:Inkompatibler Typ:String kann nicht in int konvertiert werden:
System.out.println((int)str);
^
Es wird angezeigt. Es ist grundsätzlich nicht möglich, einen Referenztyp zu einem Basistyp zu machen.
In Bezug auf den numerischen Typ hängt es auch mit der Größenbeziehung zusammen.
class Main{
public static void main(String args[]){
int i = 2147483647; //Maximalwert von int
System.out.println(i);
i += 1;
System.out.println(i);
}
}
Wenn du rennst
2147483647
-2147483648
Und übergelaufen, weil der Maximalwert von int überschritten wurde. Es
class Main{
public static void main(String args[]){
int i = 2147483647; //Maximalwert von int
System.out.println(i);
System.out.println((long)i + 1);
}
}
Hier werde ich gegossen, um es zu einem Long zu machen, der viele Zahlen enthält, und dann wird 1 hinzugefügt. Wenn du das machst
2147483647
2147483648
1 kann ohne Überlaufen wie hinzugefügt werden.
Dies kann auch plötzlich zu einem unbeabsichtigten Fehler führen, daher werde ich ihn auch hier erläutern. Wenn ich den Typ des Bytes oder Kurzschlusses berechne, wird es plötzlich zum Typ int.
class Main{
public static void main(String args[]){
byte b1 = 10;
byte b2 = 10;
byte kekka = b1 * b2;
System.out.println(kekka);
}
}
test.java:8:Error:Inkompatibler Typ:Int-zu-Byte-Konvertierung, die an Genauigkeit verlieren kann
byte kekka = b1 * b2;
^
Insbesondere im Code tritt ein Fehler bei der Konvertierung von int in Byte auf, obwohl es keine Beschreibung wie die Konvertierung in int gibt. Ändern wir den Typ der Kekka-Variablen, die wir erhalten, in int, um festzustellen, ob sich der Typ wirklich geändert hat.
class Main{
public static void main(String args[]){
byte b1 = 10;
byte b2 = 10;
int kekka = b1 * b2;
System.out.println(kekka);
}
}
100
Ich konnte ausgeben. Ich habe mit Byte und Byte berechnet, aber Sie können sehen, dass das Ergebnis int ist. Seien Sie vorsichtig, wenn Sie die Nummern erhalten.
Dieser Artikel befasst sich viel mit Schimmelpilzen. Typen sind immer in Java-Beschreibungen enthalten, daher möchte ich sicherstellen, dass Sie sie verstehen.
Recommended Posts