Java 基礎(chǔ)語法

2022-01-25 09:53 更新

一個Java程序可以認為是一系列對象的集合,而這些對象通過調(diào)用彼此的方法來協(xié)同工作。下面簡要介紹下類、對象、方法和實例變量的概念。

  • 對象:對象是類的一個實例,有狀態(tài)和行為。例如,一條狗是一個對象,它的狀態(tài)有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
  • :類是一個模板,它描述一類對象的行為和狀態(tài)。
  • 方法:方法就是行為,一個類可以有很多方法。邏輯運算、數(shù)據(jù)修改以及所有動作都是在方法中完成的。
  • 實例變量:每個對象都有獨特的實例變量,對象的狀態(tài)由這些實例變量的值決定。

第一個Java程序

下面看一個簡單的 Java 程序,它將打印字符串 Hello World

public class MyFirstJavaProgram {
   /* 第一個Java程序.  
    * 它將打印字符串 Hello World
    */
    public static void main(String []args) {
       System.out.println("Hello World"); // 打印 Hello World
    }
} 

下面將逐步介紹如何保存、編譯以及運行這個程序:

  • 打開Notepad,把上面的代碼添加進去;
  • 把文件名保存為:MyFirstJavaProgram.java;
  • 打開cmd命令窗口,進入目標文件所在的位置,假設是C:\
  • 在命令行窗口鍵入 javac MyFirstJavaProgram.java  按下 enter 鍵編譯代碼。如果代碼沒有錯誤,cmd 命令提示符會進入下一行。(假設環(huán)境變量都設置好了)。
  • 再鍵入 java MyFirstJavaProgram 按下 Enter 鍵就可以運行程序了

你將會在窗口看到 Hello World

C : > javac MyFirstJavaProgram.java
C : > java MyFirstJavaProgram 
Hello World

基本語法

編寫Java程序時,應注意以下幾點:

  • 大小寫敏感:Java是大小寫敏感的,這就意味著標識符Hello與hello是不同的。
  • 類名:對于所有的類來說,類名的首字母應該大寫。如果類名由若干單詞組成,那么每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。
  • 方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則后面的每個單詞首字母大寫。
  • 源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名作為文件名保存(切記Java是大小寫敏感的),文件名的后綴為.java。(如果文件名和類名不相同則會導致編譯錯誤)。
  • 主方法入口:所有的Java 程序由?public static void main(String[] args)方法開始執(zhí)行。

Java標識符

Java所有的組成部分都需要名字。類名、變量名以及方法名都被稱為標識符。

關(guān)于Java標識符,有以下幾點需要注意:

  • 所有的標識符都應該以字母(A-Z或者a-z),美元符($)、或者下劃線(_)開始
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下劃線(_)或數(shù)字的任何字符組合
  • 關(guān)鍵字不能用作標識符
  • 標識符是大小寫敏感的
  • 合法標識符舉例:age、$salary、_value、__1_value
  • 非法標識符舉例:123abc、-salary

Java修飾符

像其他語言一樣,Java可以使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:

  • 訪問控制修飾符 : default, public , protected, private
  • 非訪問控制修飾符 : final, abstract, static,synchronized 和 volatile

在后面的章節(jié)中我們會深入討論Java修飾符。

Java變量

Java中主要有如下幾種類型的變量

  • 局部變量
  • 類變量(靜態(tài)變量)
  • 成員變量(非靜態(tài)變量)

Java數(shù)組

數(shù)組是儲存在堆上的對象,可以保存多個同類型變量。在后面的章節(jié)中,我們將會學到如何聲明、構(gòu)造以及初始化一個數(shù)組。


Java枚舉

Java 5.0引入了枚舉,枚舉限制變量只能是預先設定好的值。使用枚舉可以減少代碼中的 bug 。

例如,我們?yōu)楣暝O計一個程序,它將限制果汁為小杯、中杯、大杯。這就意味著它不允許顧客點除了這三種尺寸外的果汁。


實例

class FreshJuice {
   enum FreshJuiceSize{ SMALL, MEDIUM, LARGE }
   FreshJuiceSize size;
}

public class FreshJuiceTest {
   public static void main(String args[]){
      FreshJuice juice = new FreshJuice();
      juice.size = FreshJuice. FreshJuiceSize.MEDIUM ;
   }
}

注意:枚舉可以單獨聲明或者聲明在類里面。方法、變量、構(gòu)造函數(shù)也可以在枚舉中定義。


Java關(guān)鍵字

下面列出了Java保留字。這些保留字不能用于常量、變量、和任何標識符的名稱。

關(guān)鍵字 描述
abstract 抽象方法,抽象類的修飾符
assert 斷言條件是否滿足
boolean 布爾數(shù)據(jù)類型
break 跳出循環(huán)或者label代碼段
byte 8-bit 有符號數(shù)據(jù)類型
case switch語句的一個條件
catch 和try搭配捕捉異常信息
char 16-bit Unicode字符數(shù)據(jù)類型
class 定義類
const 未使用
continue 不執(zhí)行循環(huán)體剩余部分
default switch語句中的默認分支
do 循環(huán)語句,循環(huán)體至少會執(zhí)行一次
double 64-bit雙精度浮點數(shù)
else if條件不成立時執(zhí)行的分支
enum 枚舉類型
extends 表示一個類是另一個類的子類
final 表示一個值在初始化之后就不能再改變了
表示方法不能被重寫,或者一個類不能有子類
finally 為了完成執(zhí)行的代碼而設計的,主要是為了程序的健壯性和完整性,無論有沒有異常發(fā)生都執(zhí)行代碼。
float 32-bit單精度浮點數(shù)
for for循環(huán)語句
goto 未使用
if 條件語句
implements 表示一個類實現(xiàn)了接口
import 導入類
instanceof 測試一個對象是否是某個類的實例
int 32位整型數(shù)
interface 接口,一種抽象的類型,僅有方法和常量的定義
long 64位整型數(shù)
native 表示方法用非java代碼實現(xiàn)
new 分配新的類實例
package 一系列相關(guān)類組成一個包
private 表示私有字段,或者方法等,只能從類內(nèi)部訪問
protected 表示字段只能通過類或者其子類訪問
子類或者在同一個包內(nèi)的其他類
public 表示共有屬性或者方法
return 方法返回值
short 16位數(shù)字
static 表示在類級別定義,所有實例共享的
strictfp 浮點數(shù)比較使用嚴格的規(guī)則
super 表示基類
switch 選擇語句
synchronized 表示同一時間只能由一個線程訪問的代碼塊
this 表示調(diào)用當前實例
或者調(diào)用另一個構(gòu)造函數(shù)
throw 拋出異常
throws 定義方法可能拋出的異常
transient 修飾不要序列化的字段
try 表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執(zhí)行finally中的代碼
void 標記方法不返回任何值
volatile 標記字段可能會被多個線程同時訪問,而不做同步
while while循環(huán)

Java注釋

類似于C/C++,Java也支持單行以及多行注釋。注釋中的字符將被Java編譯器忽略。

public class MyFirstJavaProgram{
   /* 這是第一個Java程序
    *它將打印Hello World
    * 這是一個多行注釋的示例
    */
    public static void main(String []args){
       // 這是單行注釋的示例
       /* 這個也是單行注釋的示例 */
       System.out.println("Hello World"); 
    }
} 

Java 空行

空白行,或者只有注釋的行,Java編譯器都會忽略掉。


繼承

在Java中,一個類可以由其他類派生。如果你要創(chuàng)建一個類,而且已經(jīng)存在一個類具有你所需要的屬性或方法,那么你可以將新創(chuàng)建的類繼承該類。

利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。

接口

在Java中,接口可理解為對象間相互通信的協(xié)議。接口在繼承中扮演著很重要的角色。

接口只定義派生要用到的方法,但是方法的具體實現(xiàn)完全取決于派生類。

下一節(jié)介紹Java編程中的類和對象。之后你將會對Java中的類和對象有更清楚的認識。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號