Esta es el arreglo más exacta que te podemos compartir, pero primero mírala detenidamente y analiza si se adapta a tu trabajo.
Solución:
asignación: descartar el valor anterior de una variable y reemplazarlo por uno nuevo
inicialización: es un tipo especial de encargo: el primero. Antes de que los objetos de inicialización tengan null
value y los tipos primitivos tienen valores predeterminados como 0
o false
. Se puede hacer junto con la declaración.
declaración: una declaración establece el tipo de una variable, junto con su nombre. Una variable puede declararse una sola vez. El compilador lo utiliza para ayudar a los programadores a evitar errores como asignar string valores a variables enteras. Antes de leer o asignar una variable, esa variable debe haber sido declarada.
String declaration;
String initialization = "initialization";
declaration = "initialization"; //late initialization - will initialize the variable.
// Without this, for example, in java, you will get a compile-time error if you try
// to use this variable.
declaration = "assignment"; // Normal assignment.
// Can be done any number of times for a non-final variable
La declaración no es declarar “valor” a una variable; es declarar el escribe de la variable
La asignación es simplemente el almacenamiento de un valor a una variable.
La inicialización es la asignación de un valor a una variable en el momento de la declaración.
Estas definiciones también se aplican a los campos.
int i; // simple declaration
i = 42 // simple assignment
int[] arr = 1, 2, 3 ;
// declaration with initialization, allows special shorthand syntax for arrays
arr = 4, 5, 6 ; // doesn't compile, special initializer syntax invalid here
arr = new int[] 4, 5, 6 ; // simple assignment, compiles fine
Sin embargo, debe mencionarse que “inicialización” también tiene una definición más relajada de “la primera asignación a una variable”, independientemente de dónde ocurra.
int i; // local variable declaration
if (something) i = 42;
System.out.println(i);
// compile time error: The local variable i may not have been initialized
Esto, sin embargo, compila:
int i; // the following also compiles if i were declared final
if (something) i = 42;
else i = 666;
System.out.println(i);
Aquí i
puede ser “inicializado” desde dos ubicaciones posibles, mediante asignaciones simples. Por eso, si i
fue un arrayno puedes usar el especial array sintaxis abreviada del inicializador con esta construcción.
Entonces, básicamente, “inicialización” tiene dos definiciones posibles, según el contexto:
- En su forma más restringida, es cuando una asignación se combina con una declaración.
- Permite, entre otras cosas, especiales array sintaxis abreviada del inicializador
- En términos más generales, es cuando se realiza por primera vez una asignación a una variable.
- Permite, entre otras cosas, asignaciones a un
final
variable en varios lugares.- El compilador haría todo lo posible para garantizar que exactamente una de esas asignaciones pueda ocurrir, “inicializando” así el
final
variable
- El compilador haría todo lo posible para garantizar que exactamente una de esas asignaciones pueda ocurrir, “inicializando” así el
- Permite, entre otras cosas, asignaciones a un
También hay clase de contexto JVM e inicialización de instancias, inicialización de objetos de contexto OOP, etc.
Si tienes alguna suspicacia y capacidad de arreglar nuestro post puedes escribir un exégesis y con placer lo estudiaremos.