當前位置:
首頁 > 知識 > JAVA學習 基礎入門

JAVA學習 基礎入門

了解一下開發java的基本過程以及java的基本特性。與C++做些簡單的比較,熟悉兩種語言的共性和區別。

Java 的主要特性:

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

2、Java是面向對象的,具有類,介面等原語;

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

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

編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等。

Java開發工具及環境

1、開發包

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:ProgramFilesJavajdk1.7.0

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

變數名:CLASSPATH

變數值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;//記得前面有個"."

變數名:Path

變數值:%JAVA_HOME%in;%JAVA_HOME%jrein;

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文件之後,會得到大量的.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();

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

這些才是JAVA和C加加的核心區別
怎麼學好Java?新手必看
Java與C/C+的區別
了解下JavaScript與Java的區別
Java Web前端到後台 常用框架介紹

TAG:java學習吧 |

您可能感興趣

CATIA日常學習
SEO新手基礎入門教程學習10大框架
AI 基礎入門系列4:設置機器學習工作台
產品經理入門機器學習:AIPM從入門到實踐
初學者入門 Golang 的學習型項目
深度學習得靠它!NVIDIA Volta GPU核心架構深層技術
IBM推AI深度學習計劃
日語學習必備APP
CIMA運營級CASE學習及考試經驗分享
中科視拓推DTaaS深度學習訓練服務 可大幅降低AI研發門檻
基礎UI學習指南
蘋果攜手IBM將機器學習引入企業iOS設備
赫爾辛基大學AI基礎教程:機器學習的類型
扣丁學堂HTML5培訓之從入門到精通學習路線圖
PHP學習資料推薦
Python入門學習指南
靈活構建複雜的RF場景——ADI ADALM-PLUTO SDR主動學習模塊
NVIDIA Tesla M4 低功耗設計加速卡 深度學習
GPU訓練機器學習模型哪家強?AWS、谷歌雲、IBM等6大平台對比
ARM推4款GPU 使入門級手機也能用上機器學習