Maison  >  Article  >  Java  >  Introduction aux types de données de base et aux types de données de référence en Java

Introduction aux types de données de base et aux types de données de référence en Java

王林
王林avant
2019-11-30 15:43:412268parcourir

Introduction aux types de données de base et aux types de données de référence en Java

1. Types de données de base

byte : Le plus petit type de données en Java, occupant 8 bits en mémoire, soit 1 octet. , la plage de valeurs est -128~127, la valeur par défaut est 0

short : entier court, occupe 16 bits en mémoire, soit 2 octets, la plage de valeurs est -32768~ 32717, par défaut valeur 0

int : entier, utilisé pour stocker les entiers, occupe 32 bits en mémoire, soit 4 octets, plage de valeurs -2147483648~2147483647, valeur par défaut 0

long : Type entier long, occupe 64 bits en mémoire, soit 8 octets -2^63~2^63-1, valeur par défaut 0L

float : Type à virgule flottante, occupant 32 bits en mémoire, c'est-à-dire 4 octets, utilisés pour stocker des nombres avec des points décimaux (la différence avec double est que le type float n'a que 6~7 décimales valides), la valeur par défaut est 0

double : Double précision type à virgule flottante, utilisé pour stocker des nombres avec des points décimaux, occupe 64 bits en mémoire, soit 8 octets, valeur par défaut 0

char : Type de caractère, utilisé pour stocker des caractères uniques, occupe 16 bits, c'est-à-dire 2 octets, la plage de valeurs est 0~65535, la valeur par défaut est vide

boolean : type booléen, occupe 1 octet, utilisé pour déterminer vrai ou faux (seulement deux valeurs, à savoir vrai, false), la valeur par défaut est false

Vidéos d'apprentissage connexes recommandées : Vidéo en ligne Java

2. Type de données de référence

Classe, type d'interface, type de tableau, type d'énumération, type d'annotation.

Différence :

Lorsque le type de données de base est créé, une mémoire lui est allouée sur la pile et la valeur est stockée directement sur la pile.

Lorsqu'un type de données référence est créé, sa référence (handle) doit d'abord se voir allouer un morceau de mémoire sur la pile, et les informations spécifiques de l'objet sont stockées sur la mémoire tas, puis la référence sur la pile pointe vers le tas. L'adresse de l'objet.

Par exemple, il existe une classe Person avec des attributs nom, âge et une méthode constructeur avec des paramètres

Person p = new Person("zhangsan",20);

Le processus de création spécifique en mémoire est :

1. Allouez d'abord un espace pour son p dans la mémoire de la pile

2. Allouez un espace pour l'objet Person dans la mémoire du tas et définissez les valeurs initiales ​​​​", 0 pour. ses trois attributs ;

3. Selon la définition des attributs dans la classe Person, attribuez des valeurs aux deux attributs de l'objet

4. attribue à "Tom", 20 ; (Notez que la connexion entre p et l'objet Person n'a pas été établie pour le moment

5. Attribuez l'adresse de l'objet Person dans la mémoire du tas à p dans le); pile, qui peut être trouvée en référençant (poignée) p Informations détaillées sur les objets dans le tas.

Connaissances associées :

Zone statique : Enregistrez les variables globales automatiques et les variables statiques (y compris les variables globales et locales statiques). Le contenu de la zone statique existe tout au long du cycle de vie du programme et est alloué par le compilateur lors de la compilation.

Zone du tas : généralement allouée et libérée par les programmeurs, mémoire allouée par les fonctions de la série malloc ou le nouvel opérateur, son cycle de vie est déterminé par la libération ou la suppression. Il existe jusqu'à la fin du programme et est publié par le système d'exploitation. Il se caractérise par une utilisation flexible et un espace relativement grand, mais il est sujet aux erreurs.

Zone de pile : automatiquement allouée et libérée par le compilateur pour enregistrer les variables locales. Le contenu de la pile n'existe que dans le cadre de la fonction. Lorsque la fonction se termine, ce contenu sera également automatiquement détruit. caractérisé par une efficacité élevée, mais l'espace est limité.

Zone constante littérale : les chaînes constantes sont placées ici. Il est libéré par le système une fois le programme terminé.

Pour plus d'articles et de didacticiels connexes, veuillez visiter : Introduction à la programmation Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer