当前位置: 首页 > news >正文

【干货】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 数据可视化功能需求分析数据库表的设计 四、核心代码五、效果图六、文章目录 前言 房价是一个国家经济水平的重要体现&#xff…...

异地组网企业怎么办理手续?

对于那些具有异地分支机构的企业来说,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)、请求体&#xff08…...

利用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…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

今日科技热点速览

🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

Bean 作用域有哪些?如何答出技术深度?

导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答&#xff0c…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

Qt的学习(一)

1.什么是Qt Qt特指用来进行桌面应用开发&#xff08;电脑上写的程序&#xff09;涉及到的一套技术Qt无法开发网页前端&#xff0c;也不能开发移动应用。 客户端开发的重要任务&#xff1a;编写和用户交互的界面。一般来说和用户交互的界面&#xff0c;有两种典型风格&…...

webpack面试题

面试题&#xff1a;webpack介绍和简单使用 一、webpack&#xff08;模块化打包工具&#xff09;1. webpack是把项目当作一个整体&#xff0c;通过给定的一个主文件&#xff0c;webpack将从这个主文件开始找到你项目当中的所有依赖文件&#xff0c;使用loaders来处理它们&#x…...

小智AI+MCP

什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析&#xff1a;AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github&#xff1a;https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...

麒麟系统使用-进行.NET开发

文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的&#xff0c;如果需要进行.NET开发&#xff0c;则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET&#xff0c;所以要进…...