http://cnjavafx.cn/javafx/index.html
JavaFx的數據類型
變量
在JavaFx中需要通過var關鍵字來定義變量(如同JavaScript一樣),變量的類型是可以省略的,省略的話變量的類型通過實際賦值的類型來推斷。變量定義格式爲:
var 變量名:變量類型 = 變量值;
例如:
package example;
var i:Integer = 12;
var i1 = 11;
var name:String = "hello";
var name1 = "hello";
標識符的規範和Java一樣,下劃線或者字母開頭,由下劃線、字母、數字組成。JavaFx還接受另外一種規範,包含在<<...>>之間的,任意字符串,包括空格,可以作爲JavaFx中的標識符。這樣可以把JavaFx的關鍵字或者其他保留字,當作普通標識符來使用。例如:
var <<class>> = 100;
var <<delete>> = "hi";
<<...>>的語法還有另外一種用意。在Java和JavaFx之間有些關鍵字和保留字不盡相同,有了這個語法就能克服了。例如:有些在Java代碼裏面的方法名稱在JavaFx裏面恰好是關鍵字。
var textArea = new JTextArea();
textArea.<<insert>>("Hello", 0);
基本數據類型
JavaFx基本數據類型對應於Java中的數據類型JavaFx Java
String java.lang.String
Boolean java.lang.Boolean
Number java.lang.Number
Integer byte,short,int,long,BigInteger
Duration 無
前面四種類型已經爲Java程序員所熟識,並經常使用的了,比較簡單,這裏着重解釋一下JavaFx所獨有的Duration類型。Duration,即javafx.lang.Duration,用來表示一個時間段(單位可以爲毫秒,秒,分,小時),主要用於JavaFx裏面動畫的實現。我們來看一下Duration的例子:
5ms; //5 毫秒
10s; //10 秒
30m; //30 分
1h; //1 小時
運行一下下面的代碼,把以上幾個Duration值輸出看一下結果:
System.out.println(5ms);
System.out.println(10s);
System.out.println(30m);
System.out.println(1h);
運行結果:
#javafx example.datatypes
5.0ms
10000.0ms
1800000.0ms
3600000.0ms
JavaFx中的字符串
JavaFx中的字符串,可以用單引號或者雙引號括起來來表示。
var s1 = 'hello';
var s2 = "hello";
JavaFx的字符串比較有用的,在{...}中內嵌表達式。
import java.lang.System;
var name = 'Bei Jing';
var message = 'Hello, {name}.';
System.out.println(message);
執行這段腳本,我們將會看到message的值爲:Hello, Bei Jing.
#javafx example.datatypes
Hello, Bei Jing.
在{...}表達式中可以包含語句,還可以包含"..."的字符串,當然,也可以再往裏嵌套{...}表達式。
var id = 101;
var message2 = "name : {if (id > 100) "Bei" else "Jing"}";
System.out.println(message2);
運行之後看輸出結果:
#javafx example.datatypes
name : Bei
與Java中字符串不同的是,JavaFx中雙引號括起字符串可以包含換行。
System.out.println("hi,
this is a new
line test");
字符串的格式化,我們需要給值提供一個格式化串。格式化規則參照 java.util.Formatter
import java.util.Date;
var hexStr = "hex of 13 is 0x{%02X 13}"; // hexStr = "hex of 13 is 0x0D"
var date = new Date(107, 10, 11);
var dateStr = "{%tc date}" // dateStr = "Sun Nov 11 00:00:00 PST 2007"
System.out.println(hexStr);
System.out.println(dateStr);
運行看結果:
#javafx example.datatypes
hex of 13 is 0x0D
星期日 十一月 11 00:00:00 CST 2007