什麼是 Java 語法?
Java 語法是該語言的基礎,是編寫編譯器和計算機“理解”的程序的所有主要規則、命令和結構。每種編程語言都有其語法和人類語言。本文重點介紹 Java 編程語言的基本語法,適用於新手開發人員或了解其他編程語言的開發人員。有些方面初學者可能不太清楚。如果是這樣,最好跳過它們並專注於示例。與其他所有事情一樣,最好循環學習一種編程語言,逐漸對某些概念有更深入的理解。每個 Java 程序都是一堆對象,它們通過數據(變量)和行為(函數或方法)相互結合。Java程序也是一個類或幾個類。對像是類的實例。你可以把類理解為一個模型,比如餅乾模和餅乾之類的對象。或者類為抽象的“Java 程序員”,對象為“Java 程序員 John”或“Java 程序員 Ivy”。Java 中的對象
Java 中的對象具有狀態和行為。示例:一隻貓有狀態:它的名字是 Furr,顏色是紅色,主人是 John;貓也有行為 現在 Furr 正在睡覺。他還可以發出呼嚕聲、走路等等。對像是類的實例。Java類
類是對象的模型或模板或藍圖。它描述了其類型的對象支持的行為和狀態。例如,貓類有它的名字、顏色、主人;貓也有吃、咕嚕咕嚕、走路、睡覺等行為。Java 中的方法
方法用於描述邏輯、操作數據和執行所有操作。每個方法都定義了行為。一個類可以包含很多方法。例如,我們可以為Cat類編寫方法sleep()(睡眠)或purr()來發出呼嚕聲。Java 中的實例變量
每個對像都有一組唯一的實例變量。對象狀態通常由分配給這些實例變量的值生成。例如貓的名字或年齡可以是一個變量。我們將從最簡單的 Java 程序開始。通過這個示例,我們將了解 Java 語法的基本概念,然後進一步了解它們。簡單的 Java 程序:你好,Java!
下面是一個簡單的 Java 程序:
class HelloJava {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
這個程序打印出一個字符串“Hello, Java!” 安慰。我建議你安裝 JDK 和 IntelliJ IDEA 並嘗試寫出你上面看到的代碼。或者第一次嘗試找一個在線 IDE 來做同樣的事情。現在讓我們一行一行地看這個程序,但是省略了一些對於初學者來說不需要的細節。
class HelloJava
Java 中的每個程序都是一個類,或者更常見的是許多類。class HelloJava這一行的意思是這裡我們新建一個類,名字叫HelloJava。正如我們上面所定義的,類是一種模板或藍圖,它描述了類對象的行為和狀態。這對新手程序員來說可能很難,稍後您將了解這個概念。現在類 HelloJava 只是您程序的開始。您可能已經註意到同一行和整個文本中的花括號{ 。一對花括號{}表示一個塊,一組被視為一個單元的編程語句。其中{表示單元的開頭和}它的結局。塊可以相互嵌套,也可以是順序的。上面的程序中有兩個嵌套塊。外部包含類Hello的主體。內部塊包含main()方法的主體。
public static void main (String args []) {
這是主要方法的開始。方法是一種行為,或者是允許您在程序中執行操作的命令序列。例如乘以 2 個數字或打印出一個字符串。換句話說,一個方法就是一個函數。在其他一些編程語言中,方法通常被稱為“函數”。方法,就像 Java 程序的所有元素一樣,位於一個類中。每個類可以有一個、多個或沒有方法。public是一個訪問修飾符。可以從程序中的任何位置訪問標有 public 修飾符的變量、方法或類。在 Java 中有四種:public、private、protected 和 default(空)。我們稍後再談。第一步最好公開所有方法。 空白是方法的返回類型。Void 表示它不返回任何值。 main代表程序的起點。這是方法的名稱。 String[] args 是主要方法參數。現在知道幾乎每個 Java 程序都有main方法就足夠了,它啟動程序並聲明諸如public static void main(String[] args) 靜態方法是與類一起工作的方法。在聲明中使用static關鍵字的方法只能直接使用局部變量和靜態變量。
System.out.println("Hello, Java!");
正式地,這一行執行了 out 對象的 println 方法。out 對像在OutputStream類中聲明,並在System類中靜態初始化。然而,對於一個新手來說,這有點複雜。初學者知道這一行打印單詞“Hello, Java!”就足夠了。到控制台。因此,如果您在 IDE 中運行該程序,您將在控制台中獲得輸出:
Java基本語法規則
使用 Java 編程時需要遵循一些主要的語法規則:- 文件名必須與類名相同;
- 大多數情況下,每個類都在一個單獨的文件中,擴展名為 .java。類文件通常分組到文件夾中。這些文件夾稱為包;
- 字符區分大小寫。字符串不等於字符串;
- Java程序處理的開始總是從main方法開始:public static void main(String[] args)。main ()方法是任何 Java 程序的必需部分;
- 方法(過程、函數)是一系列命令。方法定義對象的行為;
- 程序文件中方法的順序無關緊要;
- 請記住,類名的第一個字母是大寫的。如果您使用多個單詞,請將每個單詞的首字母大寫(“MyFirstJavaClass”);
- Java 語法中所有方法的名稱都以小寫字母開頭。當使用多個單詞時,後面的字母大寫("public void myFirstMethodName()");
- 文件以類名和 .java 擴展名(“MyFirstJavaClass.java”)保存;
- 在Java語法中,有分隔符“{...}”表示一段代碼和一個新的代碼區域;
- 每個代碼語句必須以分號結尾。
- 整數:byte、short、int、long
- 小數:float 和 double
- 邏輯值:布爾
- 符號值(用於表示字母和數字):char
Java變量示例:
int s;
s = 5;
char myChar = ‘a’;
在這段代碼中,我們創建了一個整數變量s(一個空容器),然後將值 5 放入其中。同樣的故事還有一個名為myChar的變量。我們使用 char 數據類型創建它並將其定義為字母a。在本例中,我們創建了一個變量並同時為其賦值。Java 語法允許您這樣做。引用類型是一些保留對值或其他對象的引用的對象。它們還可以包含對 null 的引用。Null 是一個特殊值,表示沒有值。引用類型包括字符串、數組和您想要的每個類。如果你有一個 Violin 類,你可以創建一個這個類的變量。Java 引用類型變量示例:
String s = “my words”;
Violin myViolin;
稍後您將了解更多關於它們的信息。請記住,非原始類型的變量以大寫字母開頭,而原始類型則以小寫字母開頭。例子:
int i = 25;
String s = “Hello, Java!”;
Java數組
數組是存儲相同類型的多個變量的對象。但是,數組本身是堆上的一個對象。我們將在接下來的章節中研究如何聲明、構造和初始化。數組示例:
int[] myArray = {1,7,5};
這裡我們有一個包含三個整數(1,7 和 5)的數組
Java 枚舉
除了基本數據類型之外,Java 還有一種類型,如枚舉或枚舉。枚舉表示邏輯上相關的常量的集合。枚舉是使用枚舉運算符聲明的,後跟枚舉的名稱。然後是一個逗號分隔的枚舉元素列表:
enum DayOfWeek {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
一個枚舉實際上代表了一個新的類型,所以我們可以定義一個該類型的變量並使用它。下面是一個使用枚舉的例子。
Java 枚舉示例
public class MyNum{
public static void main(String[] args) {
Day myDay = DayOfWeek.FRIDAY;
System.out.println(myDay); //print a day from the enum
}
}
enum DayOfWeek{
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
如果您運行該程序,FRIDAY 將打印在控制台中。您可以將 Enum 和 MyNum 類代碼放在一個文件中,但最好創建兩個單獨的文件:一個用於 MyNum 類,一個用於 Day 枚舉。IntelliJ IDEA 允許您在創建時選擇枚舉。
在 Java 中聲明變量
實際上我們在上面已經聲明了一些變量,甚至識別了它們。聲明是為某種類型的變量分配內存並命名的過程。像這樣的東西:
int i;
boolean boo;
我們還可以聲明使用賦值運算符 (=) 來初始化變量。這意味著我們將特定值放入我們分配的內存中。我們可以在聲明的那一刻或之後做正確的事。
聲明變量示例
String str;
int i = 5;
Str = “here is my string”;
Java 標識符
標識符只是 Java 組件的名稱——類、變量和方法。所有 Java 組件都應該有名稱。
Class Violin {
int age;
String masterName;
}
Violin是類標識符。 age和masterName是變量標識符。這裡有一些 Java 標識符規則:
- 所有標識符都以拉丁字母(A 到 Z 或 a 到 z)、貨幣字符 ($) 或下劃線 (_) 開頭。
- 在第一個字符之後,標識符可以是任意字符組合。
- Java 關鍵字不能是標識符(您稍後會發現關鍵字)。
- 標識符區分大小寫。
標識符示例
合法標識符:java、$mySalary、_something 非法標識符:1stPart、-oneJava修飾符
修飾符是 Java 語言的特殊詞,可用於修飾元素(類、方法、變量)。Java 有兩類修飾符:訪問修飾符和非訪問修飾符。訪問修飾符示例
Java 中有 4 種訪問修飾符:- 公開的。一個公共元素 可以在類內、類外、包內和包外訪問
- 具有默認(空)修飾符的元素只能在包內訪問
- protected修飾符可以通過子類在包內外訪問
- 私有元素僅在它聲明的類中可用。
非訪問修飾符示例
有7個- 靜止的
- 最終的
- 抽象的
- 同步的
- 短暫的
- 易揮發的
- 本國的
關鍵字
Java 關鍵字是在 Java 中用作代碼鍵的特殊詞。它們也被稱為保留字:您不能將它們用作變量、方法、類等的標識符。它們是:- abstract:聲明抽像類的關鍵字。
- boolean:Java boolean 關鍵字,用於將變量聲明為布爾類型。這樣的變量只能是真和假。
- break:使用 Java break 關鍵字來中斷循環或 switch 語句。
- byte:用於聲明一個字節整數變量的 Java byte 關鍵字。
- case:用於與 switch 語句一起標記文本塊。
- catch:用於捕獲try塊之後的異常。
- char:字符變量的 Java char 關鍵字。它可以容納無符號的 16 位 Unicode 字符。
- class:用於聲明類的 Java class 關鍵字。
- continue:繼續循環的 Java 關鍵字。
- default:Java default 關鍵字,用於指定 switch 語句中的默認代碼塊。
- do:用於 do-while 循環構造。
- double:Java double 關鍵字用於聲明一個數字變量。它可以容納 8 字節的浮點數。
- else:您可以在 else-if 條件語句中使用它。
- 枚舉:用於定義一組固定的常量。
- extends:Java extends 關鍵字表示一個類擴展了另一個類(是另一個類的子類)。
- final:關鍵字表示變量是常量。
- finally:標記一個代碼塊,無論是否處理異常都將執行。
- float:一個包含 4 字節浮點數的變量。
- for:開始 for 循環的關鍵字。它用於在某些條件為真時重複執行一組指令。
- if:用於檢查條件的關鍵字。如果條件為真,它將執行塊。
- implements:實現接口的關鍵字。
- import:Java import 關鍵字,用於導入包、類或接口。
- instanceof:檢查對像是否是特定類或接口的實例。
- int:一個可以保存 4 字節有符號整數的變量。
- interface:Java 接口關鍵字用於聲明接口。
- long:一個可以保存 8 字節有符號整數的變量。
- native:指定方法是使用 JNI(Java 本機接口)在本機代碼中實現的。
- new:用於創建新對象的 Java new 關鍵字。
- package:為 Java 類文件聲明一個 Java 包(文件夾)。
- private:訪問修飾符表示方法或變量可能僅在其聲明的類中可見。
- protected:訪問修飾符表示可以通過子類在包內外訪問方法或變量。
- public:訪問修飾符表示元素可以在任何地方訪問。
- return:返回方法執行的結果。
- short:一個可以保存 2 字節有符號整數的變量。
- static:表示一個變量或方法是一個類,而不是一個對象,方法。
- strictfp:限制浮點計算。
- super:指的是父類對象。
- switch:選擇要執行的代碼塊(或其中的許多代碼塊)。
- synchronized:非訪問修飾符。它指定該方法一次只能由一個線程訪問。
- this:引用方法或構造函數中的當前對象。
- throw:用於顯式拋出異常。
- throws : 聲明一個異常。
- transient:瞬態數據片段無法序列化。
- try:啟動一個代碼塊,將檢查異常。
- void:指定方法不返回值。
- volatile:表示變量可以異步更改。
- while:開始一個 while 循環。當條件為真時,多次迭代程序的一部分。
Java 中的註釋
Java 支持單行和多行註釋。任何註釋中可用的所有字符都會被 Java 編譯器忽略。開發人員使用它們來解釋代碼或回憶某些事情。評論示例:
//single-line comment
/*here we have a multi-line comment. As you can see it uses slash and asterisks from both sides of it.*/
public class HelloJava {
/* this program was created to demonstrate comments in Java. This one is a multi-line comment.
You can use such comments anywhere in your programs*/
public static void main(String[] args) {
//here is a single-line comment
String j = "Java"; //This is my string
int a = 15; //here I have an integer
System.out.println("Hello, " + j + " " + a + "!");
int[] myArray = {1,2,5};
System.out.println(myArray.length);
}
}
Java 中的文字
Java 中的文字是分配給變量的一些常量值。它們可以是數字或文本或其他表示值的東西。- 積分文字
- 浮點字面量
- 字符文字
- 字符串文字
- 布爾文字
Java 文字示例
int i = 100; //100 is an integral literal
double d = 10.2;//10.2 is a floating point literal
char c = ‘b’; //b is a char literal
String myString = “Hello!”;
boolean bool = true;
注意:null也是文字。
Java 中的基本運算符
有不同類型的運算符:算術- +(數字加法和字符串連接)
- –(減去或減去)
- *(乘法)
- / (分配)
- %(模數或餘數)
- <(小於)
- <=(小於或等於)
- >(大於)
- >=(大於或等於)
- ==(等於)
- !=(不等於)
- && (和)
- || (或者)
- !(不是)
- ^(異或)
public class NumbersOperations {
int a;
int b;
public static int add(int a,int b){
return a+b;
}
public static int sub (int a, int b){
return a-b;
}
public static double div (double a, int b){
return a/b;
}
}
這裡我們有一個帶有樹方法的類,可以用 2 個數字進行操作。您可以嘗試編寫第 4 種方法int mul (int a, int b)以在該程序中乘以 2 個數字。讓我們也創建一個類來演示NumberOprations 的工作:
public class NumberOperationsDemo {
public static void main(String[] args) {
int c = NumbersOperations.add(4,5);
System.out.println(c);
double d = NumbersOperations.div(1,2);
System.out.println(d);
}
}
如果您運行NumberOperationsDemo,您將獲得下一個輸出:
9 0.5
GO TO FULL VERSION