新手初入Java
1. 初識JAVA
JAVA語言簡單介紹
作為現如今最熱門的程式語言之一,Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向物件程式語言的代表,極好地實現了面向物件理論,允許程式設計師以優雅的思維方式進行復雜的程式設計 。Java具有簡單性、面向物件、分散式、健壯性、安全性、平臺獨立與可移植性、多執行緒、動態性等特點 。
JAVA的編譯開發需要以下幾個東西:
1.JAVA開發工具包(Java Development Kit),又可簡稱JDK,是一個編寫Java的Applet小程式和應用程式的程式開發環境,也是一個程式的核心。其中包括了JVM(Java Runtime Environment)即Java執行環境和JVM(Java virtual Machine)即Java虛擬機器;
JAVA語言的應用
Java可以編寫Android應用、在金融業應用的伺服器程式、網站、嵌入式系統應用程式、大資料技術等 。
2.嘗試第一次編寫JAVA程式
在編譯程式之前我們需要知道幾款常用的Java程式設計軟體:
- IntelliJ IDEA:在程式碼自動提示、程式碼分析等方面的具有很好的功能。
- Eclipse:一個開放原始碼的、基於Java的可擴充套件開發平臺。
- NetBeans:開放原始碼的Java整合開發環境,適用於各種客戶機和Web應用。
- MyEclipse:由Genuitec公司開發的一款商業化軟體,是應用比較廣泛的Java應用程式整合開發環境。
- EditPlus:如果正確配置Java的編譯器"Javac"以及直譯器"Java"後,可直接使用EditPlus編譯執行Java程式
一個簡單的JAVA程式
程式碼:
public class HelloWorld{
public static void main(string[] args){
System.out.println("Hello World");
}
}
這大概是我們每個人寫的第一個Java程式了,儘管很簡單,但是其中確實有很多可以學習的地方。例如:
- 其中類(class)要與.java檔案的名字相同,如上述例子中的HelloWorld;
- main函式要用static修飾,其原因是main函式作為一個程式的入口,不能先去例項化一個物件去呼叫它,而需要直接呼叫,所以要用static修飾。
- 括號()中的string[] args為string一個形式引數。string會在後文中介紹;
- 編寫程式要用英文,不能使用中文的符號。
包(Package):
Java程式中使用package關鍵字宣告包,格式如package 包名稱;包名稱一般約定為 小寫字母,這樣就可以與類的名稱區分開來。
package語句必須是源程式檔案中第一個非註釋、非空白行的語句。
包的成員可以包含子包,類,介面。例如java包中包含子包awt、applet、io、lang、net和util。java.util包中包含java.util.jar等子包、java.util.Date等類、java.util.Formattable等介面。
一個包(子包)的成員不能重名。例如,如果包javabook定義了子包test,則不能定義名稱為test的類或介面。
類和物件:
Java程式主要有Java類庫中定義的類和使用者自定義類組成。類是一個數據結構,將狀態(資料成員)和操作(函式成員)組合在一個單元中,用於實現窗體、使用者介面控制元件和資料結構等功能元素。
可以使用new運算子建立類的例項物件,通過呼叫物件的方法進行各種操作,實現應用程式的不同功能。
Java類庫提供了大量的類庫(如java.lang.Math),大家可以直接通過類名呼叫這些類提供的靜態成員。例如:
程式碼:
double d1=1.0;
double d2=Math.sin(d1);
也可以通過關鍵字new建立這些類的物件例項,並通過物件例項訪問其例項成員。例如:
程式碼
java.util.Random rnd=new java.util.Random(); //建立物件
rnd.setSeed(443); //呼叫方法物件,產生隨機種子
System.out.println(rnd.nextInt()); //呼叫物件方法,產生一個隨機整數,並輸出
main方法:
Java的可執行程式必須包含一個main()方法。main()方法是Java應用程式的入口方法,用於控制程式的開始和結束。
1.main方法的定義包括一下幾個元素:
- public:main()方法是一個公共型別,可以被任何物件呼叫。
- static:main()方法是一個靜態方法,可以直接通過類呼叫,因為執行程式時還沒有建立類的物件。
- void:JVM不接受返回值,因此返回值型別為void。
- String[] args:main()方法包含一個字串陣列的輸入引數,用於接收命令列引數。
2.命令列引數:
main()
方法的引數時表示命令列引數的String陣列。通過測試args.length屬性來檢查引數是否存在,args[0]表示第一個引數,args[1]表示第二個引數,以此類推。
程式碼:
public class TestDemo1 {
public static void main(String[] args) {
//輸出引數個數
System.out.println("引數個數="+args.length);
//使用for語句輸出各引數值
for(int i=0;i<args.length;i++){
System.out.println("Args["+i+"]="+args[i]);
}
}
}
執行結果:
註釋
Java使用傳統的C風格註釋方式:當行註釋使用"//…",多行註釋使用"/…/"。所有註釋的內容會被編譯器忽略。
示例:
單行註釋:
//..... 單行註釋;
多行註釋:
/*...
... 多行註釋;*/
Java編碼規則:
- Java原始檔由Unicode碼構成。其中註釋、標識碼、字元常量、字串可以為非ASCII碼字元。其他均為ASCII碼[^1]。
[^1] 注:ASCII碼是Unicode碼的一部分(\u0000~\u007f,即Unicode碼的前128個字元。) - Java程式碼區分字母的大小寫。
- Java語句通常以分號終止。
- 一行可以書寫多條語句,語句間使用分號(;)分隔。
- 一條語句可以分多行書寫。
- 通過縮排增加程式的可讀性。多餘的空白字元(空格和製表符)不改變程式的功能。
- 適當增加註釋以增加程式的可讀性。Java在編譯過程中會忽略註釋,並且註釋不影響編譯後的程式碼。
小提示:
- 程式設計要多練習,人們常說"眼過千遍不然手過一遍!"。
- 可以註冊一個程式設計刷題網站的賬號,例如LintCode:https://www.lintcode.com/ 、CodeVs:http://codevs.cn/ 等網站。
- 再剛開始編寫程式碼的過程中,當遇見不會的問題時,不要心急。在紙上多分析分析。
- 要有信心,遇見問題不要灰心喪氣。要相信自己。