【干货】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 规则引擎功能介绍(四)

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

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

相关文章

LongAdder为什么在高并发下保持良好性能?LongAdder源码详细分析

文章目录 一、LongAdder概述1、为什么用LongAdder2、LongAdder使用3、LongAdder继承关系图4、总述:LongAdder为什么这么快5、基本原理 二、Striped64源码分析1、Striped64重要概念2、Striped64常用变量或方法3、静态代码块初始化UNSAFE4、casBase方法5、casCellsBus…

如何利用验证链技术减少大型语言模型中的幻觉

一、前言 随着大型语言模型在自然语言处理领域取得了惊人的进步。相信深度使用过大模型产品的朋友都会发现一个问题,就是有时候在上下文内容比较多,对话比较长,或者是模型本身知识不了解的情况下与GPT模型对话,模型反馈出来的结果…

阿里云服务器续费流程_一篇文章搞定

阿里云服务器如何续费?续费流程来了,在云服务器ECS管理控制台选择续费实例、续费时长和续费优惠券,然后提交订单,分分钟即可完成阿里云服务器续费流程,阿里云服务器网aliyunfuwuqi.com分享阿里云服务器详细续费方法&am…

微信扫一扫抽奖活动怎么做

在当今数字化时代,微信作为中国最大的社交媒体平台之一,拥有着庞大的用户群体和广泛的影响力。微信扫一扫抽奖活动作为一种创新的营销方式,可以利用微信的用户基础和社交属性,吸引更多的目标用户参与,提高品牌知名度和…

鸿蒙状态栏设置

鸿蒙状态栏设置 基于鸿蒙 ArkTS API9,设置状态栏颜色,隐藏显示状态栏。 API参考文档 参考文档 新建项目打开之后发现状态栏是黑色的,页面颜色设置完了也不能影响状态栏颜色,如果是浅色背景,上边有个黑色的头&#…

众和策略:题材股什么意思?

题材股是股票商场上的一个术语,许多刚接触股票出资的人可能对它不太熟悉。那么,题材股什么意思呢?在本文中,咱们将从多个角度剖析这个问题,帮忙读者更好地了解。 一、什么是题材股 题材股是指某个工作或主题的股票集结…

机器学习笔记 - 深度学习中跳跃连接的直观解释

一、概述 如今人们利用深度学习做无数的应用。然而,为了理解在许多作品中看到的大量设计选择(例如跳过连接),了解一点反向传播机制至关重要。 如果你在 2014 年尝试训练神经网络,你肯定会观察到所谓的梯度消失问题。简单来说:你在屏幕后面检查网络的训练过程,你看到的只…

跨越单线程限制:Thread类的魅力,引领你进入Java并发编程的新纪元

线程的概述 线程是一个程序的多个执行路径,执行调度的单位,依托于进程存在。 线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用…

【C++】不是用new生成的对象调用析构函数

2023年10月23日&#xff0c;周一上午 #include <iostream>class Book{ private:int price; public:~Book(){std::cout<<"调用析构函数"<<std::endl; } };int main(){Book b1;b1.~Book(); } 从运行结果可以看出&#xff1a; 手动调用b1.~Book()时&…

机器人系统 ROS 常用命令行工具

1. 启动ros 主节点 roscore roscore运行成功如图&#xff1a; 1.1 rosrun 启动服务节点 例子&#xff1a;启动一个小乌龟节点 rosrun turtlesim turtlesim_node运行结果如图&#xff1a; 1.2 启动键盘控制 打开新的命令窗口&#xff0c;启动turtle_teleop_key 节点 rosr…

单窗口单IP适合炉石传说游戏么?

游戏道具制作在炉石传说中是一个很有挑战的任务&#xff0c;但与此同时&#xff0c;它也是一个充满机遇的领域。在这篇文章中&#xff0c;我们将向您展示如何在炉石传说游戏中使用动态包机、多窗口IP工具和动态IP进行游戏道具制作。 作者与主题的关系&#xff1a;作为一名热爱炉…

JSX看着一篇足以入门

JSX 介绍 学习目标&#xff1a; 能够理解什么是 JSX&#xff0c;JSX 的底层是什么 概念&#xff1a; JSX 是 javaScriptXML(HTML) 的缩写&#xff0c;表示在 JS 代码中书写 HTML 结构 作用&#xff1a; 在 React 中创建 HTML 结构&#xff08;页面 UI 结构&#xff09; 优势&a…

VM虚拟机 13.5 for Mac

VMware Fusion Pro for Mac是一款强大的虚拟机软件&#xff0c;可以在Mac操作系统中创建、运行和管理多个虚拟机&#xff0c;使用户可以在一台Mac电脑上同时运行多个操作系统和应用程序。 以下是VMware Fusion Pro for Mac的主要特点&#xff1a; 1. 支持多种操作系统&#xff…

【数据结构】线性表(九)队列:链式队列及其基本操作(初始化、判空、入队、出队、存取队首元素)

文章目录 一、队列1. 定义2. 基本操作 二、顺序队列三、链式队列0. 链表1. 头文件2. 队列结构体3. 队列的初始化4. 判断队列是否为空5. 入队6. 出队7. 存取队首元素8. 主函数9. 代码整合 堆栈Stack 和 队列Queue是两种非常重要的数据结构&#xff0c;两者都是特殊的线性表&…

【Java 进阶篇】深入浅出:Bootstrap 轮播图

在现代网页设计中&#xff0c;轮播图是一个常见的元素。它们可以用于展示图片、广告、新闻、产品或任何您希望吸引用户注意力的内容。要实现一个轮播图&#xff0c;您通常需要一些复杂的HTML、CSS和JavaScript代码&#xff0c;这对于初学者来说可能会感到困难。但幸运的是&…

React环境初始化

环境初始化 学习目标&#xff1a; 能够独立使用React脚手架创建一个React项目 1.使用脚手架创建项目 官方文档&#xff1a;(https://create-react-app.bootcss.com/)    - 打开命令行窗口    - 执行命令      npx create-react-app projectName    说明&#xff1a…

四、网络请求与路由

一、网络请求 1、Axios请求 Axios是一个基于promise的网络请求库 &#xff08;1&#xff09;安装 npm install --save axios&#xff08;2&#xff09;引入 import axios from "axios"全局引入 import axios from "axios" import { createApp } from …

靶机 DC_1

DC_1 信息搜集 存活检测 详细扫描 网页目录扫描 网页信息搜集 cms 为 Drupal 漏洞利用 使用 msf 搜索 drupal 的漏洞 启动 msfconsole搜索 search drupal尝试编号为 0 的漏洞 失败 利用编号为 1 的漏洞 use 1查看需要配置的选项 show options设置目标 ip set rhost 10…

【Linxu工具】:vim使用及简单配置

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关Linux工具&#xff1a;vim的使用&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从…

不知道怎么选CRM系统?看这篇就够了

CRM客户管理系统近年来已经从简单的客户管理软件发展成为了帮助企业运营发展的工具。它能够帮助企业优化业务流程、提高客户转化率、获得更多业绩。那么企业在选择CRM系统时有什么要点吗&#xff1f; 1、明确是否有自动化功能 自动化功能可以自动处理那些手动且琐碎的销售流程…