`
suifongqi
  • 浏览: 55856 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JFX学习笔记 三 重修语法之数组

    博客分类:
  • JAVA
阅读更多
相当郁闷,本来写好的,结果遭遇PC重启,又....只能当再次复习了
来吧数组,JFX中的数组据说是常用数据结构,并且也像JAVA一样数组中只能是相同类型的元素。在没有具体研究下去之前,我还是有几个疑问:
1 JFX的数组是否像JAVA中一样是对象的存在,简单一点就是数组对象.方法()/数组对象.属性
2 JFX的数组能否自增长
3 遍历方式
在没有具体接触JFX数组特征前就这么多疑问了,至于JFX数组算值类型还是引用类型,JVM里是怎么实现的,这些就暂且不去想了,刚过菜鸟级嘛,不给自己找麻烦(找个台阶下嘿嘿
package jfx;
import java.lang.System;
// place your code here
var week_days = ["Mon","Tue","Wed","Thur","Fri"];
var days = [week_days, ["Sat","Sun"]];

for(s in days)
{
  System.out.println(s); 
}
这里我创建了两个数组,第二个数组days是由week_days和["Sat","Sun"]构成的,尝试一下这么写行不行:
var nums = [1,2,3]+[4,5,6,7];
感觉上好像可以对吧,但却是错的,因为JFX的+,不支持此项操作规则。写过运算符重载的同志都知道,语法中的操作符具备的功能也是代码定义的。
看看我之前提出的疑问,我写了这样的代码:
var n = days.length;
System.out.println(n);
让我遗憾的是上面的代码不正确,这说明JFX中的数组变量并非以对象形式存在。想获得数组长度得使用sizeof关键字
var n = sizeof days;
System.out.println(n);
JFX数组有一些偷懒的写法,例如数组中包含一个数列(1到100的奇数之类的),可以用".."来搞定,如下:
[1,3..100],如果其实为小树则为增序排,相反则为降序,step可以为1也可以为其它值
现在来看看如何遍历。其实老办法我已经在上面的代码中写出了使用for语句,注意一点
for(s in days)
{
  System.out.println(s); 
}
变量S前面没有var关键字,确认一下,这里不是我漏掉,这里不能加var至于为什么就得去问定义语法的同志了。
当然数组可以像在Java中那样通过索引访问:var wednesday = days[2];
得到的结果是Wed,说明数组索引也是从0开始
当然JFX还给了一些方便但很别扭的其它方式访问,如下:
var nums = [1,2,3,4];
var numsGreaterThanTwo = nums[. > 2]; // yields [3, 4]
在数组中使用表达式是不是很奇怪呵呵(不过很遗憾,我始终无法正确运行这段代码,下来再找找原因)var numsGreaterThanTwo = nums[cc|cc > 2];与上面相同。注意一点不能直接写成var numsGreaterThanTwo = nums[cc > 2];变量CC类型缺省被解释成了object,无法做>运算,也不能在此之前给出var cc =1;因为这里我们不是要Boolean的结果,而是要把数组的值取出给numsGreaterThanTwo ,我理解成,CC是用于存取nums里符合条件的元素。那为什么不写成CC>2而是cc|cc>2 ? 学习笔记嘛。。。我也不清楚,我想继续看下去会清楚的,这里把问题记下了。
其它获取方式:JavaFX中的空数组[]与null等价
[] == null // yields true
sizeof null // yields 0
sunm[indexof.==0]//取第一个元素
20日未完继续










1
0
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    emed6004jfx工具`

    标题中的"emed6004jfx工具"很可能是指一个特定的软件或应用程序,而`.rar`文件格式表明这是一个压缩包,通常用于存储和传输多个文件。从描述中我们可以看到,这个压缩包的名字是`emed6004jfx.rar`,并且要求字符数...

    java1.8版本,jre,jfx

    值得注意的是,从Java 9开始,JavaFX被移出JDK的核心部分,成为一个独立的模块,但在Java 8中,它还是内置的,这正是"jfx"标签所指的内容。 在压缩包中,"java"文件可能包含了Java 1.8的完整安装程序或者特定组件,...

    俄罗斯方块jfx源代码

    总的来说,“俄罗斯方块jfx”源代码为我们提供了一个学习和研究JavaFX游戏开发的实例,从中我们可以学到JavaFX的图形渲染、事件处理和游戏逻辑设计等多个方面的知识。无论你是Java初学者还是希望提升图形界面编程...

    JFX例子

    JFX的例子是学习JavaFX的基础,通过这些示例,初学者可以快速了解并掌握JavaFX的基本概念和技术。 在提供的文件列表中,我们可以看到两个部分的教程:“JavaFX发现之旅:JavaFX Script With Eclipse 入门”。这部分...

    欧码简音5JFX输入法

    简音输入法是专为希望学好中文发音,又希望超快 地输入汉字的人设计的,单字平均出字仅1.26码,远比 同类音码快;输入编码后视屏可同显简体和繁体,极有 利于学记各简体繁体字的对应模样,同屏对比了解简体 ...

    JFX3DModelImporters_EA_2014-02-09_jfx3d_JFX3DModelImporters_ea_源

    这个压缩包"JFX3DModelImporters_EA_2014-02-09_jfx3d_JFX3DModelImporters_ea_源"包含了一系列的jar包,它们专门设计用于帮助开发者将不同格式的3D模型导入到JavaFX应用中。这些导入器的早期访问版本(EA)发布于...

    nj4x-mt4开发中间件jfx 2.7.7版本

    MT4客户端不支持二次开发,但是服务器接口对外开发,jfx封装了Java接口,使得Java开发程序员可以轻易上手

    jfx1.2.6示例 实现了java连接MT4

    一个简单的实现了java连接MT4服务的例子

    Mimaki JFX plus Series UJF-3042 透明液体打印指南

    ### Mimaki JFX plus Series UJF-3042 透明液体打印指南 #### 一、概述 Mimaki JFX plus Series UJF-3042是一款专为工业级UV喷墨打印设计的产品,它支持特殊效果打印,如透明液体打印等功能。该设备结合了先进的...

    GameOfLife-JFX:初始项目

    总结,"GameOfLife-JFX:初始项目"是一个很好的学习和实践JavaFX以及理解生命游戏原理的平台。通过这个项目,开发者不仅可以提升JavaFX编程技巧,还能深入理解细胞自动机和复杂系统行为的模拟。

    NativeJFX:一个使用maven jfx插件和其他工具生成本机可执行文件和安装程序的演示应用程序

    本机JFX 一个使用maven jfx插件和其他工具生成本机可执行文件和安装程序的演示应用程序 构建本机捆绑包(Windows) 安装 5.5.6+ 安装 3.1.0+ 将两个程序都添加到PATH 运行mvn package 注意:制作启动器并与JRE...

    java8看不到源码-JME3-JFX:用于JME的JFXGui桥接器,具有用于常见用例的有用实用程序

    笔记 对于 jme 3.1: 版本:2.+ 分支:主 对于 jme 3.0(与 jme-3.0.10 兼容): 版本:1.+ 分支:jme_3.0 JME3-JFX 需要 java 8,但是可以使用 java 7 在纹理上绘制视频。对于 jME SDK,您应该创建一个 java 8 平台...

    jfx-launcher:openjfx启动器工具

    JFX-Launcher 一个openJfx的自动更新器,采用模块化API加载模块。 原理 在Launcher启动的时候,会对比本地配置与服务端配置是否一致,如果服务端配置与本地不一致,则进行拉取同步。 对比条件: 版本号是否一致 各个...

    jfx_game_project:game_prject_table_Type

    【标题】"jfx_game_project:game_prject_table_Type"是一个基于JavaFX开发的游戏项目,其核心特性在于利用表格(Table)元素来呈现游戏数据或交互。JavaFX是Oracle公司提供的一个用于创建桌面应用程序的开源Java库,...

    FreshInvoice_jfx82w_FreshInvoice_

    标题中的"FreshInvoice_jfx82w_FreshInvoice_"似乎是指一个特定的版本或构建号,这通常是软件更新或发布时使用的标识符。FreshInvoice是一个知名的开源PHP发票管理软件,它允许用户创建、管理和发送专业发票。这个...

    j8draw:JDK8中的JFX 2D和3D绘图

    JDK8中的JFX 2D和3D工程图。 由于它使用的是JFX,因此需要确保您使用的是Oracle的JDK 1.8或更高版本。 如果在Eclipse中运行,由于即使在使用Oracle JDK时默认情况下也无法访问JFX,因此您将需要执行以下步骤,...

    MessagingApp-JFX:具有多选项卡用户界面的聊天应用程序

    MessagingApp-JFX 具有多选项卡UI(使用JavaFX构建)的聊天应用程序。 通过TCP / IP进行通信的服务器-客户端模型。 为JVM和Arduino微控制器编写的服务器/后端代码库(测试平台为ESP32s开发板)。 文件传输功能。

    JFX的简单回顾以及了解

    Button button3 = new Button("按钮三"); Button button4 = new Button("按钮四"); Button button5 = new Button("按钮五"); flowPane.getChildren().addAll(button1, button2, button3, button4, button5); ...

    demux-jfx-core-0.8.2.zip

    标题中的"demux-jfx-core-0.8.2.zip"是一个开源项目的版本压缩包,主要涉及的是JavaFX相关的库或框架。JavaFX是Oracle公司提供的一个用于开发桌面、移动和嵌入式设备的富客户端应用程序的平台。它提供了一组图形和...

    详解JFX11+IDEA跨平台打包发布的完美解决办法

    但是,这种方法存在一些不足之处,例如默认创建的JFX工程只有一个src目录,不像Maven工程还带有resources与test,给管理资源文件以及外部依赖造成了困难,getClass().getResource()会出现空指针问题。 二、环境设置...

Global site tag (gtag.js) - Google Analytics