Java:定义术语初始化、声明和赋值

我发现 defs 是圆形的,主语由动词定义,但动词是未定义的!那么,您如何定义它们呢?

循环定义

初始化:初始化变量。它可以在声明时完成。

赋值:为变量赋值。它可以在任何地方完成,只有一次使用最终标识符。

声明:向变量声明值。

[更新,尝试使用 lambda 计算来理解该主题]

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?

答案 1

赋值:丢弃变量的旧值,并用新值替换它

初始化:这是一种特殊的赋值:第一种。在初始化之前,对象具有值,基元类型具有默认值,如 或 。可以与声明一起完成。null0false

声明:声明声明变量的类型及其名称。一个变量只能声明一次。编译器使用它来帮助程序员避免错误,例如将字符串值分配给整数变量。在读取或分配变量之前,必须声明该变量。


答案 2
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