【干货】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…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
