瞭解 JavaFX Script 編程語言 --第 4 課:數據類型

我們以前見過對象類型的一些示例:Address  Customer。內置類型StringNumberIntegerBoolean  Duration 也是對象類型。本課將討論這些內置類型,還將討論Void 類型和 null
 
目錄
 
String
Number 和 Integer
Boolean
Duration
Void
null
 

您已經見過許多 String 示例,但現在讓我們更全面詳盡地研究一下該類型!可以使用單引號或雙引號來聲明String

var s1 = 'Hello';
var s2 = "Hello";
 

單引號和雙引號是對稱的:您可以在雙引號中嵌入單引號,也可以在單引號中嵌入雙引號。使用單引號括起來的字符串和使用雙引號括起來的字符串沒有任何區別。

您還可以使用花括號 "{}" 在字符串中嵌入表達式

def name = 'Joe';
var s = "Hello {name}"; // s = 'Hello Joe'
 

嵌入的表達式本身可以包含用引號括住的字符串,這些字符串中又可以進一步嵌入表達式:

def answer = true;
var s = "The answer is {if (answer) "Yes" else "No"}"; // s = 'The answer is Yes'
 

在運行時,如果 answer 的值爲 true,則編譯器會將上面的粗體表達式替換爲字符串 "Yes",否則會將其替換爲 "No"。

要聯接(串聯)多個字符串,請在引號中使用花括號:

def one = "This example ";
def two = "joins two strings.";
def three = "{one}{two}"; // join string one and string two
println(three); // 'This example joins two strings.'
 

Number  Integer 類型表示數值型數據,儘管對於大多數腳本任務來說,您通常只需讓編譯器推斷正確的類型:

def numOne = 1.0; // compiler will infer Number 
def numTwo = 1; // compiler will infer Integer
 

但是,您可以顯式聲明變量的類型:

def numOne : Number = 1.0;
def numTwo : Integer = 1;
 

這兩種類型之間的區別是,Number 表示浮點數字,而 Integer 僅表示整數。只有當您確實需要浮點精度時才應使用 Number,否則應首選 Integer

Boolean 類型表示兩個值:true 或 false。在以下兩種情況下使用此類型:設置某個特定於應用程序的內部狀態時:

var isAsleep = true;
 

或者計算條件表達式時:

if (isAsleep) {
wakeUp();
}
 

如果小括號 "()" 中的表達式爲 true,將執行花括號 "{}" 中的代碼。有關條件表達式的更多信息,請參見表達式一課。

Duration 類型表示固定的時間單元(毫秒、秒、分鐘或小時)。

5ms; // 5 milliseconds
10s; // 10 seconds
30m; // 30 minutes
1h; // 1 hour
 

持續時間用時間字面值來標記,例如,5m 是一個表示五分鐘的時間字面值。時間字面值最常用在動畫(您將在使用 JavaFX 構建 GUI 應用程序中的創建動畫對象一課中學習動畫)中。

Void 用來指示函數不返回任何值:

function printMe() : Void {
println("I don't return anything!");
}
 

這與下面的代碼等效,這些代碼中省略了函數的返回類型:

function printMe() {
println("I don't return anything!");
}
 

JavaFX 關鍵字 Void 以大寫字母 V 開頭。如果您熟悉 Java 編程語言中的 void,則應當注意這一點。


注:在 JavaFX 中,一切都是表達式。第二個 printMe 函數的返回類型也是 Void,因爲編譯器能夠推斷其類型。表達式一課將對此進行深入介紹。

null 是一個特殊的值,用來指示缺少正常值。null 與零或空字符串不同,因此 null 比較與零或空字符串比較不同。

允許使用 null 關鍵字進行比較。您通常會看到以下使用 null 的情形:

function checkArg(arg1: Address) {
if(arg1 == null) {
println("I received a null argument.");
} else {
println("The argument has a value.");
}
}
 

此函數接受一個參數,然後執行簡單的測試來檢查其值是否爲 null

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