Java:變數的賦值操作(祭奠我那悲催的基礎知識)
今天編寫系統程式,本來是一個引數傳遞問題(後面會有專門的帖子說這個問題),可是寫著寫著思緒就有點飄渺,偏偏就是這個時候出現了一個讓我意想不到的語句問題,一個讓我感到非常莫名其妙的問題,也是讓我感覺很慚愧的問題,恍恍惚惚到網上查詢答案,還真找到了這個類似的問題,看到下面的回覆,心裡一陣涼,很多人都不屑,感覺這種問題很好笑,應該是沒有入門或者剛入門的菜鳥才會問的問題。自己學習程式設計也很長時間了,C、C++、C#、java一路走來,也做過幾個專案,但是卻被這樣的問題卡主了,並且百思不得其解,頓時內心有種羞辱的感覺。可靜下心來回頭想想,這可能僅僅一個對映點,自己本來就是個菜鳥,一個剛剛學了些皮毛的東西就覺得自己很牛逼的屌絲菜鳥,這才是自己應該感到真正羞辱的原因,路漫漫其修遠兮,自己還是需要靜下心來好好把眼前小事做好,欲速則不達,切記!
說了這麼多牢騷話,還是把問題列出來說一下吧,一來可以為自己以後查閱提供方便,二來為其他人做個參考,下面通過編寫一個簡單的Class加以說明:
public class Test()
{
int i=1;
i=2;
}
上例中定義一個Test類,在類中定義了一個int型別的變數i,定義以後就對它進行賦值,這個時候系統就報錯,編譯不通過,但是回想自己以前程式設計的時候用到過類似這種方法,為什麼不行呢,然後又編寫了一個方法,在方法中用這樣的句子,方向沒有報錯,頓時想起來以前這樣用的時候是在C語言裡,Java這樣不行應該是語法問題吧,查閱資料得出了答案:
1、Java中類裡面只包含變數和方法;
2、Java中除定義和宣告外的其他語句都需要放在方法內部,方法必須放到類中,上例中int i=1;是一個定義和宣告變數語句,而下面的i=2是一個賦值語句,需要放在方法中進行;
3、Java中不存在全域性變數,只有成員變數和區域性變數,static類似於C中的全域性變數,成員變數在定義的時候會有系統預設值,區域性變數必須在定義的時候賦值;
4、程式有資料和指令組成,在預處理的時候需要分清哪一個是資料,哪一個是指令,Java認為資料來源自變數,執行指令源自方法,變數最後載入到暫存器,執行指令由算數邏輯單元執行;
上面寫的可能太籠統,需要到java虛擬機器中進一步找答案,不過算一個開始吧,自己需要好好加油了!
相關文章
- Java培訓基礎知識-Java的常量與變數Java變數
- ES6基礎知識——let、const關鍵字和變數的解構賦值變數賦值
- 基礎的python知識2 (變數)Python變數
- 悲催的windowsWindows
- Js基礎知識(一) – 變數JS變數
- 基礎知識梳理~ES6 解構賦值賦值
- Java基礎知識(變數、資料型別、運算子)Java變數資料型別
- 自己對Java中if變數賦值的理解Java變數賦值
- 變數的賦值 指標間接賦值變數賦值指標
- 《java程式設計基礎》java的基礎知識(三)Java程式設計
- java基礎知識Java
- 變數的解構賦值變數賦值
- 初識Java Java基礎知識Java
- js基礎知識 你不知道的變數提升的坑JS變數
- php之普通變數賦值、物件賦值、引用賦值的區別PHP變數賦值物件
- java基礎變數的交換Java變數
- Java基礎概念知識Java
- Java基礎知識(二)Java
- java基礎知識點Java
- 你必須知道的Java基礎知識Java
- mysql 儲存過程中變數的定義與賦值操作MySql儲存過程變數賦值
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- Python基礎知識之檔案的讀取操作Python
- Java基礎知識總結Java
- Java基礎知識點梳理Java
- Java併發--基礎知識Java
- Java基礎知識——異常Java
- JAVA基礎知識補漏Java
- LUA的基礎知識
- 1.2程式設計基礎之變數定義、賦值及轉換程式設計變數賦值
- Python 基礎筆記——變數的操作方法Python筆記變數
- Android所需的Java基礎知識體系圖AndroidJava
- [java基礎]之變數Java變數
- 【Java基礎知識】Java流程控制Java
- Android小知識-Java多執行緒的基礎知識瞭解下AndroidJava執行緒
- java基礎知識-序列化/反序列化-gson基礎知識Java
- vue 變數賦值同時改變的問題Vue變數賦值
- go語言變數的宣告與賦值Go變數賦值
- JS中的變數賦值深入理解JS變數賦值