[JAVA] Type de données de base et type de référence

Que sont les variables de type de données de base?

Une variable qui contient la valeur elle-même à l'intérieur de la variable

Zone d'utilisation de la mémoire de la variable de type de données de base

Les types de données de base sont les huit types suivants.

type Nombre de bits La description
boolean 1bit true or false
byte 8bit Entier signé-128~127
char 16bit Un caractère d'Unicode
short 16bit Entier signé-32768~32767
int 32bit Entier signé-2147483648~2147483647
long 64bit Entier signé environ-922 Kyo-environ 922 Kyo
float 32bit Nombre à virgule flottante
double 64bit Nombre à virgule flottante

Les variables de type de données de base allouent la zone de mémoire requise une fois définies. La valeur est attribuée et conservée telle quelle dans la zone de mémoire sécurisée.

Supposons que vous exécutiez le code suivant.

Type de données de base


int x = 10;
int y = x;
y = 20;
System.out.println(x);
System.out.println(y);

La sortie est la suivante.

production


10
20

De cette manière, la valeur elle-même de la variable du type de données de base est stockée dans la variable. Par conséquent, le contenu de «y» passe de 10 à 20, et 20 est finalement sorti.

Qu'est-ce qu'une variable de type référence?

Une variable qui contient l'emplacement (adresse mémoire) où la valeur est stockée, plutôt que de stocker la valeur elle-même. Contrairement au type de données de base, si vous ne savez pas quelle valeur sera attribuée, vous ne savez pas quelle zone de mémoire doit être réservée. De plus, la zone mémoire autrefois réservée à la variable dans la mémoire ne peut pas être modifiée de manière significative ultérieurement. Par conséquent, ces variables de référence reçoivent un code qui indique l'emplacement des valeurs créées dans d'autres parties de la mémoire. Le code qui indique cet emplacement est appelé la valeur de référence.

Supposons que vous exécutiez le code suivant.

Type de référence


int a[] = { 1,2,3 };
int b[] = a;
b[0] = 2;
System.out.println(a[0]);

La sortie est la suivante.

production


2

C'est une partie caractéristique du comportement des variables de référence. Puisque le code stocké dans «b []» indique l'emplacement de «a []», changer le contenu de «b []» change le contenu de «a []» en même temps. Va finir.

Articles référencés

https://nobuo-create.net/sanshougata/

Recommended Posts

Type de données de base et type de référence
Types de données de base et types de référence (Java)
Types de données de base et types de référence Java
A propos du type de données de base Java et de la mémoire du type de référence
[Java] Type de données ①-Type de base
Ressentez facilement le type de base et le type de référence avec ruby
Ressentez facilement le type de base et le type de référence avec ruby 2
Différence entre le type primitif et le type de référence
[Java] Différence entre l’affectation d’une variable de type de base et l’affectation d’une variable de type de référence
[Traitement × Java] Type de données et programmation orientée objet
Revue Java ③ (utilisation de base des tableaux / type de référence)
Types de données de base Java
Opérateurs et opérations de base
Déclaration / initialisation de variable Java / type de données (distribution et promotion)
Upcast et super type / sous-type
Obtenez des données de type horodatage en tronquant les heures, les minutes et les secondes
Tableau de référence rapide des types de colonnes
Poney et fermeture de capacité de référence
Programmation Java (variables et données)
Ajout de la création du type de référence des rails
Présentation de JavaScript et syntaxe de base
Méthodes et classes Ruby (basiques)
[Introduction à Java] À propos des variables et des types (déclaration de variable, initialisation, type de données)
[Java] Types de base et notes d'instructions
Mécanisme de référence Java (pile et tas)
[PHP] Patrons d'héritage, protégés et de référence
[Java] Type de données / produit matriciel (produit matriciel AOJ ⑧)
Java passe par valeur et passe par référence
Qu'est-ce qu'une variable de type référence?
Liaison de données avec Spark et Cassandra
TCP: principes de base et architecture d'application
A propos des types primitifs et des types de référence Java
[Java] Types d'exception et traitement de base
Comparaison entre Java et Swift (2) Type de base / Arithmétique / Syntaxe de contrôle / Définition de fonction