亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java:定義術語初始化、聲明和分配

Java:定義術語初始化、聲明和分配

滄海一幻覺 2019-10-11 11:07:45
Java:定義術語初始化、聲明和分配我發現,主語是由動詞來定義的,但動詞是沒有定義的!那么你是如何定義它們的呢?循環定義初始化:若要初始化變量,請執行以下操作。這可以在申報時進行。任務:若要為變量賦值,請執行以下操作。它可以在任何地方完成,只有一次使用最終標識符。聲明:若要將值聲明為變量,請執行以下操作。[更新,試圖理解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?
查看完整描述

3 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

賦值*丟棄變量的舊值,代之以新值

初始化這是一種特殊的任務:第一種。在初始化對象具有null值和基元類型具有默認值,如0false..可以與聲明一起完成。

聲明聲明說明變量的類型及其名稱。變量只能聲明一次。編譯器使用它來幫助程序員避免錯誤,例如將字符串值賦值給整數變量。在讀取或賦值變量之前,必須聲明該變量。


查看完整回答
反對 回復 2019-10-13
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

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



查看完整回答
反對 回復 2019-10-13
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

聲明不是將“值”聲明為變量,而是聲明類型變量。


賦值只是將一個值存儲到一個變量。


初始化是將值賦值給變量。在申報時.


這些定義也適用于字段。


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

但是,應該指出,“初始化”對于“變量的第一次賦值”也有一個更為寬松的定義,無論它發生在何處。


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

然而,這匯編了:


int i; // the following also compiles if i were declared final

if (something) i = 42;

else i = 666;

System.out.println(i);

這里i可以通過簡單的賦值從兩個可能的位置“初始化”。因為這個,如果i是一個數組,您不能對此構造使用特殊的數組初始化器簡寫語法。


因此,基本上“初始化”有兩個可能的定義,取決于上下文:


在最狹窄的形式下,這是一個任務與聲明相結合的時候。

它允許,除其他外,特殊的數組速記初始化器語法。

更普遍的情況是,當第一次給變量賦值時。

它允許,除其他外,分配給final變量在多個地方。

編譯器將盡最大努力確保這些分配中的一項能夠發生,從而“初始化”final變量

還有JVM上下文類和實例初始化,OOP上下文對象初始化等。



查看完整回答
反對 回復 2019-10-13
  • 3 回答
  • 0 關注
  • 385 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號