JavaSE學習筆記(一)——Java簡介與基礎

一、  Java語言簡介

1.1           計算機語言的發展過程

   計算機語言發展主要分爲三個階段:

1.第一代:機器語言

2.第二代:低級語言

3.第三代:高級語言

1.2           Java發展簡史

  1Java 是一種程序開發語言,既然是一門語言,就像其他語言一樣,具備一定的語法

和自己的數據結構。

2Java語言來源於sun公司,sun指的是斯坦福大學網絡。由james gosling領導並開發。


         

Java語言的具體發展歷程

1991~1995  Sun 爲了佔領智能消費電子產品市場,由james gosling 負責該項目,來開發Oak 語言

1995  Oak 改名爲Java

1996  發佈JDK1.0

1997  發佈JDK1.1

1998  發佈JDK1.2,將該版本命名爲J2SDK,Java更名爲Java 2

1999  Java 分爲三大塊:J2SE(Java 標準版)J2EEJava  企業版)、J2ME(Java 微型版本)

2000  發佈J2SE1.3

2002  發佈J2SE1.4

2004  此時不再叫J2SE1.5,5.0

2005  Java 10 週年,將J2SE 改爲JAVA SE

J2EE 改爲JAVA EE、將J2ME  改爲JAVAME

2006  發佈JAVA SE 6

2011  7 JAVA  SE 7

2014319 JAVA SE 8 發佈

 

1.1           JAVASEJAVAEEJAVAME的關係

   Java可以分爲三個個版本,JAVAME適用於小型設備和智能卡的開發(Java Platform MicroEditionJavaME)JAVASE適用於桌面系統的核心Java開發平臺,也成爲Java 平標準版(Java Platform Standard EditionJava SE),第三種是基於web和服務器的應用程序Java 平臺企業版(Java Platform EnterpriseEditionJava EE)

   

           wKiom1f3F5DgOmHOAAAPT_WEd5g830.png-wh_50

        

1.2           Java語言特性

1.面向對象

優於面向過程的開發語言,更適用於大型軟件的開發。

2.可移植性

Java語言是跨平臺的,只需要編譯一次,就可以在多種平臺上運行,例如在Windows上編譯運行的程序也可以在Linux系統上運行。但需要安裝不同平臺上的JDK(Java開發運行環境)

3.健壯性

Java擁有自動垃圾回收機制,GC。不需要手動對內存中的垃圾進行回收。

4.多線程

可以多線程開發

5.開發簡單性

   易於學習,sun提供了很多工具包。

1.3           Java的加載與執行過程

   Java程序經過一次編譯就可以在不同的平臺上運行,而不需要再次編譯,這也是Java流行的一個原因。例如:編譯好的程序可以在Windows系統、Linux系統或嵌入式終端上運行。

   編寫好的Java程序需要經過編譯才能執行,編譯的目的是讓底層的平臺或者機器可以識別並執行。下面的圖是Java程序編譯執行的過程。

   

         wKiom1f3F73xi28uAAAZyr-kBRM126.png-wh_50

  

   Java程序的執行分爲兩個階段

1.編譯期

編譯期將Java源文件.java編譯成.class字節碼文件。

   2.運行期

   Java類加載器將.class文件加載到內存,在Java虛擬機JVM中進行解釋並生成可執行代碼,注意:這個可執行代碼是不同平臺的可執行代碼。

   如下圖:

              wKiom1f3GAKgSVBwAAAetBegmTc052.png-wh_50

1.4           準備

1.4.1       下載安裝JDK

   要下載要運行程序的系統對應的JDK,如:windows系統下載jdk-6u5-windows-i586-p.exeLinux系統下載jdk-8u51-linux-x64.tar.gz。並安裝。

1.4.2       MS-DOS常用命令

   cd命令:切換目錄。

   命令格式:

cd 目錄名稱

 

   dir命令:顯示當前目錄下的文件信息。

   命令格式:

dir

 

   mkdir命令:在dos系統下創建目錄。

   命令格式:

mkdir 目錄名稱

md目錄名稱

 

   cls命令:清屏。

   命令格式:

cls

 

del命令:刪除一個文件。

   命令格式:

del 文件名稱

 

rmdir命令:刪除一個空的目錄。

   命令格式:

rmdir 文件名稱

rd 文件名稱

 

move命令:文件更名。

   命令格式:

move 文件名稱 新文件名稱

 

1.4.3       環境變量PATH

   告訴系統,要執行的命令在什麼地方,如果不設置path,系統就找不到你要執行的命令。也就是說path和操作系統相關的,和java沒有關係,但是如果JDK安裝目錄不在path中設置,操作系統就找不到我們要用的javajavac命令。

當執行javac命令時,操作系統會在path中找,找到就執行,找不到就報錯。

C:\Users\LZD>java  -version

java version "1.7.0_79"

Java(TM)  SE Runtime Environment (build 1.7.0_79-b15)

Java  HotSpot(TM) Client VM (build 24.79-b02, mixed mode, sharing)

 

如果顯示上面信息,說明JDK配置成功。

1.4.4       環境變量CLASSPATH

   CLASSPATH是和Java相關的。當執行一個Java程序時,會啓動一個JVM,虛擬機要在CLASSPATH設置的目錄下找要執行的.class文件,如果找到了就執行,如果找不到就報錯。如果不設置CLASSPATHJVM就在執行java命令的當前目錄下找,如果設置了CLASSPATH就在CLASSPATH下找,不在當前目錄下找。

  

1.5           第一個Java程序

   第一個Java程序我們使用文本編輯器進行編輯,並且在命令行進行編譯和執行。對Java程序的編譯和執行過程做到了解。

   第一個Java程序HelloWorld.java

public  class HelloWorld{

 

   public static void main(String[] args){

     

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

   }

}

 

1.5.1       首先編譯Java源文件

   在命令行編譯源文件,使用javac命令,命令格式如下:

C:\Users\LZD>javac  d:/corejava/HelloWorld.java

D:\>javac  corejava/HelloWorld.java

D:\corejava>javac  HelloWorld.java

 

   可以是相對路徑也可以是絕對路徑。注意:javac命令後必須是完整的文件名稱,含擴展名java。編譯完成後會在源文件目錄形成一個HelloWorld.class 文件,這說明編譯成功了。編譯成功後就可以執行了。

1.5.2       執行Java程序

   Java源文件編譯成.class文件後就可以執行了。執行Java程序需要使用java命令,命令格式如下:

D:\corejava>java  HelloWorld

Hello  World

 

   注意:java命令後跟着的是類名,但不含後綴.class。另外需要注意的是,執行Java程序涉及到CLASSPATH環境變量,如果不設置CLASSPATHJVM就在執行java命令的當前目錄下找編譯好的.class文件並加載執行,如果設置了CLASSPATH環境變量,Java虛擬機JVM就會在CLASSPATH指定的目錄下找,而不在執行java命令的當前目錄下找.class文件。

1.5.3       語法簡介

   HelloWorld.java

//  public 訪問修飾符,全局可訪問,關鍵字

//  class 說明聲明的是一個Java類,關鍵字

//  HelloWorld 用戶定義的類名,標識符

public class HelloWorld{

   // public 語義同上

   // static 表示方法是靜態的,關鍵字

   // void 表示方法沒有返回值,關鍵字

   // main Java程序執行入口方法,關鍵字

   // String[] args 數組參數

   public  static void main(String[] args){

      // 將信息輸出到控制檯

      // System sun提供的工具類

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

   }

}

 

1.5.4       Java中的註釋

   Java中,註釋會被Java虛擬機忽略,不會執行。主要用於程序功能的說明,方便其他開發人員瞭解程序的基本功能。

   Java中註釋有三種方式:

   1.單行註釋

// 單行註釋

 

   2.多行註釋

/*

  多行註釋

多行註釋

*/

 

3.多行註釋

/**

*  多行註釋

*  可以生成java doc文檔

*/

 

1.6           定義Java

   Java中,定義類有兩種方式:

   1.採用pubicclass 類名的方式

pubic  class 類名{

   // 類體

}

 

   注意:如果採用public class來聲明一個類,那麼文件名稱和類名必須完全相同(包括大小寫)。如果不同會報錯。

 

   2.採用class類名的方式

class 類名{

   // 類體

}

 

   注意:採用class關鍵字來聲明類,文件名可以是任何合法的文件名稱,文件名不需要和類名一致(當然可以相同)。但生成的class 文件名稱和類名一致,如果類名和文件名稱不同,.class文件名稱和類名相同不和原文件名稱一致。

 

   在一個源文件中可以聲明多個類,可以將所有的類都使用class來聲明,我們新建一個Java源文件ClassTest01.java,文件內容如下:

class  A{

   public static void main(String[] args){

       // 方法體

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

   }

}

 

class  B{

   // 類體

}

 

class  C{

   // 類體

}

 

   編譯:

javac  ClassTest01.java

 

   在目錄下會生成三個.class文件,A.classB.classC.class

 

   執行:

java A

 

   注意:在一個java文件中,可以有多個class,沒有public class,文件名可以不和類名相同,只要是合法的文件名稱就行了。

 

   另外,在一個源文件中可以使用public class來聲明一個類,但是要注意:如果有public class且只能有一個並且和Java文件名稱必須相同,也就是java文件中只能有一個class能被public修飾。

public  class A{

   public static void main(String[] args){

       // 方法體

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

   }

}

 

class  B{

   // 類體

}

 

class  C{

   // 類體

}

 

下面的方式是不和法的

public  class A{

   public static void main(String[] args){

       // 方法體

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

   }

}

 

public  class B{

   // 類體

}

 

class  C{

   // 類體

}

 

一、  Java中的標識符與關鍵字

2.1          標識符

Java中,標識符可以用來標識類名,接口名,變量名和方法名,也就是用戶可以定義的名稱。

2.1.1       Java 標識符的命名規則

   1.標識符是由,數字,字母,下劃線和美元符號構成,其他符號不可以

2.必須以字母、下劃線或美元符號開頭,不能以數字開頭

3.關鍵字不能作爲標識符

4.標識符區分大小寫

5.標識符理論上沒有長度限制

參見表格

合法標識符不合法標識符

$Abc

合法

_Abc

合法

123abc

非法

public

非法

Abc def

非法

Abc-def

非法

public1

合法

Abc#

非法

Abc%

非法

Abc123

合法

Abc_123

合法

#Abc

非法

 

對於如何命名Java 標識符,通常的做法是見名知意,如:根據類名就知道此類的功能,通過方法名稱就知道方法的作用等等。

   通常的規範是:類名首字母大寫,後面每個單詞的首字母大寫。方法名首字母小寫,後面每個單詞首字母大寫。變量首字母小寫後面每個單詞首字母大寫。靜態變量全部大寫。

   如下面的例子:

// 類名首字母大寫,後面每個單詞的首字母大寫

public  class ClassTest02{

    // 變量首字母小寫後面每個單詞首字母大寫

public String studentName;

// 同上

public int age

//靜態變量全部大寫

public String COUNTRY = "中國" ;

 

// 方法名首字母小寫,後面每個單詞首字母大寫

public void studyLesson(){

    System.out.println("學習Java") ;

}

}

 

2.2          關鍵字

   Java關鍵字是Java語言開發者定義的,並且有特定含義的字符。不能用關鍵字定義標識符。在Java 中關鍵字都是小寫的

class  extends  implements  interface  import

package   break  case  continue   default

do  if  else   for  return

switch  while  false  true  null

Boolean   byte  char  short   int

Long  float  double  try  catch

throw  throws  finally  abstract  final

native  private  protected  public   static

synchronized   transient  volatile  instanceof  new

super  void  assert   enum  goto

const

 

二、  內容回顧與練習

3.1           內容回顧

1.瞭解Java發展歷史

2.瞭解JavaSEJavaEEJavaME的區別和聯繫

3.瞭解Java的編譯期和運行期的概念

4.掌握環境變量PATHCLASSPATH的作用和區別

5.會編寫Java程序,並且在命令行編譯執行。理解javacjava命令執行過程

6.如何定義Java

7publicclassclass的區別


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章