24/04/02总结

news2024/11/24 2:49:12

API:

bigdecima:
方法名                                                    说明
public static BigDecimal valueof( double val)             静态获取对象
public BigDecimal add(BigDecimal val)                     加法
public BigDecimal subtract(BigDecimal val)                减法
public BigDecimal multiply(BigDecimal val)                乘法
public BigDecimal divide(BigDecimal val)                  除法
public BigDecimal divide(BigDecimal val,精确几位,舍入模式)除法          (就是除不尽就是这个)
public static void main(String[] args) {
        //1.通过传递double类型的小数来创建对象
        BigDecimal bd1 = new BigDecimal(0.01);
        BigDecimal bd2 = new BigDecimal(0.09);
        System.out.println(bd1);    //这样子结果输出是不精确的
        System.out.println(bd2);

        //2.通过传递字符串表示的小数来创建对象
        BigDecimal bd3 = new BigDecimal("0.01");
        BigDecimal bd4 = new BigDecimal("0.09");
        System.out.println(bd3);    //这样子就精确了
        System.out.println(bd4);

        //3.相加
        BigDecimal bd5 = bd3.add(bd4);
        System.out.println(bd5);
        BigDecimal bd6 = new BigDecimal(10);
        BigDecimal bd7 = new BigDecimal(3);
        BigDecimal bd8 = bd6.divide(bd7,2, RoundingMode.HALF_UP);   //第二个是精确的小数位,第三个是模式(四舍五入)
        System.out.println(bd8);


    }

输出结果:
 

biginteger:
public BigInteger(int num,Random rnd)             获取随机大整数,范围:[ ~ 2的num次方-1]
public BigInteger(string val)                     获取指定的大整数
public BigInteger(string val, int radix)          获取指定进制的大整数
静态方法:public static BigIntegervalueOf(long val)        静态方法获取BigInteger的对象,内部有优化
静态:(对象一旦创建,内部记录的值不能发生改变)
  public static void main(String[] args) {
        //随机创建一个大整数
        BigInteger bd1 = new BigInteger(3,new Random());        //0----2^3-1
        System.out.println(bd1);

        //获取一个指定的大整数
        BigInteger bd2 = new BigInteger("100");
        System.out.println(bd2);

        //获取指定进制的大整数
        BigInteger bd3 = new BigInteger("1000",8);  //把1000(八进制)划成10进制
        System.out.println(bd3);

    }

正则表达式:

正则表达式的作用:
作用一:校验字符串是否满足规则
作用二: 在一段文本中查找满足要求的内容(爬虫)
字符类(只匹配一个字符)
方括号:[]:表示一个范围,出现的字符一定要在这个范围之内
例:[abc]:表示字符串里只能出现abc(而且只能出现一个:前缀只能
[^abc]:表示除abc之外的任何字符
[a-zA-Z]:a-z,A-Z都可以
[a-d[A-X]]:a-d或者A-X   (和上面的一样吧)
[a-z&&def]:a-z,def取交集:def
[a-z&&[^bc]]:a-z和非bc的交集
[a-z&&[^m-p]]:a-z除了m-p的交集
预定义字符(只匹配一个字符)
.:(点)表示匹配任意字符
\d:表示一个数字:[0-9]
\D:表示非数字:[^0-9]
\s:表示一个空白字符:[\t\n\x0B\f\r]
\S:表示非空白字符:[^\s]
\w:表示在这些范围([a-zA-Z_0-9])任取一个(英文字符,数
\W:[^\w]
数量词
X?:       X,一次或0次
X*:       X,零次或多次
X+:       X,一次或多次
X{n}:     X,正好n次
X{n,}:    X,至少n次
X{n,m}:   X,至少n次但不超过m次
"(?i)abc"         :abc可忽略大小写
"a(?i)bc"         :bc可忽略大小写
 public static void main(String[] args) {
        //字符类
        System.out.println("a".matches("[abc]"));
        //System.out.println("ab".matches("[abc]"));      这种时候是false:因为括号中的abc只能出现一次而ab是两个
        //如果想让它正确可以这样:System.out.println("ab".matches("[abc][abc]"));

        System.out.println("-----------------------------");
        System.out.println("a".matches("[^abc]"));
        System.out.println("z".matches("[^abc]"));

        System.out.println("-----------------------------");
        System.out.println("aJ".matches("[a-zA-Z][a-zA-Z]"));
        System.out.println("aJ".matches("[a-zA-F][a-zA-F]"));

        System.out.println("-----------------------------");
        System.out.println("f".matches("[abcdef&&[abcde]]"));
        System.out.println("f".matches("[a-z&&[abcdefg]]"));

        System.out.println("-----------------------------");
        System.out.println("c".matches("[a-g&&[^a-d]]"));
        System.out.println("c".matches("[a-g&&[^g-j]]"));

        System.out.println("-----------------------------");
        //预定义字符:
        System.out.println("你".matches(".."));    //因为有两个点所以要两个字符,前面只有个你所以是false
        System.out.println("你a".matches(".."));

        System.out.println("-----------------------------");
        System.out.println("a".matches("\\d"));
        System.out.println("3".matches("\\d"));
        System.out.println("333".matches("\\d\\d\\d"));

        System.out.println("-----------------------------");
        //数字词:
        System.out.println("2432dEBfedv".matches("\\w{6,}")); //前面的\\w最少要出现6次位真
        System.out.println("22dv".matches("\\w{6,}"));

        System.out.println("-----------------------------");
        System.out.println("23df".matches("[0-9a-zA-Z]{4}"));
        System.out.println("23_f".matches("[0-9a-zA-Z]{4}"));       //因为没_所以有一次不满足所以是false

        System.out.println("-----------------------------");
        //test:
        //身份证号码的简单校验:
        //18位,前17位任意数字(第一位不为0),最后一位可以是数字可以是大写或小写的x
        System.out.println("19428429482947538X".matches("[1-9]\\d{16}(x|X|\\d)"));  //|:或者



    }
正则表达式在字符串方法中的运用
方法名                                                               说明
public string[] matches (string regex)     (前面学的)                 判断字符串是否满足正则表达式的规则
public string replaceAll(String regex, String newStr)                按照正则表达式的规则进行替换
public string[] split(String regex)                                  按照正则表达式的规则切割字符串
有一段字符串:小天dqwefqwfqwfwq12312小李dqwefqwfqwfwq12312小惠
要求1:把字符串中三个姓名之间的字母替换为vs
要求2:把字符串中的三个姓名切割出来
 String s = "小天dqwefqwfqwfwq12312小李dqwefqwfqwfwq12312小惠";
        String vs = s.replaceAll("[\\w&&[^_]]+", "vs");
        System.out.println(vs);

 输出结果:

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

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

相关文章

从C到C++过渡知识 下(深入理解引用与指针的关系)

引用 引用时C引入的一个新的概念,他和指针有着千丝万缕的关系。 首先我们要了解的是引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空 间,它和它引用的变量共用同一块内存空间。语法格式如下…

hibernate session接口

hibernate session接口 Session接口是hibernate向应用程序提供的操纵数据库的最主要的接口,提供了保存、更新、删除和加载Java对象的方法。 session具有一个缓存,位于缓存中的对象成为持久化对象,和数据库中的相关记录对应。session能够在某些…

智能视频翻译和配音处理工具:Pyvideotrans

pyVideoTrans:一键字幕识别翻译配音带新语言字幕和配音的视频 - 精选真开源,释放新价值。 概览 Pyvideotrans是一款卓著的智能化视频处理系统,专精于视频翻译与配音艺术,以其卓越的技术实力实现对原始视频中音频信息的精准捕捉、…

CCIE-03-Layer2-LAN-TS

目录 实验条件网络拓朴实验目标 开始排错问题1. SW2上的DHCP中继没有配置正确问题2. SW1/SW2的SVI接口被关闭问题3. 安全端口配置了不同的MAC地址 实验条件 网络拓朴 Output1 Output2 实验目标 排除故障使得PC101访问Server1时符合图片中给出的Output 开始排错 根据要求…

并发编程01-深入理解Java并发/线程等待/通知机制

为什么我们要学习并发编程? 最直白的原因,因为面试需要,我们来看看美团和阿里对 Java 岗位的 JD: 从上面两大互联网公司的招聘需求可以看到, 大厂的 Java 岗的并发编程能力属于标配。 而在非大厂的公司, 并…

基于栈结构的非递归二叉树结点关键字输出算法

基于栈结构的非递归二叉树结点关键字输出算法 一、引言二、二叉树基本概念三、非递归遍历算法基础四、算法设计五、算法实现六、C代码示例七、算法分析八、优化与讨论 一、引言 在计算机科学中,二叉树是一种重要的数据结构,它广泛应用于各种算法和数据结…

笔记: javaSE day17天笔记

第十七天课堂笔记 Java常用类 数学类★★★ math java.lang.Math , 数学类 round(x) : 四舍五入 , 把 x加0.5 后向下取整 ceil(x) : 返回大于等于x的最小整数 , 向上取整 floor(x) : 返回小于等于x的最大整数 , 向下取整 sqrt(x) : 平方根 cbrt(x): 立方根 pow(a , b)…

App应用的服务器如何增加高并发能力

大家好!我是你们的好朋友咕噜铁蛋!近年来,随着移动互联网的蓬勃发展,各类App应用如雨后春笋般涌现,用户量呈现爆发式增长。然而,随之而来的高并发访问问题也开始频繁出现,给服务器带来了极大的挑…

ecology9.0通过自定义按钮给明细表某字段赋值

功能&#xff1a;把主表字段赋值给明细表字段 核心代码&#xff1a; <script>jQuery(document).ready(function(){$(#setcgy).click(function(){var cgy_txt WfForm.getBrowserShowName("field1207");debuggervar cgy WfForm.getFieldValue("field1207…

java(5)之数组

1、什么是数组 数组就是用来储存相同数据类型的数据集合&#xff0c;可使用共同的名称来引用数组中的数据&#xff0c;数组的类型有很多种&#xff0c;但是指定了数组的类型就只能存储这一类数据。 2、数组的特点 1、既能存储原始数据也能催出对象类型 2、长度一旦确定就不…

MySQL进阶-----SQL提示与覆盖索引

目录 前言 一、SQL提示 1.数据准备 2. SQL的自我选择 3.SQL提示 二、覆盖索引 前言 MySQL进阶篇的索引部分基本上要结束了&#xff0c;这里就剩下SQL提示、覆盖索引、前缀索引以及单例联合索引的内容。那本期的话我们就先讲解SQL提示和覆盖索引先&#xff0c;剩下的内容就…

ssm 设备采购管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 ssm 设备采购管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模…

使用 Docker Compose 部署邮件服务器

使用 Docker Compose 部署邮件服务器 很多时候为了方便&#xff0c; 我们都直接使用第三方邮箱进行收发邮件。 但第三方邮箱有些要求定期修改密码&#xff0c;有些限制发邮箱的次数&#xff0c; 对于一些个人和企业来说&#xff0c; 有自己的域名和服务器为什么不自己搭建一个邮…

PEFT-LISA

LISA是LoRA的简化版&#xff0c;但其抓住了LoRA微调的核心&#xff0c;即LoRA侧重更新LLM的底层embedding和顶层head。 根据上述现象&#xff0c;LISA提出两点改进&#xff1a; 始终更新LLM的底层embedding和顶层head随机更新中间层的hidden state 实验结果 显存占用 毕竟模型…

ZKP价值链路的垂直整合

1. ZKP proof生命周期 从ZKP&#xff08;zero-knowledge proof&#xff09;生命周期&#xff0c;先看围绕ZKP的价值链路形成&#xff1a; 1&#xff09;User intent用户意图&#xff1a;以某用户意图为起点&#xff0c;如想要在某zk-rollup上swap某token、证明其身份、执行某…

HarmonyOS 和 OpenHarmony

HarmonyOS 和 OpenHarmony 支持的 shell 命令不同&#xff0c;因此有时候需要做一做区分&#xff0c;目前有些文档上没有标注&#xff0c;因此可能产生歧义。 HarmonyOS 支持 getprop&#xff1a; getprop hw_sc.build.os.apiversion # 查看API版本OpenHarmony 上支持 param…

华为ensp中ospf多区域管理 原理及配置命令(详解)

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; ————前言———— OSPF 多区域的主要作用是缩小链路状态数据库和路由表的规模&#xff0c;减少路由更新的频率&#xff0c;提高网络的可扩展性&#xff0c;实现路由过滤和路由汇总&#xff0…

Java多线程实战-从零手搓一个简易线程池(三)线程工厂,核心线程与非核心线程逻辑实现

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️本系列源码仓库&#xff1a;多线程并发编程学习的多个代码片段(github) &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正…

使用ARCore深度API实现点云采集

一、深度API 本小节内容摘自ARCore官方文档。 ARCore 深度API Depth API 可助力实现对象遮挡、提升沉浸感和新颖的互动体验&#xff0c;从而增强 AR 体验的真实感。 在下图中&#xff0c;右侧画面是采用深度API进行遮挡后的效果&#xff0c;与左侧图相比更加真实。 深度值 给…

【热门话题】WebKit架构简介

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 WebKit架构简介一、引言二、WebKit概览1. 起源与发展2. 模块化设计 三、WebCore…