天天看點

零基礎輕松入門——JAVA基礎學習

你準備好學習java了嗎?了解一下開發java的基本過程以及java的基本特性。與c++做些簡單的比較,熟悉兩種語言的共性和差別,關于一些java知識體系。

java 的主要特性:

1、 java語言的文法與c語言和c++語言很接近,使得大多數程式員很容易學習和使用。另一方面,java丢棄了c++中很少使用的、很難了解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特别地,java語言不使用指針,而是引用。并提供了自動的廢料收集,使得程式員不必為記憶體管理而擔憂。

2、java是面向對象的,具有類,接口等原語;

3、java是解釋型的語言,java程式在java平台上被編譯為位元組碼格式,然後可以在實作這個java平台的任何系統中運作。

解釋型語言:,解釋性語言編寫的程式不進行預先編譯,以文本方式存儲程式代碼。在釋出程式時,看起來省了道編譯工序。但是,在運作程式的時候,解釋性語言必須先解釋再運作。

編譯型語言:程式在執行之前需要一個專門的編譯過程,把程式編譯成為機器語言的檔案,運作時不需要重新翻譯,直接使用編譯的結果就行了。程式執行效率高,依賴編譯器,跨平台性差些。如c、c++、delphi等。如果想學習java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載下傳。

java開發工具及環境、開發包

java主要分為三大體系:

javase(j2se)(java2 platform standard edition,java平台标準版)

javaee(j2ee)(java 2 platform,enterpriseedition,java平台企業版)

javame(j2me)(java 2 platform micro edition,java平台微型版)

2005年6月,javaone大會召開,sun公司公開java se 6。此時,java的各種版本已經更名以取消其中的數字”2”:j2ee更名為java ee,j2se更名為java se,j2me更名為java me。

說明:

standard edition(标準版) j2se 包含那些構成java語言核心的類

比如:資料庫連接配接、接口定義、輸入/輸出、網絡程式設計

enterprise edition(企業版) j2ee 包含j2se 中的類,并且還包含用于開發企業級應用的類。

比如:ejb、servlet、jsp、xml、事務控制

micro edition(微縮版) j2me 包含j2se中一部分類,用于消費類電子産品的軟體開發。

比如:呼機、智能卡、手機、pda、機頂盒

他們的範圍是:j2se包含于j2ee中,j2me包含了j2se的核心類,但新添加了一些專有類,應用場合,api的覆寫範圍各不相同。

上面的每個版本都分别對應不同的jdk(java development kit),可以根據應用不同下載下傳不同的jdk安裝。對于初學者,先學習java se,有了一定基礎之後,可以考慮深入學習java ee,或者轉戰android也行。

jdk中包含了java開發需要的各種類和接口,以及運作java程式所需要的環境jre,若是隻想在各種系統平台上運作java程式而不進行開發,則可以直接下載下傳jre包即可。有些系統是自帶jre的,但不包括windows,是以要想在windows上運作java程式,需要在系統上安裝jre。

jre中包含了jvm(java虛拟機):它是整個java實作跨平台的最核心的部分,所有的java程式會首先被編譯為.class的類檔案,這種類檔案可以在虛拟機上執行,也就是說class并不直接與機器的作業系統相對應,而是經過虛拟機間接與作業系統互動,由虛拟機将程式解釋給本地系統執行。

2、工具

java開發需要一些較好的開發工具,比較好的一個ide就是eclipse;eclipse、idea等ide有自己的編譯器而不是用jdkbin目錄中自帶的,是以在安裝時你會發現他們隻要求你選中jre路徑就ok了;而且用eclipse的話不需要設定系統環境變量,它會自動找到安裝的jre位址。

3、開發環境

java可以下windows和linux等系統下進行開發,這裡僅介紹在windows下開發需要設定的環境參數,在安相應版本jdk之後,進行變量設定。

變量設定

變量名:java_home

變量值:c:\programfiles\java\jdk1.7.0

//這裡是你jdk的安裝路徑,可以更換

變量名:classpath

變量值:.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;//記得前面有個"."

變量名:path

變量值:%java_home%\bin;%java_home%\jre\bin;

1、”開始”->;”運作”,鍵入”cmd”;

2、鍵入指令”java -version”,”java”,”javac”幾個指令,出現相關畫面,說明環境變量配置成功;

java基礎文法

1、基本文法規則

編寫java程式時,應注意以下幾點:

大小寫敏感:java是大小寫敏感的,這就意味着辨別符hello與hello是不同的。

類名:對于所有的類來說,類名的首字母應該大寫。如果類名由若幹單詞組成,那麼每個單詞的首字母應該大寫,例如 myfirstjavaclass 。

方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若幹單詞,則後面的每個單詞首字母大寫。

源檔案名:源檔案名必須和類名相同。當儲存檔案的時候,你應該使用類名作為檔案名儲存(切記java是大小寫敏感的),檔案名的字尾為.java。(如果檔案名和類名不相同則會導緻編譯錯誤)。

主方法入口:所有的java 程式由public static void main(stringargs)方法開始執行。

另外:java中沒有頭檔案,它是以import的方法從外面導入.class檔案的; java中的main函數是包含在一個類中的,與c++是不一樣的,在c++中沒有定義類也是一個程式。

2、源檔案聲明規則

當在一個源檔案中定義多個類,并且還有import語句和package語句時,要特别注意這些規則。

一個源檔案中隻能有一個public類

一個源檔案可以有多個非public類

源檔案的名稱應該和public類的類名保持一緻。例如:源檔案中public類的類名是employee,那麼源檔案應該命名為employee.java。

如果一個類定義在某個包中,那麼package語句應該在源檔案的首行。

如果源檔案包含import語句,那麼應該放在package語句和類定義之間。如果沒有package語句,那麼import語句應該在源檔案中最前面。

import語句和package語句對源檔案中定義的所有類都有效。在同一源檔案中,不能給不同的類不同的包聲明。

類有若幹種通路級别,并且類也分不同的類型:抽象類和final類等。這些将在通路控制章節介紹。除了上面提到的幾種類型,java還有一些特殊的類,如:内部類、匿名類。

3、java包:

包主要用來對類和接口進行分類。當開發java程式時,可能編寫成百上千的類,是以很有必要對類和接口進行分類。(即包中包含很多種類的類和接口)

當編譯一個.java檔案(即一個編譯單元)時,在.java檔案中的每個類都會有一個輸出檔案,而該輸出檔案的名稱與.java檔案中每個類的名稱相同,隻是多了一個字尾名.class。如果你真的想學習java你可以來這個群前面是四九一,中間是八九七後面是一五八這裡有技術大牛親自指導幫助你 還有免費的直播課程學。是以在編譯少量.java檔案之後,會得到大量的.class檔案。每一個.java檔案編譯以後都會有一個public類,以及任意數量的非public類。是以每個.java檔案都是一個構件,如果希望許許多多的這樣的構件從屬于同一個群組,就可以在每一個.java檔案中使用關鍵字package。而這個群組就是一個類庫。

如果使用package語句,它必須是.java檔案中除注釋以外的第一句程式代碼。

4、權限修飾符

java中有四種權限修飾符,這些修飾符控制對類,類的成員方法,類的成員變量的通路;其作用範圍如下:

public:所有的類都可以通路。

private:隻有在同一個類中才可以通路。

protected:同一個類中、同一個包中、子類中都可以通路,其他包不可以。

包類型的,即預設類型同一個類中、同一個包中可以通路到,其他包和子類不可以。

5、資料類型

byte: java資料類型和c/c++基本類似,但java中有byte類型,表示8位2進制的整數,相當于c/c++中的char.

常量:java中常量用final表示,相當于const,final中的值是可以改變的;

-包裝類: 在開發過程中,有時候需要使用對象,而不是内置資料類型,是以java為每個内置資料類型提供了對應的包裝類所有的包裝類(integer、long、byte、double、float、short)都是抽象類number的子類,對于字元也有相應的character類。每個類具有相應的函數。

數組:java數組是對象,與c++不同,文法上與c++類似,java數組具有一個屬性length可以擷取數組的長度。(數組a,a.length為數組長度),array類具有一些函數可以對數組進運算。

java進階特性1、java中的接口

java中類繼承隻允許一個父類,當需要進行多個繼承時,需要使用接口。接口類似于類,定義時用interface替代類定義中的class,但裡面的方法隻有定義沒有實作。接口檔案的檔案名必須與接口名相同。繼承接口的關鍵字為implement,與類的繼承extends相似,可以進行多繼承。接口繼承必須實作接口中的所有方法。

接口是規範,規定某個實作類裡必須有那些方法,隻要事先定義好接口,當大家一起合作的時候就不用特别麻煩的互動,而是每個人寫好自己的接口實作類,最後拼接到一起就可以了比如資料庫連接配接類,接口規定好有哪些方法、方法的功能,然後每個資料庫廠商根據接口去實作具體的類,達到統一的目的,要不每個資料庫廠商自己實作一套,那麼你程式設計的時候就要根據不同驅動使用不同的方法,造成不必要的麻煩。

2、java中的抽象類

隻聲明方法的存在而不具體實作的類,抽象類不能執行個體化(不能建立相應對象)定義方式:在class前加上abstract,ex:

abstractclass 類名{ ;;;}

抽象類中定義的沒有實際意義的,必須在子類重寫的方法為抽象方法,定義時前面加abstract:abstract type name(agrs)。

一般方法定義與在正常類中定義一樣。

java對象建立一般方式:classname obj = new classname;