sirve que parametros para modificador java initialization declaration variable-assignment

que - parametros final en java



Java: define inicialización de términos, declaración y asignación (7)

Encuentro los defs circulares, los sujetos están definidos por sus verbos pero los verbos no están definidos. Entonces, ¿cómo los defines?

Las definiciones circulares

inicialización: para inicializar una variable. Se puede hacer en el momento de la declaración.

asignación: para asignar valor a una variable. Se puede hacer en cualquier lugar, solo una vez con el identificador final.

declaración: declarar valor a una variable.

[actualización, tratando de entender el tema con lambda calc]

D(x type) = (λx.x is declared with type) A(y D(x type)) = (λy.y is assigned to D(x type)) %Then after some beta reductions we get initialization. D(x type) me human // "me" declared with type "human" A(y (D(x type) me human)) asking // "asking" assigned to the last declaration %if the last two statemets are valid, an initialization exists. Right?


Aquí hay una breve explicación con algunos ejemplos.

Declaración: Declaración es cuando declaras una variable con un nombre, y una variable puede declararse solo una vez.

Ejemplo: int x; , String myName; , Boolean myCondition;

Inicialización: Inicialización es cuando ponemos un valor en una variable, esto sucede mientras declaramos una variable.

Ejemplo: int x = 7; , String myName = "Emi"; , Boolean myCondition = false;

Asignación: Asignación es cuando ya declaramos o inicializamos una variable, y estamos cambiando el valor. Puede cambiar el valor de la variable tantas veces como desee o necesite.

Ejemplo:

int x = 7; x = 12; ....... Acabamos de cambiar el valor.

String myName = "Emi"; myName = "John" String myName = "Emi"; myName = "John" ....... Simplemente cambiamos el valor.

Boolean myCondition = false; myCondition = true; ....... Acabamos de cambiar el valor.

Nota: En la memoria se guardará el último valor que ponemos.


La declaración no es para declarar "valor" a una variable; es para declarar el tipo 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 la "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í puedo ser "inicializado" desde dos ubicaciones posibles, por asignaciones simples. Por eso, si i fuera una matriz, no puedes usar la sintaxis abreviada de inicializador de matriz especial con esta construcción.

Entonces, básicamente, la "inicialización" tiene dos definiciones posibles, según el contexto:

  • En su forma más estrecha, es cuando una tarea se combina con la declaración.
    • Permite, entre otras cosas, la sintaxis de inicializador abreviado de matriz especial
  • En términos más generales, es cuando una asignación se hace por primera vez a una variable.
    • Permite, entre otras cosas, asignaciones a una variable final en múltiples lugares.
      • El compilador haría todo lo posible para garantizar que exactamente una de esas asignaciones pueda suceder, "inicializando" así la variable final

También hay clase de contexto JVM e inicialización de instancia, inicialización de objeto de contexto OOP, etc.


Paso 1: Declaración : int a;

Paso 2: Inicialización : a = 5;

Paso 3: Asignación : a = b; (por ejemplo: int b = 10; ahora a se convierte en 10)


Vengo de un fondo de C / C ++, pero las ideas deberían ser las mismas.

Declaración : cuando se declara una variable, le está diciendo al compilador que reserve una parte de la memoria y asocie un nombre (y un tipo de variable) con ella. En C / C ++ podría verse así:

int x;

El compilador ve esto y reserva una ubicación de dirección para x y sabe qué métodos debe usar para realizar operaciones en x (diferentes tipos de variables usarán diferentes operaciones de acceso). De esta manera, cuando el compilador se ejecuta en la línea

x = 3 + 5;

Sabe poner el valor entero 8 (no el valor de punto flotante 8) en la ubicación de la memoria también conocida como ''x''.

Asignación : es cuando se rellena un valor en la variable declarada previamente. La asignación está asociada con el ''signo igual''. En el ejemplo anterior, a la variable ''x'' se le asignó el valor 8.

Inicialización : es cuando una variable está preestablecida con un valor. No hay garantía de que una variable se establezca en algún valor predeterminado durante la declaración de la variable (a menos que explícitamente lo haga). Se puede argumentar que la inicialización es la primera asignación de una variable, pero esto no es del todo cierto, como explicaré en breve. Una inicialización típica es una combinación de la declaración de variable con una asignación de la siguiente manera:

int x = 6;

La distinción entre inicialización y asignación se vuelve más importante cuando se trata de constantes, como esta ...

const int c = 15;

Cuando se trata de constantes, solo se puede asignar su valor en el momento de la declaración / inicialización. De lo contrario, no pueden ser tocados. Esto se debe a que las constantes a menudo se ubican en la memoria de programa frente a la memoria de datos, y su asignación real se produce en tiempo de compilación frente a tiempo de ejecución.


asignación : tirar el antiguo valor de una variable y reemplazarlo por uno nuevo

inicialización : es un tipo especial de tarea: la primera. Antes de la inicialización, los objetos tienen valores null y los tipos primitivos tienen valores predeterminados como 0 o false . Se puede hacer junto con la declaración.

declaración : una declaración indica el tipo de una variable, junto con su nombre. Una variable puede declararse solo una vez. Es utilizado por el compilador para ayudar a los programadores a evitar errores como la asignación de valores de cadena a variables enteras. Antes de leer o asignar una variable, esa variable debe haber sido declarada.


declaración : cada vez que defines una nueva variable con su tipo

asignación : siempre que cambie el valor de una variable dándole un nuevo valor

inicialización : una asignación que se realiza junto con la declaración, o en cualquier caso la primera asignación que se hace con una variable, por lo general es una llamada de constructor para un objeto o una asignación simple para una variable


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