常量與變數

步爾斯特發表於2020-12-28
  • 常量
    • 程式執行過程中 不能被再次改變的值
  • 常量的作用
    • 計算中的固定值 圓周率
    • 用來代表一個含義 貪吃蛇 上-1 下-2 左-3 右-4
    • “abc”----String ----String是一個引用資料型別-----存放在常量區----可以視為常量
    • 自己建立的空間 儲存一個值 讓它固定起來 不能改變
      • final int UP = 1;
  • 變數
    • 程式執行中可以改變的
    • 記憶體空間
    • 建立或宣告的時候 必須要指定資料型別和變數空間的名字
    • 變數空間----裡面只能儲存一個內容(值 引用)
  • 建立變數時 需要注意的命名問題
    • 命名規則
      • 字母大小寫敏感 數字不允許開頭 符號($_)中文不推薦
    • 命名規約
      • 類名字 ----首字母大寫 如果兩個單詞以上 所有首字母都大寫 SuperPerson
      • 變數名 ----首字母小寫 如果兩個以上單詞 之後的首字母大寫 駝峰式命名
  • 變數的建立
    • 資料型別+變數的名字----int a;
  • 變數是一個空間 可以只建立空間 裡面不存放內容
  • 變數查建立後 是沒有預設的內容 空的
  • 空的變數空間不可以使用 編譯錯誤
/**
*這是文件註釋
*/
public class Test{//這是單行註釋
	/*
		這是多行註釋
	*/
	public static void main(String[] args){
		byte x;//宣告一個變數空間的資料型別是byte,空間名字是x
		x = 1;//將一個1賦值到x空間進行儲存

		//常量值1在常量緩衝區裡的預設型別是int
		//1----32bit
		//a----8bit
		//=在賦值的時候做了一個自動的決定 完成了自動型別的轉化
		byte a = 1//常量值3.4在常量緩衝區裡預設的資料型別為double
		//加F是為了讓其完成自動的轉化
		//因為float和double二進位制形式的演算法不一樣 
		//所以不會自己完成型別的轉化
		float e = 3.4F;

		//int的取值範圍:-2147483648~2147483647
		//如果建立的常量值超過int的取值範圍
		//程式編譯檢測的時候就會認為數字太大
		//如果我們真的需要那麼大的數字
		//必須在後面加L告知
		long d = 2147483648L;
	}
}
  • 計算機底層做了什麼事情

    • x----變數空間----存在哪----棧記憶體裡
    • 1----常量----存在哪----常量緩衝區
    • =是什麼----是賦值
  • 計算機的硬體組成:主機板 CPU 音效卡 顯示卡 網路卡 電源 記憶體 硬碟

  • 硬碟上建立了一個檔案 Test.java

  • 檔案中的內容是我們編寫的原始碼

  • 將Test.java原始檔----編譯----Test.class----位元組碼----留給計算機識別

  • 執行----記憶體中執行:將硬碟上的Test.class內容載入到記憶體裡

  • 原始碼編譯執行&記憶體空間原理圖
    在這裡插入圖片描述

  • 字元和字串的區別

字元字串
charString
基本資料型別引用資料型別
‘a’“a” “abc” “ ” null

相關文章