1、 变量定义
关键字def和var:其中def相当于定义不可变常量;var 是可以在需要时随时改变其值。即在脚本的整个生命周期内都可以为var
变量赋予新值,而def
变量在被首次赋予新值后将保持不变;
2、变量类型
有些和javascript类似,定义变量时,不必须定义变量类型,javafx可以进行“类型推断”;
3、控制台运行
javafx提供了一个和java类似的主函数function run(args:String[]).如果需要在控制台输入参与调试函数,则可把相关的功能函数放置在run函数内部调用,诸如下所示:
/*
* 变量声明区test
**/
def chs = "伟大的中国人民!伟大的中华民族!" ;
var result;
/*
* 函数调用区test
foo();
**/
foo();
/*
* 功能实现区
**/
function run(args : String[]){
def numOne = java.lang.Integer.parseInt(args[0]);
def numTwo = java.lang.Integer.parseInt(args[1]);
result = add(numOne,numTwo);
println("{args[0]}+{args[1]}={result}");
}
function foo(){
println("测试字符串串test:{chs}");
}
4、数据类型
内置的数据类型。JavaFX Script 编程语言支持字符串类型、数值类型、布尔 (true/false) 类型。还支持基于时间(持续时间)的类型,以及用于指示函数不返回任何值和指示缺少正常值的特殊类型。即
- |
String |
- |
Number 和 Integer注意:从 SDK 1.1 开始,该语言还包含与 Java 编程语言中的数值类型相一致的数值类型。因此,数值类型的完整列表为:Byte 、Short 、Number 、Integer 、Long 、Float 、Double 和Character 。但大多数程序员在其编写的脚本中只需要使用Integer (或Number )。如果您在学习该语言时具有 Java 编程语言背景并且需要完成一个必须使用其他数值类型的任务,那么请记住您的脚本现在可以使用这些附加类型。 |
- |
Boolean |
- |
Duration |
- |
Void |
- |
null |
全部类型表如下:
Type
Declaration
Default Value
Element Specifier
Cardinality
Literal or Creation Examples
String
|
: String
|
""
|
java.lang.String
|
1 Required
|
"Brownian"
|
Integer
|
: Integer
|
0
|
java.lang.Integer
|
1 Required
|
1956
|
Number
|
: Number
|
0.0
|
java.lang.Double
|
1 Required
|
1.4142
|
Boolean
|
: Boolean
|
false
|
java.lang.Boolean
|
1 Required
|
true
|
Duration
|
: Duration
|
0ms
|
javafx.lang.Duration
|
1 Required
|
47s
|
Object
|
: Object
|
null
|
java.lang.Object
|
0-1 Optional
|
new Object
|
other class types
|
: ClassName
|
null
|
ClassName
|
0-1 Optional
|
Point {x: 3 y: 9}
|
function types
|
: function( name: ParamType, ...) : ReturnType
|
null
|
function( name: ParamType, ...) : ReturnType
|
0-1 Optional
|
function(x:Integer):String {" {x} "}
|
sequence types
|
: ElementSpec[]
|
[]
|
ElementSpec
|
0-n Sequence
|
[9, 14, 21, 4]
|
5、访问修饰符
- |
默认访问默认访问称为“仅脚本”,是指在未提供访问修饰符的情况下获得的访问 |
- |
package 访问修饰符要使变量、函数或类可供同一个软件包中的其他代码访问,请使用package 访问修饰符 |
- |
protected 访问修饰符访问修饰符使变量或函数可供同一个软件包中的其他代码以及任何软件包中的子类访问 |
- |
public 访问修饰符类、变量或函数的可见性最高。可以从任何软件包中的任何类或脚本对其进行访问 |
- |
public-read 访问修饰符访问修饰符定义可公开读取但(在默认情况下)只能从当前脚本内部写入的变量。为了扩大该变量的写入访问级别,可以在该修饰符前面添加package 或protected 修饰符(即package public-read 或protected public-read )。这会将该变量的写入访问级别设置为package 或protected 。 |
- |
public-init 访问修饰符访问修饰符定义可以由任何软件包中的对象字面值公开初始化的变量。但是,后续的写入访问将按照与public-read 相同的方式进行控制(默认情况下写入访问级别是脚本级别,但是该修饰符前面的package 或protected 将相应地扩大访问级别)。始终可以从任何软件包读取此变量的值。
|
6、序列和表达式
序列定义为def strSeq = ["a","b","c","d"],def IntSeq =[1..100 step 2]默认step为1,也可谓负数;也可以指定序列类型,如下所示:def weekDays: String[] = ["Mon","Tue","Wed","Thu","Fri"];
表达式需要注意的是块表达式、范围表达式和for表达式,其中块表达式块表达式由一系列声明或表达式组成,它们括在花括号中并用分号进行分隔。块表达式的值是最后一个表达式的值。如果块表达式中不包含表达式,则其类型为Void
。请注意,var
和def
是表达式;范围表达式为形如[0..5]
,是一个范围表达式。默认情况下,相邻值之间的间隔为 1,但是您可以使用step
关键字来指定一个不同的间隔。例如,定义一个由 1 到 10 之间的奇数构成的序列;for表达式只有一种格式,即为
for(x in xxx)。其他表达式if、while、以及break、continue、try catch finally等和java雷同。
分享到:
相关推荐
OpenCV和JavaFX入门 计算机视觉课程 在Eclipse(Neon)中创建的两个简单项目,分别是库(版本3.x)和JavaFX(版本2或更高版本)入门。 请注意,这两个项目都是出于教学目的而实现的Eclipse项目。 在使用它们之前...
请注意,该项目是一个Eclipse项目,用于教学目的。 在使用它之前,您需要安装OpenCV库(版本3.x)和JavaFX 8,并创建一个名为opencv的User Library ,该User Library链接到OpenCV jar和本机库。 可从获得有关OpenCV...
请注意,该项目是一个Eclipse项目,用于教学目的。 在使用它之前,您需要安装OpenCV库(版本3.x)和JavaFX 8),并创建一个名为opencv的User Library ,该User Library链接到OpenCV jar和本机库。 可从获得有关...
请注意,该项目是一个Eclipse项目,用于教学目的。 在使用它之前,您需要安装OpenCV库(版本3.x)和JavaFX 8,并创建一个名为opencv的User Library ,该User Library链接到OpenCV jar和本机库。 可从获得有关...
请注意,该项目是一个Eclipse项目,用于教学目的。 在使用它之前,您需要安装OpenCV库(版本3.x)和JavaFX 8,并创建一个名为opencv的User Library ,该User Library链接到OpenCV jar和本机库。 可从获得有关...
请注意,该项目是一个Eclipse项目,用于教学目的。 在使用它之前,您需要安装OpenCV库(版本3.x)和JavaFX 8,并创建一个名为opencv的User Library ,该User Library链接到OpenCV jar和本机库。 可从获得有关OpenCV...
入门diztl项目是使用Go语言编写的,带有JavaFX中使用JavaFX的前端实现。 要开始使用,请运行以下命令:go get -v github.com/gravetii/diztl / ... Diztl需要在主机上安装Java 8才能使UI正常工作。 配置步骤复制...
入门 该项目旨在为台式设备开发井字游戏。 该游戏应该包括三个部分,一个是单人游戏,一个是与系统对战的玩家,两个是同一台PC上的玩家,另一个是多人游戏(两个是台式机上的玩家,彼此对战)。 为了实现这些目标,...
信息: 遵循MVP模式(模型视图演示)的原理,使用IntelliJ上的JavaFx对游戏进行了编码。 该存储库中提供了源代码,您必须下载整个文件才能在IntelliJ或任何其他代码编辑软件上打开它。 第二个“ build”文件夹仅包含...
FXLauncher的Maven快速入门演示应用程序 此示例展示了如何在Maven应用程序中配置 ,以结合本机安装程序提供自动更新(可选)。 请参阅以获取完整的文档。 注意:FXLauncher并没有Maven的特殊之处,并且这些操作...