Bonjour. Cet article est un article récapitulatif sur les variables et les types pour "les personnes qui commencent Java" et "les personnes qui ne connaissent pas Java après une longue période".
Il n'explique pas la programmation elle-même, comme ce que sont les variables, il peut donc ne pas convenir aux débutants.
Les articles suivants sont en cours de préparation en tant que série d’introduction à Java.
--Variations et types ← Maintenant ici
Bien que le concept d'inférence de type ait été introduit à partir de JDK10 Je pense que Java est fondamentalement un langage typé statiquement Décrit le type.
Les moules sont grossièrement divisés Il existe deux types: le type de base (type primitif) et le type de référence (type de classe).
Il existe quatre types: entier, score minoritaire, booléen et caractère. Contrairement au langage C, il n'y a pas de non signé (pas de moins).
Il existe quatre types selon la taille.
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 |
Mon impression est
En gros, utilisez int, et si la taille n'est pas suffisante, utilisez long. byte est utilisé comme type de tableau lors de la lecture de données binaires à partir d'un fichier ou autre. Je n'utilise pas du tout de short.
Il est devenu. (Si quelqu'un connaît quelque chose comme les meilleures pratiques, merci de me le faire savoir)
Si la plage de valeurs est dépassée, la valeur sera inversée.
int test = 2147483647;
System.out.println(test); // -> 2147483647
test++;
System.out.println(test); // -> -2147483648
test--;
System.out.println(test); // -> 2147483647
Il existe également deux types en fonction de la taille.
Moule | Taille | Gamme de valeurs |
---|---|---|
float | 32 bits | ±3.40282347E+38 ~ ±1.40239846E-45 |
double | 64 bits | ±1.79769313486231570E+308 ~ ±4.94065645841246544E-324 |
Il est utilisé lorsqu'il s'agit de valeurs après la virgule décimale, comme la division. Dans le type entier, la partie après la virgule décimale est tronquée, par exemple lors de la division.
int a = 5, b = 3, c = 0;
c = a / b;
System.out.println(c);
// ->"1" est émis.
float a = 5, b = 3, c = 0;
c = a / b;
System.out.println(c);
// -> 「1.6666666 "est émis.
double a = 5, b = 3, c = 0;
c = a / b;
System.out.println(c);
// -> 「1.6666666666666667 "est sorti.
Un type qui ne peut contenir que vrai ou faux.
boolean a = true, b = false;
boolean c = a == b;
System.out.println(c); // ->"False" est affiché
Un type qui gère les caractères. Utilisez un tableau lorsque vous le manipulez comme une chaîne de caractères.
char a = 'a', b = 'b';
System.out.println(a); // ->Sortie comme "a"
System.out.println(b); // ->Sortie comme "b"
char[] str = {'a', 'b', 'c'};
System.out.println(str); // ->"Abc" est sorti
Le type de variable qui stocke une instance (entité) d'une classe est appelé un type de référence (type de classe).
Ce qu'on appelle un type de référence Il ne contient pas la valeur elle-même, il contient où se trouve la valeur.
Donc, copier une variable de type référence signifie Au lieu de copier la valeur elle-même Veuillez noter que cela signifie copier les informations de l'endroit où la valeur est placée.
Le programme ci-dessous copie la variable de type de référence puis La valeur est réécrite à l'aide de la variable de destination de copie.
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); // ->Sortie comme "5"
System.out.println(y.value); // ->Sortie comme "5"
x = y;
x.value = 10;
System.out.println(x.value); // ->Sortie en tant que "10"
System.out.println(y.value); // ->Sortie en tant que "10"
}
}
x = y; Donc, ce qui a été copié dans la variable x est "l'information de l'endroit où la valeur est placée" dans la variable y, Les variables x et y contiennent des informations au même emplacement. Donc, Si vous réécrivez la valeur à l'aide de la variable x, la valeur pointée par la variable y sera également modifiée.
L '«emplacement» ici est un emplacement dans l'espace mémoire. C'est une image similaire à un pointeur en langage C (bien que ce ne soit pas exactement la même chose)
Java a plusieurs classes en standard, Il existe une classe wrapper qui encapsule le type de base ci-dessus (type primitif).
Par exemple, la classe Integer et la classe String.
La classe Integer est une classe qui gère les nombres Comme pour le type int, vous pouvez utiliser l'affectation, l'opération à quatre règles, l'opération de comparaison, etc.
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" est sorti
System.out.println(a == b); // ->"False" est affiché
System.out.println(d); // ->"3" est émis
}
}
La classe String est une classe qui gère les chaînes Diverses fonctions pour les chaînes de caractères telles que la combinaison et la comparaison de caractères sont implémentées.
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" est sorti
System.out.println(c.length()); // ->"2" est émis
System.out.println(a.equals(b)); // ->"False" est affiché
System.out.println(b.equals(d)); // ->"True" est affiché
}
}
class Main {
public static void main(String[] args) {
Integer i = 5;
Integer j = 6;
System.out.println(i); // ->"5" est émis
System.out.println(j); // ->"6" est sorti
j = i;
j = 7;
System.out.println(i); // ->"5" est émis
System.out.println(j); // ->"7" est émis
String a = "a";
String b = "b";
System.out.println(a); // ->Sortie comme "a"
System.out.println(b); // ->Sortie comme "b"
b = a;
b = "B";
System.out.println(a); // ->Sortie comme "a"
System.out.println(b); // ->Sortie en tant que "B"
}
}
En Java, il est déclaré sous la forme de "nom de variable de type nom".
Laissez un espace ou une tabulation entre le nom du type et le nom de la variable.
Vous pouvez également déclarer des variables du même type séparées par des virgules.
int a;
int b;
int c, d, e;
En ce qui concerne les tableaux, je prévois d'écrire un article séparé intitulé "Fonctionnement des tableaux".
En Java, les variables peuvent être initialisées sous la forme de "nom de type variable nom = valeur".
int a = 5;
int b = 10;
int c = 5, d, e;
En fonction du langage de programmation Il peut y avoir une restriction selon laquelle la déclaration de variable ne se trouve qu'au début du bloc de traitement, Vous pouvez le déclarer n'importe où en Java.
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);
}
}
Alphabets, nombres, barres inférieures, $ Ce sera.
Les majuscules et les minuscules sont traitées comme des caractères différents.
class Main {
public static void main(String[] args) {
String name = "name";
String Name = "Name";
System.out.println(name + Name); // ->"Nom Nom" est sorti
}
}
Ajoutez un alphabet au début.
Après avoir effectué une réservation, ce sont des mots-clés pour écrire des programmes Java tels que if et class. Consultez la documentation Oracle (https://docs.oracle.com/javase/specs/jls/se11/html/jls-3.html#jls-3.9).
Les constantes fournies sont nulles, vraies, fausses. Ceux-ci ne peuvent pas non plus être utilisés comme noms de variables.
Comment étaient les variables et les types de Java?
Jusqu'à il y a quelque temps, les langages qui n'écrivaient pas de types tels que ruby et javascript Je pense que le mérite de pouvoir écrire rapidement sans moule était génial, mais
Récemment (2020/05), je pense que le besoin de types a été revu avec l'émergence des typographies.
fin.
Recommended Posts