【干货】Java函数式编程公式大全,收藏学习!
函数操作是现代编程领域中的核心概念之一,它以类似 Excel 表格的方式进行数据处理和计算。它的特点是使用公式和函数来描述数据之间的关系和计算逻辑;它允许我们以更高效、更有组织的方式管理和处理数据。
在函数式编程中,数据被组织成表格的形式,每列代表一个数据字段或变量,每行代表一个数据记录。可以通过公式和函数将不同的数据字段进行计算和操作,生成新的计算结果。
JVS-rules规则中函数可灵活应用,可自行扩展,对于数据收集也有很多作用:
(1)可以提高效率,将一些数据自动计算出来,减少需要填写的内容
如,分数在 90 以上时等级为 A,否则为 B。那么在输入分数之后,等级是 A 或 B 就能根据公式自动判断出来。
(2)可以减少错误

如,当前库存总数量=入库数量-已出库数量。那么在入库数量、已出库数量输入之后,当前库存总数量就能根据公式自动计算出来,避免手工计算出错。

基础变量的函数操作(部分)如下:
| 函数 | 函数分类 | 说明 | 说明 | 上手实例 |
| EQ | 逻辑函数 | 两个值比较,相等返回 true,默认忽略大小写,若不忽略,则填写第三个参数true | 2个,必填 | EQ(value1,value2) |
| NE | 逻辑函数 | 两个值比较,不相等返回 true,默认忽略大小写,若不忽略,则填写第三个参数true | 2个,必填 | NE(value1,value2) |
| LT | 逻辑函数 | value1小于value2返回 true | 2个,必填 | LT(value1,value2) |
| GT | 逻辑函数 | value1大于value2返回 true | 2个,必填 | GT(value1,value2) |
| LE | 逻辑函数 | value1小于等于value2返回 true | 2个,必填 | LE(value1,value2) |
| GE | 逻辑函数 | value1大于等于value2返回 true | 2个,必填 | GE(value1,value2) |
| AND | 逻辑函数 | 当参数组中的所有参数逻辑值为 true 时(逗号隔开的逻辑式子都满足),才返回 true,当参数组中的任何一个参数逻辑值为 false 时,就会返回false。 | 至少1个,必填 | AND(logical1, [logical2], ...) |
| OR | 逻辑函数 | 在参数组中,任何一个参数逻辑值为 true(逗号隔开的逻辑式子其中一项满足),即返回 true;只有当所有逻辑参数值为 false,才返回 false。 | 至少1个,必填 | OR(logical1,[logical2], ...) |
| NOT | 逻辑函数 | 对参数逻辑值求反。NOT 比较简单,就是把括号里为 true 的值变成 false,括号里为 false 的值变为 true。 | 1个,必填 | NOT(logical) |
| IF | 逻辑函数 | 判断一个条件能否满足;如果满足返回一个值,如果不满足则返回另外一个值 | 3个,必填 | IF(A,B,C) |
| ISEMPTY | 逻辑函数 | 判断一个字段是否为空;如果为空,则返回 true;如果不为空则返回 false | 1个,必填 | ISEMPTY(字段) |
| CONCATENATE | 文本函数 | 将多个字符串拼接合成一个文本字符串 | 至少1个,必填 | CONCATENATE(text1,[text2], ...) |
| LEFT | 文本函数 | 从一个文本字符串的第一个字符开始返回指定个数的字符,如果文本长度小于自定字符个数,就将原始文本返回 | 2个,必填 | LEFT(text,num_chars) |
| RIGHT | 文本函数 | 从一个文本字符串的最后一个字符开始返回指定个数的字符,如果文本长度小于自定字符个数,就将原始文本返回 | 2个,必填 | RIGHT(text,num_chars) |
| LEN | 文本函数 | 返回文本字符串中的字符个数 | 1个,必填 | LEN(text) |
| LOWER | 文本函数 | 将一个文本字符串中的所有大写字母转换为小写字母 | 1个,必填 | LOWER(text) |
| UPPER | 文本函数 | 将一个文本字符串中的所有小写字母转换为大写字母 | 1个,必填 | UPPER(text) |
| REPLACE | 文本函数 | 根据指定的字符数,将部分文本字符串替换为不同的文本字符串 | 1个,必填 | REPLACE(oldtext, startnum, numchars, newtext) |
| REPT | 文本函数 | 将文本重复指定次数 | 2个,必填 | REPT(text, number_times) |
| SEARCH | 文本函数 | 在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。返回 0 则表示未查找到 | 3个,前2个必填 | SEARCH(findtext,withintext,[start_num]) |
| MID | 文本函数 | 截取文本的有效部分内容 | 3个,必填 | MID(text,start_index,end_index) |
| ISEMPTY | 文本函数 | 判断值是否为空字符串、空对象或者空数组 | 1个,必填 | ISEMPTY(text) |
| ADD | 数学函数 | 计算多个字段值总和 | 至少1个,必填 | ADD(number1, [number2], ...) |
| AVERAGE | 数学函数 | 求多个数值的平均值 | 至少1个,必填 | AVERAGE(number1, [number2], ...) |
| MAX | 数学函数 | 返回一组数字中的最大值 | 至少1个,必填 | MAX(Number1, [Number2], ...) |
| MIN | 数学函数 | 返回一组数字中的最小值 | 至少1个,必填 | MIN(Number1, [Number2], ...) |
| ABS | 数学函数 | 当数值为负数的时候返回他的绝对值数值 | 1个,必填 | ABS(Number) |
| ROUND | 数学函数 | 数值出现小数点的时候,将小位数指定到对应的位数 | 2个,必填 | ROUND(number, num_digits) |
| CEILING | 数学函数 | 返回将参数 number 向上舍入(沿绝对值增大的方向)为最接近的指定基数的倍数 | 2个,必填 | CEILING(number, significance) |
| FLOOR | 数学函数 | 将参数 number 向下舍入(沿绝对值减小的方向)为最接近的 significance 的倍数 | 2个,必填 | FLOOR(number, significance) |
| INTNUM | 数学函数 | 将数字向下舍入到最接近的整数 | 1个,必填 | INTNUM(number) |
| LOG | 数学函数 | 根据指定底数返回数字的对数 | 2个,必填 | LOG(number, base) |
| MOD | 数学函数 | 返回 2 个数值组件相除的余数 | 2个,必填 | MOD(number, divisor) |
| POWER | 数学函数 | 计算出数值组件乘幂的值 | 2个,必填 | POWER(number, power) |
| FIXED | 数学函数 | 将数字舍入到指定的小数位数,以十进制数格式对该数进行格式设置,并以数字形式返回结果 | 2个,必填 | FIXED(number, decimals) |
| SQRT | 数学函数 | 取数值组件值正的平方根 | 1个,必填 | SQRT(number) |
| SUM | 数学函数 | 函数使所有以参数形式给出的数字相加并返回和 | 至少1个,必填 | SUM(number1, [number2], ...) |
| PRODUCT | 数学函数 | 数字相乘 | 2个,必填 | PRODUCT(number1,number2) |
| SUMPRODUCT | 数学函数 | 在给定的数组中,将数组间对应的元素相乘,并返回乘积之和 | 2个,必填 | SUMPRODUCT(array1, array2) |
| NUMBERCOMPARE | 数学函数 | 数值组件与数值组件2比较,大于返回1,等于返回0,小于返回-1 | 2个,必填 | NUMBERCOMPARE(数值组件1,数值组件2) |
| NOW | 时间函数 | 自此日期起的1970年1月1日,00:00:00 GMT以来的毫秒数。 | 不可填 | NOW() |
| INTERSECTIONSET | 集合函数 | 计算两个集合的交集 | 2个,必填 | INTERSECTIONSET(array1,array2) |
| UNIONSET | 集合函数 | 计算两个集合的并集 | 2个,必填 | UNIONSET(array1,array2) |
| DIFFERENCESET | 集合函数 | 计算两个集合的差集 | 2个,必填 | DIFFERENCESET(array1,array2) |
| SUBSET | 集合函数 | 计算第二个集合是否第一个集合的子集 | 2个,必填 | SUBSET(array1,array2) |
| ARRAYGET | 集合函数 | 返回数据集中第k个值 | 2个,必填 | ARRAYGET(Array, k) |
| LARGE | 集合函数 | 返回数据集中第k个最大值 | 2个,必填 | LARGE(Array, k) |
| SMALL | 集合函数 | 返回数据集中第k个最小值 | 2个,必填 | SMALL(Array,k) |
| USER | 人员类 | 无参数模式:User() 获取当前登录人; | 1个,选填 | USER() |
| 有参数模式:User(level) 当前登录人的主管, level 是 获取当前登录人的主管 | USER([level]) | |||
| USERFIELD | 人员类 | 人员搜索框需要联动带出一些基本信息 | 2个,必填 | USERFIELD( 成员 ,"userId"),USERFIELD( 成员 ,"name") |
| GETUSERNAME | 人员类 | 获取当前登录人昵称 | 不可填 | GETUSERNAME() |
| EMPLOYEE | 人员类 | 返回对应的人员信息对象数组(即人员组件底层的值) | 1个,必填 | EMPLOYEE(array1) |
| DIRECTOR | 人员类 | 获取当前登陆人的主管名称 | 1个,必填 | DIRECTOR(level) |
| LOGINUSER | 人员类 | 登录人 | 不可填 | LOGINUSER() |
| LOGINUSERWORKNO | 人员类 | 获取当前登录人员工唯一ID(员工UserID) | 不可填 | LOGINUSERWORKNO() |
| DEPTNAME | 部门类 | 获取指定人所在部门名称 | 1个,必填 | DEPTNAME(userId) |
| COUNT | 通用类 | 统计指定表单提交的数据总数 | 至少1个,必填 | COUNT("表单ID") |
在函数操作中,基础变量起着至关重要的作用。通过了解基础变量与函数操作之间的关系,我们可以更好地掌握函数的使用,提高代码的质量和可维护性。
规则引擎在线demo:http://rules.bctools.cn
gitee地址:https://gitee.com/software-minister/jvs-rules
规则引擎往期干货
规则引擎(JVS-rules):从应用到场景的全面解析
JVS规则引擎复合变量,实现复杂数据加工的利器
jvs-rules规则引擎 2.1.8 新版本功能清单
jvs-rules 规则引擎功能介绍(一)
jvs-rules 规则引擎功能介绍(二)
jvs-rules 规则引擎功能介绍(三)
jvs-rules 规则引擎功能介绍(四)
相关文章:
【干货】Java函数式编程公式大全,收藏学习!
函数操作是现代编程领域中的核心概念之一,它以类似 Excel 表格的方式进行数据处理和计算。它的特点是使用公式和函数来描述数据之间的关系和计算逻辑;它允许我们以更高效、更有组织的方式管理和处理数据。 在函数式编程中,数据被组织成表格的…...
django基于Python的房价预测系统+爬虫+大屏可视化分析
欢迎大家点赞、收藏、关注、评论 文章目录 前言一、项目介绍二、开发环境三、功能需求分析1 数据采集功能设计2数据管理功能设计3爬虫功能需求分析4 数据可视化功能需求分析数据库表的设计 四、核心代码五、效果图六、文章目录 前言 房价是一个国家经济水平的重要体现ÿ…...
异地组网企业怎么办理手续?
对于那些具有异地分支机构的企业来说,SDWAN(Software Defined Wide Area Network)可以是 提供高性能通信和数据传输的理想解决方案。那么,对于企业来说,SDWAN异地组网需要办理哪 些手续呢?下面将介绍一些关键的办理步骤。 1. 资质准备&…...
Android 13.0 根据包名授予OP_REQUEST_INSTALL_PACKAGES权限
1.概述 在系统13.0的定制化开发中,对于在app中调用安装第三方app的时候,会在这时弹出安装未知来源弹窗,需要默认授予REQUEST_INSTALL_PACKAGES 权限,来安装第三方app的安装未知来源权限,所以就是今天需要解决的这个问题 2.根据包名授予OP_REQUEST_INSTALL_PACKAGES的核心…...
民安智库(湖北知名满意度测评公司)乘客高铁出行调查:从需求到满意
随着科技的飞速发展,高铁已成为我们日常出行的重要选择。然而,什么样的服务才是乘客真正需要的?什么样的调查才能真实反映乘客的感受?民安智库(政务服务第三方评估公司)作为一家中国独立第三方调研咨询的公…...
Oracle的dbms.rls实现数据访问控制
在大部份系统中,权限控制主要定义为模块进入权限的控制和数据列访问权限的控制(如:某某人可以进入某个控制,仓库不充许查看有关部门的字段等等)。 但在某些系统中,权限控制又必须定义到数据行访问权限的控制,此需求一般…...
Python 自定义函数的基本步骤
一、Python 自定义函数的基本步骤 1、什么是函数 函数,其实我们一开始学 Python 的时候就接触过。 不过我们使用的大多数都是 Python 的内置函数。 比如基本每个章节都会出现的 print() 函数。 而现在,我们主要学习的是自定义函数。 各位有没有想过…...
阿里云新品云服务器实例,经济型e实例,价格便宜,性价比高
前不久,阿里云推出了一款全新云服务器实例,他是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,基于“飞天CIPU”黄金技术架构设计,可轻松满足网站建设…...
统信操作系统UOS上安装arm64版nginx
原文链接:统信操作系统UOS上安装arm64版nginx hello,大家好啊,今天给大家带来一篇在统信桌面操作系统UOS上安装arm64版nginx的文章,本篇文章主要是给大家提供一种下载离线nginx软件包的方法,拿到软件包可以去不能链接互…...
2017年高热度编程语言简介
世上语言千千万,我却独爱这一种!”这句话用来形容程序员和编程语言之间的爱恨情仇实在是再精准不过了。根据GitHub 2016年的开源报告,其上所有开源项目共包含了316种编程语言,这是一个什么概念呢?举个例子来说,世界上共有226个国…...
python爬虫入门(一)web基础
HTTP基本要点 HTTP请求,由客户端向服务端发出,可以分为 4 部分内容:请求方法(Request Method)、请求的网址(Request URL)、请求头(Request Headers)、请求体(…...
利用TreeMap来解决P3029 [USACO11NOV] Cow Lineup S
P3029 [USACO11NOV] Cow Lineup S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 好了,我们首先要统计奶牛的种类数量n,好与接下来我们记录一个范围内的奶牛的数量作比较,一旦我们统计范围内的奶牛的数量m达到我们刚开始记录的奶牛的数量n我…...
zzy-project-cli,提供多个框架的脚手架
npm地址 install npm install zzy-project-cli -g做什么? 将多个可选的框架提供给使用者选择,选中后自动下载对应模板,快捷使用。 使用 step1 zzy-cli create [项目名称]step2 获取模板之后选取任一进行下载 下载完成之后即可使用 模…...
C++类和对象中(构造函数,析构函数,拷贝构造函数)详解
C类和对象中[构造函数,析构函数,拷贝构造函数]详解 一.前言1.类的6个默认成员函数 二.构造函数1.构造函数的引出2.无参构造函数3.缺省参数在构造函数中的应用4.编译器实现的默认构造函数5.广义的默认构造函数6.默认构造函数的形成规则 三.析构函数1.析构函数的语法2.编译器实现…...
智能矩阵系统解决的问题?
智能矩阵系统可以解决的问题多种多样,它主要通过人工智能技术应用于矩阵系统,解决一些传统方法难以处理的问题。 以下是一些常见的应用场景: 1. 数据管理:智能矩阵系统可以有效地管理大量的数据,包括数据的存储、检索…...
计算机网络——计算机网络体系结构(3/4)-计算机网络体系结构分层思想举例
目录 发送请求报文 应用层构建HTTP请求报文 运输层添加TCP首部 网络层添加IP首部 数据链路层形成帧 物理层转化为比特流 路由器处理 服务器处理 发回响应报文 计算机网络体系结构分层思想举例 假设网络拓扑如下所示,主机属于网络N1,Web服务器属…...
计算机网络,网络(OSI)七层模型,三次握手四次挥手,get与post请求区别,网络IO(BIO\NIO\AIO),TCP与UDP区别
1.OSI模型? 开放式系统互联通信参考模型(Open System Interconnection Reference Model) OSI网络七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP协议群简化了OSI七层模型:应用层、传输层、网络层、数据链路…...
【网络爬虫 | Python】数字货币ok链上bitcoin大额交易实时爬取,存入 mysql 数据库
文章目录 一、网站分析二、js 逆向获取 X-Apikey三、python 调用 js 获取 X-Apikey四、python 爬虫部分五、mysql 数据库、日志、配置文件、目录结构六、结尾 一、网站分析 oklink:https://www.oklink.com/ btc 大额交易:https://www.oklink.com/btc/tx-…...
【Servlet】实现Servlet程序
文章目录 1. 最朴素方式1. 创建项目2. 引入依赖3. 创建目录4. 编写代码5. 打包程序6. 部署程序7. 验证程序 2. 更方便方式1. 安装Smart TomCat插件2. 启动 1. 最朴素方式 1. 创建项目 选择Maven项目 2. 引入依赖 Maven项目创建完后会生成一个pom.xml文件,我们可…...
binlog 和 redolog 有什么区别
binlog 和 redolog 都是 Mysql 里面用来记录数据库数据变更操作的日志. binlog 其中 binlog 主要用来做数据备份、数据恢复和数据同步,在Mysql 的主从数据同步的场景中,master 节点的数据变更,会写入到 binlog 中,然后再把 binl…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验
Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...
