Ich studiere Java und schreibe einen Artikel, um das Gelernte auszugeben und Wissen aufzubauen. Ich werde das Gelernte wie folgt separat beschreiben.
Das Definieren von Variablen in Java erfordert die folgenden zwei Schritte:
Beispiel:
int number;
int ist der Datentyp, der eine Zahl darstellt, und number ist der Variablenname.
Im obigen Beispiel ist die Variablennummer vom Typ int definiert.String text;
Zeichenfolge ist ein Datentyp, der eine Zeichenfolge darstellt, und der erste Buchstabe wird groß geschrieben. Text ist der Variablenname.
Im obigen Beispiel wird ein Variablentext vom Typ String definiert.Fügen Sie wie bei 1 und 2 am Ende des Satzes ein Semikolon hinzu.
・ Das erste Zeichen ist Alphabet Groß- / Kleinbuchstaben, $, _ usw. Symbole
・ Der Fall wird streng unterschieden.
・ Nach dem zweiten Zeichen können Zahlen verwendet werden.
-Die Anzahl der Zeichen (Länge) ist unbegrenzt.
-Null, true, false kann nicht verwendet werden.
・ Reservierte Wörter können nicht verwendet werden. Reservierte Wörter sind Namen, die bereits in der Java-Sprache verwendet werden. Beispiel: if, while, switch, etc.
Wie im folgenden Beispiel gezeigt, wird das Zuweisen eines Werts gleichzeitig mit dem Definieren einer Variablen als Variableninitialisierung bezeichnet. Beispiel:
int number = 3;
Im obigen Beispiel wird die Variablennummer vom Typ int definiert und die Nummer 3 zugewiesen.String text =" Zeichen ";
Im obigen Beispiel wird ein variabler Text vom Typ String definiert und das "Zeichen" der Zeichenfolge zugewiesen.Die Typen werden in der obigen Erläuterung erwähnt, aber die Typen werden auch nach der Art des Werts unterteilt. Abhängig vom Datenbereich, der verarbeitet werden kann, gibt es Datentypen. Je größer der Datenbereich ist, desto mehr Speicher wird verbraucht. Stellen Sie sicher, dass Sie den entsprechenden Datentyp entsprechend der zu verarbeitenden Datenmenge und der Speichermenge auswählen.
Datentyp | Größe | Wertebereich |
---|---|---|
byte | 1byte | -Ganzzahliger Wert von 128 bis 127 |
char | 1byte | '\u0000'Von'\uffff'Ein ganzzahliger Wert bis zu. (Dies ist 0 bis 65535) |
short | 1byte | -Ein ganzzahliger Wert von 32768 bis 32767 |
int | 1byte | -Ein ganzzahliger Wert von 2147483648 bis 2147483647. |
long | 1byte | -Ein ganzzahliger Wert von 9223372036854775808 bis 9223372036854775807. |
Datentyp | Größe | Wertebereich |
---|---|---|
float | 4byte | 32-Bit-Dezimalpunkt mit einfacher Genauigkeit |
double | 8byte | 63-Bit-Dezimalpunkt mit einfacher Genauigkeit |
Datentyp | Größe | Wertebereich |
---|---|---|
boolean | 1bit | Ein Wert, der entweder wahr oder falsch ist. |
Es gibt vier Referenztypen: Klassentyp, Schnittstellentyp, Typvariable und Array-Typ. Daten vom Klassentyp und vom Schnittstellentyp geben die Position des Objekts an, und Daten vom Array-Typ geben die Position des Array-Objekts an. Der Unterschied zum Basistyp besteht darin, dass der Basistyp die Daten selbst darstellt, während der Referenztyp den Speicherort der Daten angibt. Einfach ausgedrückt repräsentiert der Basistyp das Haus selbst und der Referenztyp die Adresse des Hauses.
Beispiel:
Main.java
class Main{
public static void main(String args[]){
int a[] = {1};
int b[] = a; //Wobei b den gleichen Referenzwert wie a hat
System.out.println(a[0]); //a und b haben das gleiche Ausgabeergebnis
System.out.println(b[0]);
b[0] = 5; //Der referenzierte Wert wird aktualisiert
System.out.println(a[0]); //a und b haben das gleiche Ausgabeergebnis
System.out.println(b[0]);
}
}
Ausführungsergebnis ↓
1
1
5
5
Im obigen Beispiel sehen a und b dieselbe Referenz durch den Code "int b [] = a;". Bis sich der Referenzwert mit dem Code "b [0] = 5;" in der 5. Zeile ändert, beziehen sich beide auf "1", aber nachdem der Referenzwert auf "5" aktualisiert wurde. Bezieht sich auf "5".
Das Durchführen einer Konvertierung mit variablem Typ wird als Casting bezeichnet. Variablen, die ursprünglich vom Typ int waren, können in long type geändert werden und umgekehrt. Bei der Berechnung der Multiplikation usw. kann dies nur mit demselben Datentyp erfolgen. Konvertieren Sie verschiedene Typen in denselben Typ. Es gibt zwei Arten von Java-Typkonvertierungsmethoden: die automatische Konvertierungsmethode und die manuelle Konvertierungsmethode. Wenn Sie den String-Typ und den int-Typ hinzufügen, wird der int-Typ automatisch in den String-Typ konvertiert.
Beispiel:
test.java
System.out.printIn("Apfel" + "5" + "Es gibt");
→ Umgerechnet in "Äpfel" + "5" + "Es gibt"
Es gibt 5 Äpfel.
Wird ausgegeben.
Selbst wenn Sie viele Berechnungen mit dem Integer-Typ int durchführen, ist das Berechnungsergebnis der numerische Typ. Beispiel:
test.java
System.out.printIn(5/2);
↓
2
Eigentlich ist 2.5 die richtige Antwort, aber da 2.5 ein doppelter Typ ist, kann er nicht zwischen int-Typen berechnet werden. Wenn Sie möchten, dass das Berechnungsergebnis von 5/2 2,5 beträgt,
Main.java
System.out.printIn(5.0/2);
Wird besorgt. Dies liegt daran, dass das Berechnungsergebnis von int type und double type double type ist (wenn one double ist, ist das Ergebnis double). Auf diese Weise wird die Ganzzahl durch eine Minderheit dargestellt, wenn das Berechnungsergebnis durch eine schwebende Minderheit dargestellt wird.
Cast, wenn Sie einen genauen Wert in der Berechnung zwischen int-Typen erhalten möchten.
Main.java
int number1 = 13;
int number2 = 4;
System.out.printIn((double)number1/number2);
↓
3.25
** Das Umwandeln von einem großen in einen kleinen Typ kann zu Datenverlust führen. ** ** ** Beachten Sie den ursprünglichen Datenbereich des Basistyps und den Datenbereich des gegossenen Basistyps.
Main.java
public class Main {
public static void main(String[] args) {
double doubleMax = Double.MAX_VALUE;
int result = (int) doubleMax; //Wandeln Sie den Maximalwert von double in int type um und weisen Sie ihn dem Ergebnis der Variablen int type zu
System.out.println(doubleMax);
System.out.println(result);
}
}
Ausführungsergebnis ↓
1.7976931348623157E308
2147483647
Es verursacht keinen Fehler, aber der Maximalwert des Doppeltyps wird durch den Maximalwert des Int-Typs ersetzt, bei dem es sich um einen unbeabsichtigten Wert handelt.
Es gibt auch eine Aktion für die Typkonvertierung. Die Heraufstufung ist ein Mechanismus, der den Wert bei der Berechnung des Werts automatisch in einen breiteren Typ umwandelt. Wenn Sie beispielsweise eine Anzahl von Typ Long berechnen, wird der Typ des anderen Werts automatisch in Long konvertiert.
Berechnen Sie die Byte-Typ-Variable a und die Long-Typ-Variable b. Ein Fehler tritt auch dann auf, wenn Sie versuchen, das Ergebnis mit der Antwort "Byte-Typvariable" zu erhalten.
Main.java
class Main{
public static void main(String args[]){
byte a = 10;
long b = 20000;
byte answer = a * b;
System.out.println(answer);
}
}
Ausführungsergebnis ↓
//Type mismatch: cannot convert from long to byte
Um das richtige Ergebnis zu erhalten, ändern Sie den Typ der variablen Antwort, die das Ergebnis empfängt, von Byte in Long.
Main.java
class Main{
public static void main(String args[]){
byte a = 10;
long b = 20000;
long answer = a * b;
System.out.println(answer);
}
}
Ausführungsergebnis ↓
200000
Wenn keiner der beiden Typen ein langer Typ ist, werden die Werte für Bytetyp, kurzen Typ und Zeichentyp in den Typ int konvertiert.
Wenn einer ein Float und der andere kein Double ist, wird der andere Wert in einen Float konvertiert.
Main.java
class Main{
public static void main(String args[]){
byte a = 10;
float b = 0.83f;
byte answer = a * b;
System.out.println(answer);
}
}
Ausführungsergebnis ↓
//Type mismatch: cannot convert from float to byte
Main.java
class Main{
public static void main(String args[]){
byte a = 10;
float b = 0.83f;
float answer = a * b;
System.out.println(answer);
}
}
Ausführungsergebnis ↓
8.3
Wenn Sie das Berechnungsergebnis in Bytes umwandeln, tritt alternativ kein Fehler auf. In diesem Fall werden jedoch die Ziffern nach dem Dezimalpunkt weggelassen, sodass es sich nicht um eine genaue Antwort handelt.
Main.java
class Main{
public static void main(String args[]){
byte a = 10;
float b = 0.83f;
byte answer = (byte)(a * b);
System.out.println(answer);
}
}
Ausführungsergebnis ↓
8
Wenn Sie mit Char-Typ oder Byte-Typ ohne Heraufstufung rechnen, ist die Antwort überwältigend und die Antwort nicht korrekt. Wenn Sie die Berechnung nicht zwischen Bytes umwandeln, tritt ein Fehler auf.
Main.java
class Main{
public static void main(String args[]){
byte a = 1;
byte b = 2;
byte answer = a * b;
System.out.println(answer);
}
}
Ausführungsergebnis ↓
//Type mismatch: cannot convert from int to byte Java
Um das richtige Ergebnis zu erhalten, ändern Sie den Typ der variablen Antwort, die das Ergebnis empfängt, von Byte in Int.
Main.java
class Main{
public static void main(String args[]){
byte a = 1;
byte b = 2;
int answer = a * b;
System.out.println(answer);
}
}
Ausführungsergebnis ↓
2
Wenn Sie das Ergebnis in Bytes erhalten möchten, wandeln Sie das Berechnungsergebnis in Byte um.
Main.java
class Main{
public static void main(String args[]){
byte a = 1;
byte b = 2;
byte answer = (byte)(a * b);
System.out.println(answer);
}
}
Ausführungsergebnis ↓
2
Wie Sie sehen können, tritt in Java ein Fehler an einer unerwarteten Stelle auf, wenn Sie den Typ nicht beachten. Seien Sie also vorsichtig.
Recommended Posts