Java 基礎(chǔ)語法教程筆記

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

對(duì)象:對(duì)象是類的一個(gè)實(shí)例,有狀態(tài)和行為。例如,一條狗是一個(gè)對(duì)象,它的狀態(tài)有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。

類:類是一個(gè)模板,它描述一類對(duì)象的行為和狀態(tài)。

方法:方法就是行為,一個(gè)類可以有很多方法。邏輯運(yùn)算、數(shù)據(jù)修改以及所有動(dòng)作都是在方法中完成的。

實(shí)例變量:每個(gè)對(duì)象都有獨(dú)特的實(shí)例變量,對(duì)象的狀態(tài)由這些實(shí)例變量的值決定。

創(chuàng)一個(gè)小群,供大家學(xué)習(xí)交流聊天

如果有對(duì)學(xué)JAVA方面有什么疑惑問題的,或者有什么想說的想聊的大家可以一起交流學(xué)習(xí)一起進(jìn)步呀。

也希望大家對(duì)學(xué)JAVA能夠持之以恒

JAVA愛好群,

如果你想要學(xué)好JAVA最好加入一個(gè)組織,這樣大家學(xué)習(xí)的話就比較方便,還能夠共同交流和分享資料,給你推薦一個(gè)學(xué)習(xí)的組織:快樂學(xué)習(xí)JAVA組織 可以點(diǎn)擊組織二字,可以直達(dá)


第一個(gè)Java程序

下面看一個(gè)簡(jiǎn)單的Java程序,它將打印字符串 Hello World

實(shí)例

public class HelloWorld {

/* 第一個(gè)Java程序

* 它將打印字符串 Hello World

*/

public static void main(String []args) {

System.out.println("Hello World"); // 打印 Hello World

}

}

下面將逐步介紹如何保存、編譯以及運(yùn)行這個(gè)程序:

打開Notepad,把上面的代碼添加進(jìn)去;

把文件名保存為:HelloWorld.java;

打開cmd命令窗口,進(jìn)入目標(biāo)文件所在的位置,假設(shè)是C:\

在命令行窗口鍵入 javac HelloWorld.java 按下enter鍵編譯代碼。如果代碼沒有錯(cuò)誤,cmd命令提示符會(huì)進(jìn)入下一行。(假設(shè)環(huán)境變量都設(shè)置好了)。

再鍵入java HelloWorld 按下Enter鍵就可以運(yùn)行程序了

你將會(huì)在窗口看到 Hello World

C : > javac HelloWorld.java

C : > java HelloWorld?

Hello World

基本語法

編寫Java程序時(shí),應(yīng)注意以下幾點(diǎn):

大小寫敏感:Java是大小寫敏感的,這就意味著標(biāo)識(shí)符Hello與hello是不同的。

類名:對(duì)于所有的類來說,類名的首字母應(yīng)該大寫。如果類名由若干單詞組成,那么每個(gè)單詞的首字母應(yīng)該大寫,例如 MyFirstJavaClass 。

方法名:所有的方法名都應(yīng)該以小寫字母開頭。如果方法名含有若干單詞,則后面的每個(gè)單詞首字母大寫。

源文件名:源文件名必須和類名相同。當(dāng)保存文件的時(shí)候,你應(yīng)該使用類名作為文件名保存(切記Java是大小寫敏感的),文件名的后綴為.java。(如果文件名和類名不相同則會(huì)導(dǎo)致編譯錯(cuò)誤)。

主方法入口:所有的Java 程序由public static void main(String []args)方法開始執(zhí)行。

Java標(biāo)識(shí)符

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

關(guān)于Java標(biāo)識(shí)符,有以下幾點(diǎn)需要注意:

所有的標(biāo)識(shí)符都應(yīng)該以字母(A-Z或者a-z),美元符($)、或者下劃線(_)開始

首字符之后可以是字母(A-Z或者a-z),美元符($)、下劃線(_)或數(shù)字的任何字符組合

關(guān)鍵字不能用作標(biāo)識(shí)符

標(biāo)識(shí)符是大小寫敏感的

合法標(biāo)識(shí)符舉例:age、$salary、_value、__1_value

非法標(biāo)識(shí)符舉例:123abc、-salary

Java修飾符

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

訪問控制修飾符 : default, public , protected, private

非訪問控制修飾符 : final, abstract, strictfp

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

Java變量

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

局部變量

類變量(靜態(tài)變量)

成員變量(非靜態(tài)變量)

Java數(shù)組

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

Java枚舉

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

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

實(shí)例

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? ;

}

}

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

Java關(guān)鍵字

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

關(guān)鍵字描述

abstract抽象方法,抽象類的修飾符

assert斷言條件是否滿足

boolean布爾數(shù)據(jù)類型

break跳出循環(huán)或者label代碼段

byte8-bit?有符號(hào)數(shù)據(jù)類型

caseswitch語句的一個(gè)條件

catch和try搭配撲捉異常信息

char16-bit?Unicode字符數(shù)據(jù)類型

class定義類

const未使用

continue不執(zhí)行循環(huán)體剩余部分

defaultswitch語句中的默認(rèn)分支

do循環(huán)語句,循環(huán)體至少會(huì)執(zhí)行一次

double64-bit雙精度浮點(diǎn)數(shù)

elseif條件不成立時(shí)執(zhí)行的分支

enum枚舉類型

extends表示一個(gè)類是另一個(gè)類的子類

final表示一個(gè)值在初始化之后就不能再改變了

表示方法不能被重寫,或者一個(gè)類不能有子類

finally為了完成執(zhí)行的代碼而設(shè)計(jì)的,主要是為了程序的健壯性和完整性,無論有沒有異常發(fā)生都執(zhí)行代碼。

float32-bit單精度浮點(diǎn)數(shù)

forfor循環(huán)語句

goto未使用

if條件語句

implements表示一個(gè)類實(shí)現(xiàn)了接口

import導(dǎo)入類

instanceof測(cè)試一個(gè)對(duì)象是否是某個(gè)類的實(shí)例

int32位整型數(shù)

interface接口,一種抽象的類型,僅有方法和常量的定義

long64位整型數(shù)

native表示方法用非java代碼實(shí)現(xiàn)

new分配新的類實(shí)例

package一系列相關(guān)類組成一個(gè)包

private表示私有字段,或者方法等,只能從類內(nèi)部訪問

protected表示字段只能通過類或者其子類訪問

子類或者在同一個(gè)包內(nèi)的其他類

public表示共有屬性或者方法

return方法返回值

short16位數(shù)字

static表示在類級(jí)別定義,所有實(shí)例共享的

strictfp浮點(diǎn)數(shù)比較使用嚴(yán)格的規(guī)則

super表示基類

switch選擇語句

synchronized表示同一時(shí)間只能由一個(gè)線程訪問的代碼塊

this表示調(diào)用當(dāng)前實(shí)例

或者調(diào)用另一個(gè)構(gòu)造函數(shù)

throw拋出異常

throws定義方法可能拋出的異常

transient修飾不要序列化的字段

try表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執(zhí)行finally中的代碼

void標(biāo)記方法不返回任何值

volatile標(biāo)記字段可能會(huì)被多個(gè)線程同時(shí)訪問,而不做同步

whilewhile循環(huán)

Java注釋

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

public class HelloWorld {

/* 這是第一個(gè)Java程序

*它將打印Hello World

* 這是一個(gè)多行注釋的示例

*/

public static void main(String []args){

// 這是單行注釋的示例

/* 這個(gè)也是單行注釋的示例 */

System.out.println("Hello World");?

}

}

Java 空行

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

繼承

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

利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。

被繼承的類稱為超類(super class),派生類稱為子類(subclass)。

接口

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

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

Java 源程序與編譯型運(yùn)行區(qū)別

如下圖所示:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Win7下如何打開DOS控制臺(tái)? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,708評(píng)論 4 12
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 5,210評(píng)論 1 114
  • 有檢視的人生更加精彩! 本周踐行回復(fù),我的情況基本正常,在逐步恢復(fù)中……冰山/冥想完成周目標(biāo),健走完成80%,練琴...
    taotaojessie閱讀 196評(píng)論 0 0
  • 問題一:雙肩不在同一水平線上,一高一低,一前一后。 原因:肩關(guān)節(jié)緊張,脊柱靈活性不夠,未能啟動(dòng)腰腹部力量,背部力量...
    王小七七七閱讀 311評(píng)論 0 0
  • 01我的家鄉(xiāng) 江蘇高郵,在京杭大運(yùn)河的下面。 作品里總有水的影子,大概是生長(zhǎng)在水鄉(xiāng)的緣故。 02我的家 是個(gè)大家族...
    今夕_閱讀 255評(píng)論 0 2

友情鏈接更多精彩內(nèi)容