什麼是 Java 語法?
Java語法(Java Syntax)是語言的基礎,是編寫編譯器和電腦「理解」的程式的所有基本規則、命令和構造。每種程式語言都有自己的語法,就像我們用來互相溝通的自然語言一樣。本文涵蓋了 Java 程式語言的基本語法,針對學習 Java 的人、有抱負的開發人員或了解其他程式語言的人。有些方面對於初學者來說可能不太清楚。如果您遇到這種情況,我們建議您跳過困難的部分並專注於範例。與其他一切一樣,最好週期性地學習程式語言,逐漸加深對某些概念的理解。每個 Java 程式本質上都是物件的集合,其中包括資料(變數)和行為(函數或方法)。另外,Java程式是一個類別或幾個類別。物件是類別的實例。類別是一個模型,例如餅乾模具,物件是餅乾。或者,比方說,類別是抽象的“Java 程式設計師”,物件是“Java 程式設計師 Ivan”或“Java 程式設計師 Alice”。Java 中的對象
Java 中的物件具有狀態和行為。這是一個例子。這隻貓有一筆財富:他的名字是Barsik,他的顏色是紅色,他的主人是Ivan。貓也有行為:現在 Barsik 正在睡覺。他還可以發出呼嚕聲、行走等。物件是類別的實例。Java 中的類別
類別是物件的模型、模板或藍圖。它描述了行為並說明了該類型的物件支援什麼。例如, Cat類別有自己的名稱、顏色、擁有者;貓咪也有行為:進食、咕嚕咕嚕叫、走路、睡覺。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 []) {
這是 main方法 的開始。方法是允許在程式中執行操作的行為或命令序列。例如,將兩個數字相乘或列印一個字串。換句話說,方法就是函數。在其他一些程式語言中,方法通常稱為“函數”。與 Java 程式的所有元素一樣,方法位於類別內部。每個類別可以有一個、多個方法,或者根本沒有方法。 public——存取修飾符。可以從程式中的任何位置存取標示為public修飾符的變數、方法或類別。在 Java 中,有四種:公共、私有、受保護和預設- 預設(空)。我們稍後再討論它們。首先,最好將所有方法公開。 void是方法的回傳型別。void意味著它不會傳回任何值。 main代表程式的起點。這是方法的名稱。 String[] args是該方法的主要參數。現在,知道幾乎每個 Java 程式都有一個main方法就足夠了:它運行程式並宣告為public static void main(String[] args)。 靜態方法(static)被設計為與類別一起使用。在聲明中 使用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 語法具有分隔符號{...},表示程式碼區塊和新的程式碼區域; 每個代碼語句必須以分號結尾。
Java 變數和資料型別
變數是用於儲存資料的特殊實體。任何數據。在Java中,所有資料都儲存在變數中。我們可以說變數是用於放置變數的保留空間或盒子。每個變數都有自己的資料類型、名稱(標識符)和值。資料型別可以是原始的、非原始的或引用的。原始資料型別可以是:- 整數:byte、short、int、long
- 小數:浮點數和雙精度數
- 布林值:布林值
- 字元值(代表字母和數字):char
Java 中的變數範例:
int s;
s = 5;
char myChar = ‘a’;
在這段程式碼中,我們建立了一個整數變數s(一個空容器),然後將值 5 放入其中。與myChar變數相同的故事。我們使用char資料類型來建立它並將其定義為字母a。在本例中,我們建立了一個變數並同時為其賦值。Java 語法允許您這樣做。引用類型是一些包含對值或其他物件的參考的物件。它們也可能包含對 null 的引用。Null 是一個特殊的值,表示沒有值。引用類型包括String、Arrays和任何您想要的Class 。如果您有小提琴類別(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 枚舉)
除了原始資料型別之外,Java 還有一種稱為 enum 或枚舉的型別。枚舉是邏輯上相關的常數的集合。枚舉是使用 enum 語句後面跟著枚舉名稱來宣告的。然後是枚舉元素列表,以逗號分隔:enum DayOfWeek {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
枚舉實際上是一種新類型,因此我們可以定義該類型的變數並使用它。這是使用枚舉的範例。
Java 中枚舉的範例(Java Enum)
public class MyNum{
public static void main(String[] args) {
Day myDay = DayOfWeek.FRIDAY;
System.out.println(myDay); //напечатать день из 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”;
如果你宣告一個變數而沒有初始化,它仍然會得到一些預設值。對於int,此值為 0,對於String或任何其他參考類型,這是特殊識別碼null。
Java 中的識別符
標識符只是 Java 元件的名稱——類別、變數和方法。所有 Java 元件都必須有名稱。Class Violin {
int age;
String masterName;
}
小提琴- 類別識別碼。 Age和masterName是變數標識符。以下是一些 Java 標識符規則:
- 所有標識符均以拉丁字母(A 到 Z 或 a 到 z)、貨幣符號 ($) 或底線 (_) 開頭;
- 在第一個字元之後,標識符可以具有任意字元組合;
- Java 關鍵字不能是識別符(稍後您將了解關鍵字);
- 標識符區分大小寫。
標識符範例
有效標識符:java、$mySalary、_something 無效標識符:1stPart、-oneJava 中的修飾符
修飾符是 Java 語言中的特殊單詞,可用來更改元素(類別、方法、變數)。Java 中有兩類修飾符:存取修飾符和其他修飾符。存取修飾符的範例
Java中有四種存取修飾符:- 民眾_ 打開元素。可從類內、類外、包內、包外存取;
- 帶有default修飾符-default(空)-的元素只能在套件內存取;
- protected修飾符-可以透過子類別在套件內部和外部存取;
- private - 該元素只能在它聲明的類別中存取。
其他修飾符的範例
還有其他七個修飾符(用於類別、欄位、方法、介面等):- 靜止的
- 最終的
- 抽象的
- 同步的
- 短暫的
- 易揮發的
- 本國的
Java關鍵字
Java 關鍵字是 Java 中使用的特殊單字,充當程式碼的關鍵字。這些也稱為保留字:它們不能用於變數、方法、類別等的識別碼。它們是:- Abstract:用來聲明抽象類別的關鍵字;
- boolean :Java 中需要使用boolean關鍵字來聲明布林類型的變數。這些變數只能是 true 或 false;
- 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 語句;
- enum:用來定義一組固定的常數;
- extends :Java中的extends關鍵字用來表示一個類別擴展了另一個類別(是另一個類別的子類別);
- Final:關鍵字,表示該變數是常數;
- finally:標記無論是否處理異常都會執行的程式碼區塊;
- float:包含 4 個位元組浮點數的變數;
- for: ключевое слово для запуска цикла for. Он используется для многократного выполнения набора инструкций, пока выполняются некоторые условия;
- if: ключевое слово для проверки условия. Он выполняет блок, если condition истинно;
- implements: ключевое слово для реализации интерфейса;
- import: ключевое слово import в Java используется для импорта пакета, класса or интерфейса;
- instanceof: проверяет, является ли an object экземпляром определенного класса or интерфейса;
- int: переменная, которая может содержать 4-byteовое целое число со знаком;
- interface: ключевое слово interface в Java используется для объявления интерфейса;
- long: переменная, которая может содержать 8-byteовое целое число со знаком;
- native: указывает, что метод реализован в нативном codeе с использованием JNI (Java Native Interface);
- new: ключевое слово new используется в Java для создания новых an objectов;
- package: объявляет пакет (папку) Java для файлов классов Java;
- private: модификатор доступа указывает, что метод or переменная могут быть видны только в классе, в котором они объявлены;
- protected: модификатор доступа, который указывает, что доступ к методу or переменной можно получить внутри и снаружи пакета через дочерний класс;
- public: модификатор доступа указывает, что элемент доступен в любом месте;
- return: возвращает результат выполнения метода;
- short: переменная, которая может содержать 2-byteовое целое число со знаком;
- static: указывает, что переменная or метод является классом, а не an objectом, методом;
- strictfp: ограничивает вычисления с плавающей точкой;
- super: относится к an objectу родительского класса;
- switch: выбирает блок codeа (or несколько из них) для выполнения;
- synchronized: другой видм модификатора. Он указывает, что метод может быть доступен только одному потоку за раз;
- this: ссылается на текущий an object в методе or конструкторе;
- throw: используется для явного создания исключения;
- throws: объявляет исключение;
- transient (переходный) фрагмент данных не может быть сериализован;
- try: запускает блок codeа, который проверяется на наличие исключений;
- void: указывает, что метод не возвращает meaning;
- volatile: указывает, что переменная может изменяться асинхронно;
- while: запускает цикл while. Повторяет часть программы несколько раз, пока condition истинно.
Комментарии в Java
Java支援單行和多行註解。所有字元在任何註解中都可用,並且會被 Java 編譯器忽略。開發人員使用它們來解釋程式碼或記住某些內容。評論範例://однострочный комментарий
/*а вот многострочный комментарий. Как видите, в нем используются слеши и звездочки в начале и в конце.*/
public class HelloJava {
/* эта программа создана для демонстрации комментариев в Java. Это многострочный комментарий.
Вы можете использовать такие комментарии в любом месте вашей программы*/
public static void main(String[] args) {
//а вот однострочный комментарий
String j = "Java"; //Это моя строка
int a = 15; //Здесь у меня целое число
System.out.println("Hello, " + j + " " + a + "!");
int[] myArray = {1,2,5};
System.out.println(myArray.length);
}
}
Java 中的文字
Java中的文字是指派給變數的常數值。這些可以是數字、文字或任何其他代表意義的東西。- 整數文字
- 浮點文字
- 字元文字
- 字串文字
- 布爾文字
Java 中的文字範例
int i = 100; //100 – целочисленный литерал
double d = 10.2;//10.2 – литерал с плавающей точкой
char c = ‘b’; //b – символьный литерал
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;
}
}
這裡我們有一個帶有樹方法的類,用於處理兩個數字。您可以嘗試編寫第四種方法int mul(int a, int b)來在此程式中將兩個數字相乘。我們也建立一個類別來示範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