Java基本文法二執行流程學習
課程介紹
Java的基本文法(掌握)
主方法main(掌握)
注釋(掌握)
關鍵字-保留字-辨別符(掌握)
Editplus工具的使用(會使用)
常量變量(掌握)
資料類型(預習)
1. Java中的基本文法
熟練的掌握Java中的基本文法是學好程式設計的一個好的開始…
1. 如果一個源檔案中什麼内容都沒有,是不會生成位元組碼檔案的,産生的位元組碼檔案是和類有關
類:
2、 如果一個類中沒有主方法(如下圖),編譯正常,運作報錯: 沒有主方法
主方法 :
注意:一個程式,都是從第一行開始編譯,從主函數開始執行
一個類中可不可以(編譯是否報錯,是否符合Java的文法規範)沒有主方法? 可以
沒有主方法的類是不能夠獨立的啟動運作(面向對象的時候大量見到)!
項目(A(main) —》 B --》 C)
3、 我們的代碼最小機關是類class
類 主方法(方法) 叫結構性的代碼語句 後面是不需要; 分号
功能執行語句,例如 列印語句 後面必須; 分号
4、 所有的标點符号,括号都必須是英文狀态下的
5、 Java代碼中是嚴格區分大小寫 (Windows系統下面是不區分)
編譯OK 運作報錯,上面的代碼是符合Java文法規範,上面寫錯了主方法不是程式入口的主方法了,而是一個普通的方法
6、 位元組碼檔案的名字和類名一緻,建議源檔案名字和類名一緻
7、 一個Java源檔案中可以寫多個并列的類,編譯完畢之後會生成多個獨立的位元組碼檔案
建議 : 在實際開發中一個java檔案中隻寫一個類,并且類名和檔案名一緻
8、 一個類可以使用public修飾,但是要求類名必須和檔案名一緻
請問一個java檔案中是否可以存在多個public修飾的類?
2.Editplus工具的使用(會用)
2.1 為什麼要使用工具
用文本已經不能滿足我們開發的需求了,每次編譯和運作都是打開指令框進行,并且一些關鍵字顔色沒給我們标記
2.2 使用小技巧
1、輕按兩下打開
注意:
2、修改模闆 :
工具-參數配置-模闆-java,如下圖 :
3、修改字型 :工具-參數配置–字型
4、去掉備份bak檔案 : 工具-參數配置-檔案
5、配置javac java 到軟體中去 (已經配置好了環境變量Path)
6、修改顔色
3. Java中的三大注釋
3.1 什麼是注釋,有什麼用?
曾經我們幹過的一些事:
Java中的注釋其實可以看成是Java代碼中的備注,主要是寫給程式員看的,代碼運作的時候是不會管注釋内容的,可以增強代碼的可讀性。
3.2 Java中注釋的基本文法
3.2.1 單行注釋
// 單行注釋,注釋一行(是以行終止符為準)
3.2.2 多行注釋
/ / 多行注釋,可以注釋多行
很多的IDE軟體中會這樣寫 — 好看
每一行前面都加* 隻是為了好看
3.2.3 文檔注釋
/* / 文檔注釋,效果很像多行注釋,也可以注釋多行,
特點 :可以通過一個指令javadoc 把文檔注釋中的内容生産文檔
注意 :多行注釋和文檔注釋都不能夠互相的嵌套
3.2.4 哪些地方應該寫注釋
寫代碼時候養成寫注釋的習慣--》 代碼的可讀性增強
以後你們的代碼全部都必須有注釋(如果沒有,重做!!)
1、思路 流程 寫成注釋
2、關鍵代碼
3、類的整體描述; 字段 方法 構造方法前面都會寫注釋
4. 分隔符
1、分号(;):語句的分割,表示一句話結束,好比咱們使用的句号。
Int age = 1 ;
2、花括号({}):表示一個代碼塊,是一個整體,花括号要成對使用。
Public void eat(){
}
3、方括号([]):定義數組和通路數組元素時使用。
Char number[];
int[] intArray01;
int intArray02[];
4、圓括号(()):使用很廣泛,具體用到細講。
5、圓點(.):類和對象通路它的成員時使用。 如 laowang.age
6、空格( ):把一整條語句分割成幾段,空格的次數不限制,空格也表示一個符号。
一般單詞之間一個空格就可以了 1,a,b’,c’
注意:必須都是半角下的英文符号。
5. 關鍵字-保留字-辨別符
5.1 關鍵字
就是很關鍵的單詞--》 其實在設計java的時候賦予特殊意義的單詞 我們不能自己定義的詞
所有的關鍵字字母全部小寫(大寫的一定不是關鍵字)
5.2 保留字
goto const java中現在還沒有賦予它特殊意義,以後可能會用,預留起來
5.3 辨別符(自定義的)
1、概念:為了增強程式的閱讀性而自定義的名稱。比如:類名,方法名,變量名等。
2、辨別符的命名規則:
① 由數字大小寫字母組成,但是數字不能開頭,可加 _ $
其實可以是中文 日文,隻是不推薦
② 不能夠使用java中的關鍵字 保留字作為我們的辨別符
③ 不建議使用Java中已經存在的類作為我們自己的類名
④ 一般的書寫建議 :
一般來說都是取一些有意義的單詞 int age=18;
類名首字母必須大寫;
方法名,變量名 首字母小寫
如果是由多個單詞組成,後面每一個單詞首字母大寫 —》 駝峰 式寫法
6.常量與變量
6.1什麼是常量
常量的概念:常量是公共的、靜态的、不可改變的,必須有初始值,可看成是一個固定不變的值(量),或字面值 。常量定義以後,一般情況下不允許再修改,如果強行修改的化,系統就會排斥這個新值,抛出錯誤。
1、常量常見的分類:
i. 整型常量 123 234 3
ii. 小數常量 1.2 3.14
iii. 字元常量(單個字元) ‘a’ ‘b’ ‘3’ ‘好’
iv. 布爾常量 true false
v. 字元串常量 “Hi my brother , My God is java magic!”
備注: 上面寫出的5中形式的常量可以直接放在System.out.println() 中進行列印輸出的
2.思考?如何定義一個常量。
6.2變量
學習一個新的知識點的學習方式: who?what?How?
1 什麼是變量?
2 有什麼作用?
3 如何使用?
6.2.1 什麼是變量?以及有什麼作用
1.變量是可變的,值不固定的量,可分為成員變量、全局變量。
2.變量: 一個變量看成是一個變量盒子(或者看成是一個容器);容器— 裝東西的(資料)
存值
6.2.2 如何使用
場景: 例如現在有一個資料, 小冰冰的年齡18歲 資料 – 18,需要使用一個變量把這個資料存儲起來
1、定義一個變量
文法:資料類型 變量名;
示例:int age;
表示定義了一個變量,變量的名字是age ;
變量的類型是int(整數)----》這個age變量盒子中隻能夠存儲整數,不能夠存儲小數。。
2、把資料裝進變量(給變量指派)
必須使用到指派符号 例如 =
指派符号是指把符号右邊的值指派給左邊的變量
① 先定義好一個變量然後再指派(寫成兩句)
int age;
age = 18;
② 在聲明變量的同時給變量指派
int age = 18;
3、怎麼把資料取出
① 直接列印變量,就在控制台輸出變量的值
System.out.println(“age”);
System.out.println(age);
② 取出一個變量的值指派給另外一個變量
int age = 18;
int age2 = age; // 表示把age變量中的值複制一份給age2, age變量中還有原來的值
③ 取出變量的值參與運算
int a = 10;
int b = 5;
int c = a + b;
System.out.println©;
System.out.println(a+b);
④ 把一個變量作為參數進行傳遞(學習方法的時候再看)
注意:申明變量可以int a,b,c;但是不推介,在java中再簡單的代碼都遵循着,一行一句代碼
正确寫法:
Int a;
Int b;
Int c;
6.2.3 變量的分類
此處我們對變量的分類可以了解成是按照聲明的位置而定的,分成了成員變量和局部變量。
1,成員變量(全局變量):
① 直接聲明在類中的變量,方法外;
② 如果使用者沒有指派,那麼系統會配置設定預設值(不同的資料類型有不同的預設值,這點請參考 資料類型);學習了資料類型之後傳回測試不同類型的成員變量的預設值是多少
③ 作用域範圍(可以通路的範圍)是整個類中都可以;
2,局部變量:
① 聲明在方法裡面,方法的形參(方法的小括号裡面的東西)或者是代碼塊中(成員變量之外的都是局部變量);
代碼塊 – { }
② 局部變量在使用之前必須得有值,否則會編譯報錯,試想一下一個空變量盒子你用啥呢?
③ 作用域範圍隻是聲明的那個局部區域,例如方法裡面
3.Static靜态修飾符:
該類的所有對象都共享記憶體。
主方法使用static修飾,所有主方法内部的區域就是靜态區域
根據上面的提示: 靜态區域中不能夠通路非靜态的變量age
解決方案:
1、把主方法的static去掉----》 編譯OK(文法沒有錯誤),但是運作報錯,就是不是程式入口的主方法了
2、給age變量也添加上static修飾
解釋1:非靜态的是屬于某個對象的。
你在靜态方法中調用,到底調用哪個對象啊?系統不知道啊。
是以不允許了。
解釋2:靜态變量是随着類的加載而被加載的,優先于對象存在,非靜态的方法和引用非靜态成員變量是對象執行個體化的時候才存在在,是以先存在的東西無法調用後存在的東西
原因: age=18 屬于一個指派語句,不能夠直接寫在類中的
目前 : 可以直接寫在類中的成員
成員變量的聲明
方法(例如主方法)
示例:
public class Test {
static int x; // 我是成員變量
public static void main(String[] args) {
int y; // 我是空的局部變量
int z = 10; // 我是有一個值的局部變量
System.out.println(x); // 0,這個是預設值;x是成員變量是以整個類中都可以通路
System.out.println(y); // 編譯報錯,局部變量使用之前必須有值
System.out.println(z); // 10
System.out.println(w); // 編譯報錯,因為在main這個範圍之内沒有w,
// w是聲明在test中的,隻有test裡面才能通路,
// main 和test是兩個平級的方法
}
public static void test(){
int w = 100;// 我好孤獨,這個test作用域中就我一個人
}
}
3, 何時定義成局部變量何時定義為成員變量呢?
局部變量(以方法裡面的為例)主要是為了輔助完成方法的功能而臨時定義的一些變量,方法執行完畢也就會被回收,而成員變量則是類中的一個成員。這一個知識點的更好的了解我們在學習了面向對象之後就了然了,現在先了解并熟練的使用變量即可。
4. 全局變量 –為成員變量的一種
多檔案的全局變量如果隻在檔案内部有效,需加static。如果其他檔案也有效,預設如此,此時又稱之為外部變量。
全局變量的作用域:預設的情況下是所有函數。
全局變量的生存期:知道整個程式結束。
全局變量的存儲區:如果非static類型的全局變量是存儲在靜态區的常量區。如果有static修飾,則存儲在靜态區。
盡量不要使用全局變量
6.2.4變量的作用域
變量的作用域:可以了解成變量可以被通路到的範圍
1、成員變量 : 聲明在類中,是以整個類中都可以通路到
2、局部變量 : 聲明在方法内部,隻有聲明的這個方法内部才能夠通路
在一個方法内部,代碼的執行流程是至上而下的
結果: 類中的成員(方法,成員變量)他們的順序可以是任意的
為什麼把成員變量放在主方法之後也能夠通路呢? (了解即可)
① 寫一個VarDemo2.java 檔案,其中有一個類VarDemo2 類中的成員 age main
② VarDemo2.java 檔案 編譯完----》 VarDemo2.class
③ 把磁盤上面的檔案VarDemo2.class 加載到JVM中進行執行
④ 由于age是static(靜态)修飾的,所有在位元組碼檔案加載的過程中就會建立age
⑤ 等類加載完畢之後 JVM才找到主方法開始執行,這個時候age已經有了
7、資料類型(預習)
基本資料類型詳細表:
8. 課程總結
1.java的一些基本文法
2.三大注釋與分割符
3.Editplus工具類的使用
4.關鍵字,保留字,辨別符
5.常量與變量
6.變量的分類與作用域