我们已经看过了对象类型的一些例子:Address和Customer。内置的数据类型如String,Number,Integer,Boolean,和Duration也都是对象类型。这一节讨论这些内置的数据类型,也将讨论Void和null类型。
Contents
- String
- Number and 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 [b]{if (answer) "Yes" else "No"}[/b]"; // 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 and 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
持续时间类型用time语法来写——例如,5m是表示5分钟的语法。Time语法在动画中很常用(作为构建GUI应用的一部分,你将在创建动画对象这一节中学习更多)。
Void
Void类型
Void用来指明函数不必返回任何值:
function printMe() : Void {
println("I don't return anything!");
}
与下面的函数等价,下面的只是省略了函数的返回类型:
function printMe() {
println("I don't return anything!");
}
关键字Void以大些的V开头。如果你已经习惯了Java语言里的void关键字,你需要注意一下。
---------------------------------------------------------------------
注意:在JavaFX中,一切都是表达式。第二个printMe函数的返回值仍是Void,只不过是由编译器推算出来的。你将在表达式这一节学习更多。
---------------------------------------------------------------------
Null
Null类型
Null是一个特定的值,用来指明变量缺失一个正常的值。与0或空字符串不同,null编译时也不会编译成0或空字符串。
null关键字允许进行比较操作。经常看到null这样使用:
function checkArg(arg1: Address) {
if(arg1 == null) {
println("I received a null argument.");
} else {
println("The argument has a value.");
}
}
这个函数接受一个参数,然后判断它是否为null。
Contents
- String
- Number and 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 [b]{if (answer) "Yes" else "No"}[/b]"; // 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 and 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
持续时间类型用time语法来写——例如,5m是表示5分钟的语法。Time语法在动画中很常用(作为构建GUI应用的一部分,你将在创建动画对象这一节中学习更多)。
Void
Void类型
Void用来指明函数不必返回任何值:
function printMe() : Void {
println("I don't return anything!");
}
与下面的函数等价,下面的只是省略了函数的返回类型:
function printMe() {
println("I don't return anything!");
}
关键字Void以大些的V开头。如果你已经习惯了Java语言里的void关键字,你需要注意一下。
---------------------------------------------------------------------
注意:在JavaFX中,一切都是表达式。第二个printMe函数的返回值仍是Void,只不过是由编译器推算出来的。你将在表达式这一节学习更多。
---------------------------------------------------------------------
Null
Null类型
Null是一个特定的值,用来指明变量缺失一个正常的值。与0或空字符串不同,null编译时也不会编译成0或空字符串。
null关键字允许进行比较操作。经常看到null这样使用:
function checkArg(arg1: Address) {
if(arg1 == null) {
println("I received a null argument.");
} else {
println("The argument has a value.");
}
}
这个函数接受一个参数,然后判断它是否为null。