Java是一種編程語言,可以幫助您為許多平臺編寫軟件。無論您是在編寫帶有桌面界面的GUI程序,還是在開發服務器端軟件,或者是在使用Android開發移動應用程序,學習Java都會為您提供很好的服務。下面是一些核心Java概念,可以幫助您入門。
對於任何類型的程序,Java代碼都是用Java源文件編寫的,這些源文件是擴展名為.Java的文本文件。這些源文件使用Java編譯器編譯成Java類文件。然後將類文件組裝成稱為JAR文件的ZIP歸檔文件。這些JAR文件被提供給Java虛擬機執行,該虛擬機開始執行指定類中的main()程序。
變量的概念是每個程序(任何語言)的基礎。變量是程序中存儲值的命名實體。變量:
舉個例子,假設你在計算一個圓的面積。然後需要將圓的半徑存儲在一個變量中(稱為radius),然後使用它來計算面積。查看下面的示例代碼。
static private double computeArea(double radius) { return Math.PI * radius * radius;}Java程序中的每個變量都有一個類型。類型可以是一個原語,如數字(上面示例中的radius的類型為double)、一個內置類(如字符串)或一個用戶定義的類。
類型可以是以下任何類型:
類是Java程序中概念的藍圖。它封裝了行為和狀態。行為用方法表示,狀態用成員變量表示。例如,下面的Circle類的狀態為radius,並提供了一個computeArea()方法來計算其面積。
public class Circle { private double radius; public double computeArea() { return Math.PI * radius * radius; }}對象是類的實例。類定義用作在正在運行的程序中實例化對象的藍圖。下面是如何在程序中創建上述類的實例(名為circle)並調用其方法(解釋如下):
Circle circle = ...;double area = circle.computeArea();構造函數是類中的一種特殊方法,在創建對象時調用它。在構造過程中通過傳入的參數調用它。然後使用這些參數將對象初始化為正確的狀態。在下面的示例中,Circle類提供了一個以半徑為參數的構造函數。
構造函數方法與類名同名。
public class Circle { private double radius; public Circle(double r) { this.radius = r; } // more methods here ...}有了這個定義,我們現在可以實例化一個圓對象。
Circle circle = new Circle(2.5);對象方法是特定行為的實現。它可能計算並返回一個值,在這種情況下,它是用返回類型定義的。或者它可能只是更新對象的狀態。在這種情況下,方法是用void返回類型定義的。
方法也可以接受在計算中使用的參數。
在下面的示例中,computePercentric()方法由用於計算周長的類Circle定義。它不接受任何參數,並返回一個double類型作為其返回值。
public class Circle { ... public double computeCircumference() { return 2 * Math.PI * radius; } ...}字段在類定義中聲明,以表示對象實例的狀態。字段的類型可以是基元類型,也可以是其他類。它通常被聲明為private,這意味著只有類的方法可以直接訪問字段。當字段聲明為public時,也可以從類定義外部訪問它。
下面的示例聲明瞭一個具有兩個字段length和width的Rectangle類。提供了setLength()和setWidth()方法來更新矩形的長度和寬度。
public class Rectangle { private double length, width; public Rectangle(double length,double width) { this.length = length; this.width = width; } public double computeArea() { return this.length * this.width; } public void setLength(double length) { this.length = length; } public void setWidth(double width) { this.width = width; }}接口是Java中一種特殊類型的聲明。它表示概念的抽象,並列出類必須實現的藍圖。當接口中聲明的所有方法都在類中實現時,類被稱為實現了接口。舉個例子會讓事情更清楚。
Java中最常用的接口之一是List接口,它表示項目的有序集合。它定義了必須由類實現才能被視為列表的方法。讓我們考慮這個接口的一個簡化示例,它支持add()、get()和remove()方法。
public interface List { public void add(Object obj); public Object get(int index); public void remove(int index);}實現這個接口的類必須實現所有這些方法。ArrayList類使用陣列支持的存儲系統實現此接口。可宣佈如下:
public class ArrayList implements List { // private field member used for storage private Object[] storage; public void add(Object obj) { // implements add() here } public Object get(int index) { // implements get() here } public void remove(int index) { // implements remove() here }}Java中的包是一個組織單元。類在包中定義,相關類在單個包中分組在一起。按照慣例,包名以分層命名方案組織,從公司域名開始。例如,域名為的公司example.com網站可以定義一個名為com.example.shapes公司,並在此包中實現名為Circle的類。
在與命名組件具有相同子文件夾層次結構的文件夾中創建包。上面的Circle類將在com/example/shapes文件夾中創建。
通過對核心Java概念的簡要介紹,您現在應該對Java世界中使用的術語有了很好的瞭解,併為進一步的Java培訓做好了準備。
您還想了解哪些Java主題?在下面的評論部分分享你的想法!
圖片來源:Maksim Kabakou viaShutterstock.com網站
認知計算和機器學習的關鍵區別在於,認知計算是一種技術,而機器學習是指解決問題的演算法。認知計算使用機器學習演算法。 認知計算使計算機能夠模擬和補充人類的認知能力來做出決策。機器學習允許開發自學習演算...
關鍵區別-有監督和無監督機器學習 有監督學習和無監督學習是機器學習的兩個核心概念。監督學習是一種機器學習任務,學習基於示例輸入輸出對將輸入對映到輸出的函式。無監督學習是從未標記的資料中推斷出一個描述隱...
...主題包括在Windows上使用pip到Git簡介,甚至包括Minecraft Pi入門。Minecraft是Raspbian Linux作業系統上Raspberry Pi的標準配置。雖然Minecraft是一款遊戲,但它是目前最好的編碼應用程式之一。 ...
...高的價格。例如,備受好評的React初學者課程是89美元(入門版)和127美元(大師版)。免費課程很少有這麼全面和有幫助的——但我們發現了一些非常好的課程,可以讓你從正確的角度開始。 ...
...化(非型別化)。由於其廣泛的適用性,JS是一種可靠的入門語言。它是通往更復雜的程式語言如C++的閘道器。 ...
如果你今天要學習一門新語言,Python就是其中一種選擇。它不僅相對容易學習,而且有許多實際用途,可以在不同的技術相關職業中派上用場。 ...
...如果你在尋找精心策劃的靈感,而不是循序漸進的指南或入門課程,Coco Kelley是Pinterest精練的漂亮替代品。 ...