[JAVA] Quand la valeur par défaut est-elle automatiquement saisie sans initialisation explicite?

Si vous n'initialisez pas explicitement, que la valeur initiale soit automatiquement saisie ou que la valeur indéfinie soit toujours saisie, un résumé des différences en fonction de la langue et de l'emplacement de la déclaration.

Java#

Variable d'instance

La valeur par défaut est automatiquement saisie dans la variable d'instance.

public class Sample{
    int x;    //Variable d'instance

    void show(){
        int tmp;    //Variables locales
        System.out.println("x = " + x);
    }
}
Type de variable Valeur par défaut
int , short , byte , long 0
float , double 0.0
char '\u0000'
boolean false
Référence d'objet null

Même dans le cas d'un tableau, tous les éléments ont des valeurs par défaut.

Variable locale

Les variables locales ne sont pas automatiquement initialisées. Si vous ne l'initialisez pas explicitement vous-même, vous obtiendrez une erreur de compilation.

Cependant, même s'il s'agit d'une variable locale, seul le ** tableau est automatiquement initialisé **.

Site de référence http://www.booran.com/menu/java/format.html

C/C++#

Variable globale

Les variables globales sont initialisées avec les valeurs par défaut.

#include <stdio.h>

int g_hoge;    //Variables globales

int main(){
    int a;    //Variables locales

    return 0;
}
Type de variable Valeur par défaut
int , short , long 0
float , double 0.0
char '\0'
bool false
Référence d'objet NULL

Même dans le cas d'un tableau, tous les éléments ont des valeurs par défaut.

Variable locale

Les variables locales ne sont pas automatiquement initialisées.

Contrairement à Java, le tableau de variables locales n'est pas non plus initialisé.

Pour les variables avec «static», même les variables locales sont initialisées.

Site de référence http://edu.clipper.co.jp/pg-2-33.html

Je ne suis pas sûr des variables de classe et de structure car leur comportement change en fonction de l'endroit où elles sont déclarées et de la manière dont elles sont créées.

Bien qu'il s'initialise, il est préférable de l'initialiser explicitement vous-même dans des programmes que d'autres voient.

Recommended Posts

Quand la valeur par défaut est-elle automatiquement saisie sans initialisation explicite?
Une valeur nulle est entrée lors de l'affectation à un tableau
[Swift] Obtenez le moment où la valeur de textField est modifiée
Comment afficher la valeur lorsqu'il y a un tableau dans le tableau
[Rails] Comment résoudre le problème d'écrasement de l'image par défaut lors de l'édition sans télécharger l'image [Active Storage]
[Petite histoire Java] Surveiller lorsqu'une valeur est ajoutée à la liste
Lorsque le nom de la classe du bean est dupliqué
Initialiser le tableau Ruby avec 0 comme Java, c'est-à-dire définir la valeur par défaut sur 0