Pour ceux qui viennent de commencer à apprendre la programmation, y compris le langage Java, et ceux qui l'ont déjà appris, pour examen J'écris pour apprendre la déclaration de variable, l'initialisation et les types de données.
[Introduction à Java] Cette fois, il s'agit ** de variables et de types **.
・ Variables et types ← Maintenant ici ・ Conversion de type ・ Portée des variables
Qu'est-ce qu'une variable? ʻUn conteneur pour contenir les données utilisées dans le programme. ''
Pour le distinguer des autres variables
Dans le langage Java, les points suivants doivent être pris en compte lors de la déclaration de variables:
・ Quels types de valeurs sont stockées, telles que des nombres et des chaînes de caractères ・ Quel genre de nom dois-je utiliser? ・ Quelle est la première valeur à stocker?
Nom de la variable de type de données;
Doit être.
(Le type de données sera décrit plus tard)
Main.java
class Main {
public static void main(String args[]) {
//Déclaration des variables
int num;
//J'obtiens une erreur lorsque j'essaye de sortir
System.out.println(num); // The local variable num may not have been initialized
}
}
Cette erreur est une déclaration de variable mais non initialisée, Se produit car vous avez utilisé une variable pour laquelle aucune valeur n'est définie.
Après avoir créé nom de la variable de type de données;
Nom de la variable = valeur;
Doit être.
Main.java
class Main {
public static void main(String args[]) {
//Déclaration des variables
int num;
//Initialisation variable(Remplacez par 10 num)
num = 10;
//production
System.out.println(num); // 10
}
}
Nom de la variable de type de données = valeur;
Il est également possible de.
Main.java
class Main {
public static void main(String args[]) {
//Déclaration de variable et initialisation
int num = 10;
//production
System.out.println(num); // 10
}
}
・ Seuls les caractères suivants peuvent être utilisés comme premier caractère. Alphabet (a ~ z, A ~ Z), signe dollar ($), trait de soulignement (_)
・ Les nombres peuvent être utilisés après le deuxième caractère.
・ Le cas est strictement distingué.
-Il n'y a pas de limite sur le nombre de caractères (longueur).
-Null, true, false ne peuvent pas être utilisés.
・ Les mots réservés ne peuvent pas être utilisés.
Les mots réservés sont des noms déjà utilisés dans le langage Java. Exemple: if, while, switch, etc.
Détails sur les mots réservés: Document officiel
En Java, vous deviez «spécifier le type de données» lors de la déclaration d'une variable.
Les types de données sont grossièrement classés comme suit.
・ Type de données de base (type primitif)
・ Type de référence
Regardons chacun.
Moule | Taille | Gamme de valeurs |
---|---|---|
boolean | 1 bit | true/Soit faux |
Main.java
class Main {
public static void main(String args[]) {
boolean a = true;
boolean b = false;
System.out.println(a); // true
System.out.println(b); // false
}
}
Nous avons affaire à des données entières.
Moule | Taille | Gamme de valeurs |
---|---|---|
byte | 8 bits | -128〜127 |
short | 16 bits | -32768~32767 |
int | 32 bits | -2147483648~2147483647 |
long | 64 bits | -9223372036854775808~9223372036854775807 |
Main.java
System.out.println("Valeur minimale d'octet= " + Byte.MIN_VALUE); // Valeur minimale d'octet= -128
System.out.println("Valeur maximale d'octet= " + Byte.MAX_VALUE); // Valeur maximale d'octet= 127
System.out.println("Valeur minimale de short= " + Short.MIN_VALUE); // Valeur minimale de short= -32768
System.out.println("Valeur maximale de court= " + Short.MAX_VALUE); // Valeur maximale de court= 32767
System.out.println("Valeur minimale de int= " + Integer.MIN_VALUE); // Valeur minimale de int= -2147483648
System.out.println("Valeur maximale de int= " + Integer.MAX_VALUE); // Valeur maximale de int= 2147483647
System.out.println("Valeur minimale de long= " + Long.MIN_VALUE); // Valeur minimale de long= -9223372036854775808
System.out.println("Valeur maximale de long= " + Long.MAX_VALUE); // Valeur maximale de long= 9223372036854775807
La relation est byte <short <int <long
.
À propos, si les valeurs minimale et maximale sont dépassées, les valeurs seront inversées. (Chiffres débordants)
Main.java
System.out.println("Valeur minimale de l'octet précédent= " + Byte.MIN_VALUE); //Valeur minimale d'octet= -128
byte minByte = Byte.MIN_VALUE;
minByte--;
System.out.println("Et la valeur minimale d'octet= " + minByte); //Valeur minimale d'octet=127 ← inversé
System.out.println("Valeur maximale de l'octet précédent= " + Byte.MAX_VALUE); //Valeur maximale d'octet= 127
byte maxByte = Byte.MAX_VALUE;
maxByte++;
System.out.println("Et la valeur maximale d'octet= " + maxByte); //Valeur maximale d'octet= -128 ← inversé
Il est utilisé lors du calcul des entiers.
Main.java
int a = 1;
int b = 1;
int sum = a + b;
System.out.println(sum); // 3
Lors du stockage d'un entier dépassant le type int dans une variable, ajoutez "L" ou "l" à la fin.
Main.java
//J'obtiens une erreur
long longNumber = 214748364712342; // The literal 214748364712342 of type int is out of range
long longNumber = 214748364712342L; //Doit être suffixé avec "L" ou "l".
System.out.println(longNumber); // 214748364712342
Nous avons affaire à des données numériques comprenant des points décimaux.
Moule | Taille | Gamme de valeurs |
---|---|---|
float | 32 bits | ±1.40239846×10^-45~±3.40282347×10^38 |
double | 64 bits | ±4.94065645841246544×10^-324~±1.79769313486231570×10^308 |
Main.java
System.out.println("Valeur minimale du flotteur= " + Float.MIN_VALUE); // Valeur minimale du flotteur= 1.4E-45
System.out.println("Flotteur maximum= " + Float.MAX_VALUE); // Flotteur maximum= 3.4028235E38
System.out.println("Valeur minimale du double= " + Double.MIN_VALUE); // Valeur minimale du double= 4.9E-324
System.out.println("Valeur maximale du double= " + Double.MAX_VALUE); // Valeur maximale du double= 1.7976931348623157E308
Il est utilisé pour effectuer un petit nombre de calculs.
Main.java
//division de type int
int a = 10;
int b = 3;
int result1 = a / b;
System.out.println(result1); // 3
//Division de type flottant
//Les nombres à virgule flottante sont reconnus comme du type double par défaut
// float c = 10.0; // Type mismatch: cannot convert from double to float
float c = 10F; //Par conséquent, lors de l'affectation à une variable de type float, ajoutez F ou f à la fin.
float d = 3f; //Comme ci-dessus
float result2 = c / d;
System.out.println(result2); // 3.3333333
//Division de type double
double e = 10.0D; //Ajouter D ou d à la fin
double f = 3.0; //Cependant, comme mentionné ci-dessus, il est reconnu comme un type de dobule par défaut, il n'y a donc aucun problème si vous l'omettez.
double result3 = e / f;
System.out.println(result3); // 3.3333333333333335
Il est utilisé pour représenter un caractère.
Type de données | Taille | Gamme de valeurs |
---|---|---|
char | 16 bits | Code de caractère 16 bits |
Il est utilisé pour gérer un caractère.
Mettez entre guillemets simples. Ce doit être une lettre.
Main.java
//J'obtiens une erreur
char a = 'Ah'; // Invalid character constant
char a = "Ah"; // Type mismatch: cannot convert from String to char
char a = 'Ah';
System.out.println(a); //Ah
Tous les types à l'exception des types de données de base, y compris les classes, les tableaux, les interfaces, etc., sont des types de référence.
La variable ne contient pas la valeur elle-même, mais l'endroit où se trouve la valeur. Type de référence car il fait référence à l'endroit où il est stocké.
Test.java
public class Test {
public int number = 0;
}
Main.java
class Main {
public static void main(String args[]) {
Test test = new Test();
test.number = 10;
System.out.println(test.number); // 10
Test test2 = new Test();
test2.number = 10;
System.out.println(test2.number); // 10
test = test2; //La valeur de test2 n'est pas affectée au test, mais à l'endroit où la valeur de test2 est placée.
test.number = 99; //Par conséquent, si vous changez test à 99 ici, il sera changé en test2.
System.out.println(test.number); // 99
System.out.println(test2.number); // 99
}
}
test = test2; La valeur de test2 n'est pas affectée au test, mais l'endroit où la «valeur de test2 est placée» est affecté.
test.number = 99; Par conséquent, si vous changez test à 99, il sera changé en test2.
Une valeur du type de données de base peut être traitée comme un type de référence.
Bien qu'il s'agisse d'un type de référence, il est identique au type de données de base et sa valeur n'est pas modifiée. La valeur elle-même est attribuée, pas l'endroit où la valeur est placée.
Main.java
class Main {
public static void main(String args[]) {
Integer num = 10;
Integer num2 = 10;
System.out.println(num); // 10
System.out.println(num2); // 10
num = num2;
num = 99;
System.out.println(num); // 99
System.out.println(num2); // 10
String greet = "Bonjour";
String greet2 = "Bonjour";
System.out.println(greet); //Bonjour
System.out.println(greet2); //Bonjour
greet = greet2;
greet = "Good Morning";
System.out.println(greet); // Good Morning
System.out.println(greet2); //Bonjour
}
}
Vous avez découvert la déclaration de variable, l'initialisation et les types de données. La prochaine fois, je me pencherai sur la conversion de type.
Recommended Posts