【干货】Java函数式编程公式大全,收藏学习!

news2024/11/24 17:29:36

 函数操作是现代编程领域中的核心概念之一,它以类似 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 规则引擎功能介绍(四)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1123407.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UDP网络通信反复发收

package UDP2;import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.util.Scanner;/* * 完成UDP 通信快速入门 实现发1收1*/ public class Client {public static void main(String[] args) throws Exception{// …

统信操作系统UOS上安装arm64版nginx

原文链接:统信操作系统UOS上安装arm64版nginx hello,大家好啊,今天给大家带来一篇在统信桌面操作系统UOS上安装arm64版nginx的文章,本篇文章主要是给大家提供一种下载离线nginx软件包的方法,拿到软件包可以去不能链接互…

Qt耗时操作添加动画等待加载效果

Qt耗时操作添加动画等待加载效果_qt 等待动画-CSDN博客本例模拟耗时请求实现动画等待加载效果,采用QtConcurrent::run实现异步耗时操作,通过QFutureWatcher异步监测耗时操作结果的返回值做相应的动画演示。_qt 等待动画https://blog.csdn.net/qq_3666686…

解决AndroidStudio Gradle只有testDebugUnitTest

问题复现: 问题解决: 1:点击Task list not built... 2:取消勾选Configure all Gradle tasks during Gradle Sync... 大功告成,现在去看看Gradle,屏蔽的都显示出来了。

CUDA学习笔记(九)Dynamic Parallelism

本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/,仅用于学习。 Dynamic Parallelism 到目前为止,所有kernel都是在host端调用,CUDA Dynamic Parallelism允许GPU kernel在device端创建调用。Dynamic Parallelism使递归更容易实现…

信钰证券:长江电力180亿市值,招商证券、摩根大通等浮盈超一成

本周A股限售股解禁规划环比有所上升。 Wind数据核算闪现,除去新上市公司,本周共有64家公司限售股解禁,解禁数量51.52亿股,以最新收盘价核算(下同),解禁市值776.21亿元。 本周解禁市值跨越10亿…

C++二分算法的应用:寻找峰值原理、源码及测试用例

说明 此文是课程https://edu.csdn.net/course/detail/38771 的讲义。 源码下载:https://download.csdn.net/download/he_zhidan/88458478 题目 长度为n的数组nums,请返回任意一峰值的索引。符合以下条件之一i便是峰值的索引。 n等于1 i等于0 n>…

构建并训练单层神经网络模型

1. 单层神经网络 单层神经网络由一个层次中的多个神经元组成,总体来看,单层神经网络的结构是:一个输入层,一个隐含层,一个输出层。 图中描述的是前向网络,但其反向传播网络的结构也是一样的。蓝色方框表示输入层,绿色圆圈表示隐含层,输出层没有绘制出来。 1.1 加载…

Linux安装Redis(这里使用Redis6,其它版本类似)

目录 一、选择需要安装的Redis版本二、下载并解压Redis三、编译安装Redis四、启动Redis4.1、修改配置文件4.2、启动 五、测试连接5.1、本地连接使用自带客户端redis-cli连接操作redis5.2、外部连接使用RedisDesktopManager操作redis 六、关闭Redis七、删除Redis 一、选择需要安…

【吞噬星空】战神宫全体投票,为罗峰脱罪,徐欣补办婚礼,洪成功恢复脑电波

【侵权联系删除】【文/郑尔巴金】 吞噬星空动画第90集即将更新,官方相当给力,提前曝光了图文情报与先行预告。虽然罗峰与巴巴塔尚未正式开始闯荡宇宙,但却是斩杀阿特金三大巨头的平稳生活。不但有战神宫为罗峰脱罪,而且还给徐欣补…

python如何创建自己的对冲交易算法

在这篇文章中,我解释了如何创建一个人工智能来每天为我进行自动交易。 随着机器学习的现代进步和在线数据的轻松访问,参与量化交易变得前所未有的容易。为了让事情变得更好,AWS 等云工具可以轻松地将交易想法转化为真正的、功能齐全的交易机器…

重组件的优化和页面渲染十万条数据

重组件的优化和页面渲染十万条数据的优化 重组件的优化vue2写法vue3写法 页面渲染十万条数据的优化使用虚拟列表的方式 重组件的优化 以下代码原理是使用requestAnimationFrame(callback) 方法 vue2写法 Test01.vue <template><div class"container">&…

第十届山东省大学生网络安全技能大赛【神秘的base】【小试牛刀】

神秘的base 题目描述 EvAzEwo6E9RO4qSAHq42E9KvEv5zHDt34GtdHGJaHD7NHG42bwd神奇密码&#xff1a; xbQTZqjN8ERuwlzVfUIrPkeHd******LK697o2pSsGDncgm3CBh/Xy1MF4JAWta解题思路 这个题&#xff0c;上午一直零解&#xff0c;后来放出了hint&#xff0c;提示了base64换表。 这…

iOS 配置通用链接(Universal Link)服务端和开发者后台都配置好了,还是跳转不到App

目录 一、什么是 Universal Link&#xff1f; 1.背景介绍 2.特点 3.运行机制原理&流程图 二、配置教程 1.第一步&#xff1a;开启 Associated Domains 服务 1.1 开通 Associated Domains 2.第二步&#xff1a;服务器配置 apple-app-site-association&#xff08;AAS…

binlog 和 redolog 有什么区别

binlog 和 redolog 都是 Mysql 里面用来记录数据库数据变更操作的日志. binlog 其中 binlog 主要用来做数据备份、数据恢复和数据同步&#xff0c;在Mysql 的主从数据同步的场景中&#xff0c;master 节点的数据变更&#xff0c;会写入到 binlog 中&#xff0c;然后再把 binl…

会声会影2024永久破解中文版下载

会声会影2024中文版是一款功能强大的视频编辑软件、大型视频制作软件、专业视频剪辑软件。会声会影专业视频编辑处理软件&#xff0c;可以用于剪辑合并视频&#xff0c;制作视频&#xff0c;屏幕录制&#xff0c;光盘制作&#xff0c;视频后期编辑、添加特效、字幕和配音等操作…

Allegro在走线时如何隐藏其它网络的飞线

Allegro在走线时,自动隐藏其它网络的飞线,在走线的过程中不会被其它飞线干扰,从而方便快速的走线。 在走线过程中,其它飞线自动隐藏。 操作方法如下: 先激活走线命令,然后在Options选项卡上勾选Auto-blank other rats 则在走线时,其它网络的预拉线全部自动隐藏。

Mybatis plus中的逻辑删除源码跟踪

网上搜了一堆文章&#xff0c;都没有贴出源码&#xff1a; 疑问&#xff1a; 逻辑删除&#xff0c;到底是在哪改变的sql&#xff1f;&#xff1f;&#xff1f; 跟踪方法——DeleteById 说明&#xff1a;逻辑删除&#xff0c;实质用的update语句&#xff1b; 组装逻辑删除字段…

分享画PAD图的软件-PADFlowChart

软件的可执行文件下载&#xff1a;PADFlowChart-exe.zip 如果有帮助望三联

第63讲:MySQL存储过程变量传参的核心概念与案例

文章目录 1.存储过程传参2.存储过程传参的语法结构3.存储过程传参经典案例3.1.IN类型的传参3.2.IN和OUT同时使用的传参3.3.INOUT类型的传参 1.存储过程传参 在创建存储过程时&#xff0c;存储过程名称后面的括号里是可以传入一些参数的&#xff0c;例如传入一个变量&#xff0…