java语言语法--- Java标识符(标识符命名规则)、Java关键字、Java变量(变量的声明、赋值、使用)和常量(字符常量、字面常量)(包括Java字节码文件反汇编命令javap)
java語言語法— Java標識符、Java關鍵字、Java變量和常量(包括Java字節碼文件反匯編命令javap)
1.標識符
(1)讀音:biao zhi fu
(2)什么是標識符?
(摘自百度百科)
簡單來說,標識符就是一個名字
(3)標識符命名的規則:
比如:類名:首字母大寫,遵循駝峰命名(例如,HelloMyCode)
變量名、方法名:首字母小寫,遵循駝峰命名(例如,makeChoices)
包名:全部小寫(例如,com.bones.test)
2.關鍵字
關鍵字被賦予特殊用途,不能用來作為標識符
Java中的關鍵字都是小寫
下面的關鍵字了解就可以,不用故意去記住,因為真正敲代碼的人不可能不知道下面的關鍵字,用多了就記住了
不過我個人有時候會有一些誤區,比如誤以為Java中的true這些是關鍵字,后來一查居然不是,這些只是Java的常用字面量
官網有提供Java關鍵字的羅列:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
下面是分類的羅列:
3.常量
(1)常量:程序運行過程中不會變化的量。
(2)分類:
4.變量
變量本質上就是代表一個”可操作的存儲空間”,空間位置是確定的,但是里面放置什么值不確定。我們可通過變量名來訪問“對應的存儲空間”,從而操縱這個“存儲空間”存儲的值。Java是一種強類型語言,每個變量都必須聲明其數據類型。變量的數據類型決定了變量占據存儲空間的大小。 比如,int a=3; 表示a變量的空間大小為4個字節。變量作為程序中最基本的存儲單元,其要素包括變量名,變量類型和作用域。變量在使用前必須對其聲明, 只有在變量聲明以后,才能為其分配相應長度的存儲空間。
(1)變量的聲明
public class testVar{public static void main(String[] args){//定義一個int類型的變量:int age ;} }上面的代碼編譯成功:
在JavaSE_Code 文件下產生了對應的字節碼文件:
現在利用反編譯工具將字節碼代碼還原為源代碼:
(將上面的TestVal.class文件拖至反編譯工具中)
(關于反我的反編譯工具,請見我的博客https://blog.csdn.net/qq_51550750/article/details/121536690)
反編譯結果:
其實這就說明:一個變量只是定義但是沒有賦值,就相當于什么都沒做。
還要注意一點:如果變量只是定義而沒有賦值,那么使用這個變量就會報錯,例如:
(2)變量的賦值
public class TestVar{public static void main(String[] args){//定義一個int類型的變量:int age;//將age賦值為10這個字面常量age = 10;} }再次編譯產生字節碼文件,然后反編譯:
編譯:
反編譯結果:
發現兩句活合成了一句話(定義和賦值合成了一句話),而且變量的名字改變了,這說明其實其實變量名對于編譯這個過程無關緊要
那么變量的賦值可不可以重復呢?
例如:
說明一個變量可以重復賦值,但是要注意一個問題:同一個變量不可以重復定義:
例如下面的代碼會報錯:
public class TestVar{public static void main(String[] args){//定義一個int類型的變量:int age;//將age賦值為10這個字面常量age = 10;age = 20;age = 9;age = 9;int a = 0;int a ;} }(3)變量的使用
變量的使用很簡單:
public class TestVar{public static void main(String[] args){//定義一個int類型的變量:int age;//將age賦值為10這個字面常量age = 10;age = 20;age = 9;age = 9;int a = 0;//int a ;System.out.println(age);System.out.println(a+10);} }編譯和執行:
(4)變量的內存
簡單來畫就是:
下面舉一個簡單的例子說明底層的變量賦值的過程:
public class TestVal02{public static void main(String[] args){int x = 1, y = 2;int z = x + y;} }通過javap.exe命令來反匯編:(但是要先產生字節碼文件)
看字節碼指令或許就可以看出個大概了吧。。。
5.基本數據類型----整型
總結
以上是生活随笔為你收集整理的java语言语法--- Java标识符(标识符命名规则)、Java关键字、Java变量(变量的声明、赋值、使用)和常量(字符常量、字面常量)(包括Java字节码文件反汇编命令javap)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: static 二次理解
- 下一篇: Java反射机制01_反射的概念以及获取