数据类型

我们已经看过了对象类型的一些例子: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。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值