Hallo. Dieser Artikel ist ein zusammenfassender Artikel über Variablen und Typen für "Personen, die Java starten" und "Personen, die nach langer Zeit neu in Java sind".
Es erklärt nicht die Programmierung selbst, wie z. B. welche Variablen es sind, daher ist es möglicherweise nicht für Anfänger geeignet.
Die folgenden Artikel werden als einführende Java-Reihe vorbereitet.
--Variationen und Typen ← Jetzt hier
Obwohl das Konzept der Typinferenz von JDK10 eingeführt wurde Ich denke, Java ist im Grunde eine statisch typisierte Sprache Beschreibt den Typ.
Die Formen sind grob geteilt Es gibt zwei Typen: Basistyp (primitiver Typ) und Referenztyp (Klassentyp).
Es gibt vier Typen: Ganzzahl, Minderheitsbewertung, Boolescher Wert und Zeichen. Im Gegensatz zur Sprache c gibt es kein vorzeichenloses (kein Minus).
Je nach Größe gibt es vier Typen.
Schimmel | Größe | Wertebereich |
---|---|---|
byte | 8 Bits | -128〜127 |
short | 16 Bit | -32768~32767 |
int | 32 Bit | -2147483648~2147483647 |
long | 64-Bit | -9223372036854775808~9223372036854775807 |
Mein Eindruck ist
Verwenden Sie grundsätzlich int, und wenn die Größe nicht ausreicht, verwenden Sie long. Byte wird als Array-Typ verwendet, wenn Binärdaten aus einer Datei oder dergleichen gelesen werden. Ich benutze Short überhaupt nicht.
Es ist geworden. (Wenn jemand so etwas wie Best Practice kennt, lass es mich wissen.)
Wenn der Wertebereich überschritten wird, wird der Wert invertiert.
int test = 2147483647;
System.out.println(test); // -> 2147483647
test++;
System.out.println(test); // -> -2147483648
test--;
System.out.println(test); // -> 2147483647
Je nach Größe gibt es auch zwei Typen.
Schimmel | Größe | Wertebereich |
---|---|---|
float | 32 Bit | ±3.40282347E+38 ~ ±1.40239846E-45 |
double | 64-Bit | ±1.79769313486231570E+308 ~ ±4.94065645841246544E-324 |
Es wird verwendet, wenn Werte nach dem Dezimalpunkt behandelt werden, z. B. Division. Beim Integer-Typ wird der Teil nach dem Dezimalpunkt abgeschnitten, z. B. beim Teilen.
int a = 5, b = 3, c = 0;
c = a / b;
System.out.println(c);
// ->"1" wird ausgegeben.
float a = 5, b = 3, c = 0;
c = a / b;
System.out.println(c);
// -> 「1.6666666 "wird ausgegeben.
double a = 5, b = 3, c = 0;
c = a / b;
System.out.println(c);
// -> 「1.6666666666666667 "wird ausgegeben.
Ein Typ, der nur wahr oder falsch enthalten kann.
boolean a = true, b = false;
boolean c = a == b;
System.out.println(c); // ->"False" wird ausgegeben
Ein Typ, der Zeichen verarbeitet. Verwenden Sie ein Array, wenn Sie es als Zeichenfolge behandeln.
char a = 'a', b = 'b';
System.out.println(a); // ->Ausgabe als "a"
System.out.println(b); // ->Ausgabe als "b"
char[] str = {'a', 'b', 'c'};
System.out.println(str); // ->"Abc" wird ausgegeben
Der Variablentyp, in dem eine Instanz (Entität) einer Klasse gespeichert ist, wird als Referenztyp (Klassentyp) bezeichnet.
Was wird als Referenztyp bezeichnet Es enthält nicht den Wert selbst, sondern den Ort, an dem sich der Wert befindet.
Das Kopieren einer Referenztypvariablen bedeutet also Anstatt den Wert selbst zu kopieren Bitte beachten Sie, dass dies bedeutet, dass die Informationen des Ortes kopiert werden, an dem der Wert platziert wird.
Das folgende Programm kopiert die Referenztypvariable und dann Der Wert wird mithilfe der Kopierzielvariablen neu geschrieben.
public class Test {
public int value = 0;
}
public class Main {
public static void main(String[] args) {
Test x = new Test();
x.value = 5;
Test y = new Test();
y.value = 5;
System.out.println(x.value); // ->Ausgabe als "5"
System.out.println(y.value); // ->Ausgabe als "5"
x = y;
x.value = 10;
System.out.println(x.value); // ->Ausgabe als "10"
System.out.println(y.value); // ->Ausgabe als "10"
}
}
x = y; Was also in die Variable x kopiert wurde, ist die "Information, wo der Wert platziert wird" in der Variablen y, also Die Variablen x und y enthalten Informationen an derselben Stelle. Deshalb, Wenn Sie den Wert mit der Variablen x neu schreiben, wird auch der Wert geändert, auf den die Variable y zeigt.
Der "Ort" hier ist ein Ort im Speicherplatz. Es ist ein Bild ähnlich einem C-Sprachzeiger (obwohl es nicht genau dasselbe ist)
Java hat standardmäßig verschiedene Klassen, Es gibt eine Wrapper-Klasse, die den obigen Basistyp (primitiven Typ) umschließt.
Zum Beispiel Integer-Klasse und String-Klasse.
Die Integer-Klasse ist eine Klasse, die Zahlen verarbeitet Wie beim Typ int können Sie die Zuweisung, die Operation mit vier Regeln, die Vergleichsoperation usw. verwenden.
class Main {
public static void main(String[] args) {
int a = 5;
Integer b = 3;
int c = a * b;
int d = b;
System.out.println(c); // ->"15" wird ausgegeben
System.out.println(a == b); // ->"False" wird ausgegeben
System.out.println(d); // ->"3" wird ausgegeben
}
}
Die String-Klasse ist eine Klasse, die Strings verarbeitet Verschiedene Funktionen für Zeichenketten wie das Kombinieren und Vergleichen von Zeichen sind implementiert.
class Main {
public static void main(String[] args) {
String a = "a";
String b = "b";
String c = a + b;
String d = b;
System.out.println(c); // ->"Ab" wird ausgegeben
System.out.println(c.length()); // ->"2" wird ausgegeben
System.out.println(a.equals(b)); // ->"False" wird ausgegeben
System.out.println(b.equals(d)); // ->"True" wird ausgegeben
}
}
class Main {
public static void main(String[] args) {
Integer i = 5;
Integer j = 6;
System.out.println(i); // ->"5" wird ausgegeben
System.out.println(j); // ->"6" wird ausgegeben
j = i;
j = 7;
System.out.println(i); // ->"5" wird ausgegeben
System.out.println(j); // ->"7" wird ausgegeben
String a = "a";
String b = "b";
System.out.println(a); // ->Ausgabe als "a"
System.out.println(b); // ->Ausgabe als "b"
b = a;
b = "B";
System.out.println(a); // ->Ausgabe als "a"
System.out.println(b); // ->Ausgabe als "B"
}
}
In Java wird es in Form von "Typname Variablenname" deklariert.
Lassen Sie zwischen dem Typnamen und dem Variablennamen ein Leerzeichen oder ein Tabulatorzeichen.
Sie können Variablen desselben Typs auch durch Kommas getrennt deklarieren.
int a;
int b;
int c, d, e;
In Bezug auf Arrays plane ich, einen separaten Artikel mit dem Titel "Manipulieren von Arrays" zu schreiben.
In Java können Variablen in Form von "Typname Variablenname = Wert" initialisiert werden.
int a = 5;
int b = 10;
int c = 5, d, e;
Abhängig von der Programmiersprache Es kann eine Einschränkung geben, dass sich die Variablendeklaration nur am Anfang des Verarbeitungsblocks befindet. Sie können es überall in Java deklarieren.
class Main {
public static void main(String[] args) {
int n = 5;
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
String msg = "";
for (int i = 0; i < 5; i++) {
msg += i;
}
System.out.println(msg);
}
}
Alphabete, Zahlen, Unterstriche, $ Es wird sein.
Groß- und Kleinschreibung werden als unterschiedliche Zeichen behandelt.
class Main {
public static void main(String[] args) {
String name = "name";
String Name = "Name";
System.out.println(name + Name); // ->"Name Name" wird ausgegeben
}
}
Fügen Sie am Anfang ein Alphabet hinzu.
Nach einer Reservierung sind dies Schlüsselwörter zum Schreiben von Java-Programmen wie if und class. Weitere Informationen finden Sie in der Oracle-Dokumentation (https://docs.oracle.com/javase/specs/jls/se11/html/jls-3.html#jls-3.9).
Die angegebenen Konstanten sind null, wahr, falsch. Diese können auch nicht als Variablennamen verwendet werden.
Wie waren Javas Variablen und Typen?
Bis vor einiger Zeit Sprachen, die keine Typen schreiben, wie Ruby und Javascript Ich denke, dass das Verdienst, schnell und ohne Schimmel schreiben zu können, großartig war, aber
Vor kurzem (2020/05) denke ich, dass der Bedarf an Typen mit dem Aufkommen von Typoskripten überprüft wurde.
Ende.
Recommended Posts