Java学习笔记(14)

news2024/11/19 12:32:11

常用API

Java已经写好的各种功能的java类

Math

Final修饰,不能被继承

因为是静态static的,所以使用方法不用创建对象,使用里面的方法直接 math.方法名 就行

常用方法

Abs,ceil,floor,round,max,minm,pow,sqrt,cbrt,random

Abs要注意参数的类型 int有取值范围

超过了不会报错,但显示错误结果

很大的数就用absexact

Sqrt开平方,cbrt开立方

判断一个数是否为质数?看这个数开平方

System

0

Exit

currentTimeMillis

Arraycopy

细节

Runtime

runtime不能创建对象

因为一个电脑只能有一个运行环境,创建多个对象是没有实际意义的

Runtime源码里自己创建了一个对象,表示当前虚拟机的运行环境

通过getruntime获取这个对象

后面都需要用这个对象来调用其他方法

Object,objects

只有无参构造

Tostring equals clone

为啥直接打印stu结果和stu.toString相同?

Println这个方法使用了toString方法

重写toString打印对象的属性值

Equals

通常比较的是对象中的属性值,而不是地址值

所以需要重写equals,idea有模板自己生成

重要题目:

Clone克隆

要使用clone,必须重写

因为它是一个protected修饰的方法,只能被本包中的类和其他包的子类用,肯定不能在本包中(java.lang包)用,所以要用必须重写

注意返回值类型是object

并且这个类要加上cloneable接口,表示这个是一个可克隆的类

Cloneable里面是没有抽象方法的

记得u1.clone()出来的是一个object类型,强转成User

两种克隆方式

浅拷贝

基本数据类型直接拷贝

引用数据类型直接拷贝地址值

Object里面的clone是浅拷贝

深拷贝

基本数据类型直接拷贝

字符串复用

引用数据类型创建新的

实现深克隆,需要改写复写的clone方法,有点麻烦

可以借助第三方工具 gson-2.6.2.jar

Objects

Objectrs. equals源码中会对a做非空判断,a为空直接返回false

BigInteger

表示比long还大的数

字符串中必须是整数,否则会报错

valueOf细节

-16~16已经创建好对象,不会重复创建

对象一旦创建内部的数据不能发生改变

Biginteger方法

Max会返回大的那个对象,不会创建一个新的biginteger

Doublevalue

biginteger底层存储方式

转成二进制的补码

把很长的数字拆成n段放到数组中存储

32位分为1组,各组再转成十进制,放到int[]数组中

存储上限

Bigdecimal

用于小数的紧密计算

构造方法

1用字符串来创建更精确 new bigdecimal(“11”)

2 用静态方法获取 bigdecimal.valueOf(11)

Valueof()里面的数字其实就是把他变成字符串,再new出一个bigdecimal

所以

方法

四舍五入roundingmode.HALF_UP

存的是每个字符在ASCII码表上对应的数字

也有上限,就是数组最多存21亿多个元素,即21亿多位数

正则表达式

一个&表示且符号

忽略大小写(?i)

身份证正则

String regex3 = "[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[1,2]\\d|3[0,1])\\d{3}(\\d|(?i)x)";

爬虫

Pattern

Matcher

网络爬取

带条件爬取

(?=)只获取?前面的部分

(?:)获取所有数据,满足:后面的条件

(?!)不获取数据(不要Java 8,java11,java11,只要java)

贪婪爬取:java默认贪婪爬取  ab+

非贪婪数据 ab+?

正则在字符串中的用法

Matches:返回boolean

Replaceall

Spilt

正则中的分组

一个小括号就是一个分组

捕获分组

\\1 把第一组中对应字符串中的数据再拿过来比较

捕获分组

\\   &

非捕获分组

不占用组号

\\1 变红:说明java不知道哪个是第一组

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

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

相关文章

数据结构:树和二叉树

树的概念 1.树是一种非线性的数据结构。它是由n个有限节点的集合。 2.树分为根节点和子树。根节点没有前驱节点。 3.树的子树是由一个个子树组成,它们可以看作一个个集合。每个集合下面又有集合。 因此,树是递归定义的。 树形结构中,子树…

Leetcode刷题-(21~25)-Java

算法是码农的基本功,也是各个大厂必考察的重点,让我们一起坚持写算法题吧。 遇事不决,可问春风,春风不语,即是本心。 我们在我们能力范围内,做好我们该做的事,然后相信一切都事最好的安排就可…

软件应用,物流运单填写模板,物流打印快递单教程,货运单怎么打印视频教程

软件应用,物流运单填写模板,物流打印快递单教程,货运单怎么打印视频教程 一、前言 以下软件操作教程以 佳易王物流货运管理系统软件V17.2为例说明 件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、物流管理系统打印&a…

【webrtc】m122:PacingController 源码阅读

PacingController 关系与BitrateProber 关系更为密切PacingController 内置BitrateProber G:\CDN\signalapp_webrtc\modules\pacing\pacing_controller.hPacingControllerBitrateProber prober_;可配置BitrateProber 是否激活 PacingController 关系与BitrateProber 关系更为密…

springboot基于spring boot的在线答题微信小程序

摘 要 在线答题微信小程序是考试中重要的一环,在线答题是学生获取任务信息的主要渠道。为了方便学生能够在网站上查看任务信息、考试,于是开发了基于 springboot框架设计与实现了一款简洁、轻便的在线答题微信小程序。本微信小程序解决了在线答题事务中的…

Android Kotlin知识汇总(三)Kotlin 协程

Kotlin的重要优势及特点之——结构化并发 Kotlin 协程让异步代码像阻塞代码一样易于使用。协程可大幅简化后台任务管理,例如网络调用、本地数据访问等任务的管理。本主题介绍如何使用 Kotlin 协程解决以下问题,从而让您能够编写出更清晰、更简洁的应用代…

AI毕业论文降重GPTS,避免AI检测,高效完成论文

视频演示 AI毕业论文降重GPTS,避免AI检测,高效完成论文! 开发目的 “毕业论文降重”GPTS应用,作用为:重新表述学术论文,降低相似性评分,避免AI检测。 使用地址 地址:毕业论文降重…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:ColumnSplit)

将子组件纵向布局,并在每个子组件之间插入一根横向的分割线。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 ColumnSplit通过分割线限制子组件的高度。初始…

跨境电商选品实战——Ownips公开数据信息安全采集+Python爬虫轻松搞定Lazada电商选品

文章目录 一、引言二、Lazada电商平台选品实战2.1、分析Lazada电商平台的商品列表接口2.2、定位商品列表计算逻辑2.3、封装高质量住宅IP2.4、运行爬虫 三、数据处理及选品分析四、Ownips——企业级全球静态住宅IP,高效采集公开数据 一、引言 互联网与外贸的结合&am…

考察c语言关键字

C语言——关键字 1.问题:简述goto语句的作用 答:无条件跳转 具体来说,其作用在于允许程序在执行时无条件地跳转到指定的标签位置,并从该标签位置继续执行。通过goto语句,可以实现程序流程的无条件转移,使得…

【python】爬取杭州市二手房销售数据做数据分析【附源码】

一、背景 在数据分析和市场调研中,获取房地产数据是至关重要的一环。本文介绍了如何利用 Python 中的 requests、lxml 库以及 pandas 库,结合 XPath 解析网页信息,实现对链家网二手房销售数据的爬取,并将数据导出为 Excel 文件的过…

Visual Studio项目模板的创建与使用

Visual Studio项目模板的创建、使用、删除 创建模板项目模板的使用模板的删除 创建模板 点击项目,点击导出模板 选择你要创建哪个项目的项目模板,点击下一步 输入你的模板名称并添加模板说明,方便记忆 项目模板的使用 点击创建新项目 输入刚刚…

什么是VR应急预案演练虚拟化|VR体验馆加盟|元宇宙文旅

VR 应急预案演练虚拟化指的是利用虚拟现实(Virtual Reality,VR)技术进行应急预案演练的过程。在传统的应急预案演练中,人们通常需要在实际场地或模拟环境中进行演练,这可能存在一些限制,如成本高昂、场地受…

Cesium 获取 3dtileset的包围盒各顶点坐标

Cesium 获取 3dtileset的包围盒各顶点坐标 /*** 获取 3dtileset的包围盒各顶点坐标, z 方向取高度最低的位置* param {*} tileset* param {*} options* returns* ref https://blog.csdn.net/STANDBYF/article/details/135012273* ref https://community.cesium.com/t/accurate-…

PTA L2-014 列车调度

火车站的列车调度铁轨的结构如下图所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车&am…

uniapp 对video视频组件嵌套倍速按钮

这次接了需求是要求有倍速功能,去看了文档发现并没有倍速按钮的属性,想着手写一个吧 可最后发现原生层级太高,无论怎么样都迭不上去,就只能去找插件看看咯 找了好多插件发现都不可用,因为我这是app端,有些视…

【蓝桥杯单片机】十三届省赛“重难点”解析(附源码)

【蓝桥杯单片机】十三届省赛“重难点”解析 一、题目难点解析二、易出错点提示三、完整代码链接 笔记包括:①题目难点解析、②易出错点提示、③完整代码链接 注:本文提供的所有代码都是使用第十四届竞赛包完成 ⭐----------系列文章链接----------⭐ 【蓝…

2024年AI辅助研发:科技创新的引擎

CSND - 个人主页:17_Kevin-CSDN博客 收录专栏:《人工智能》 技术进展 进入2024年,人工智能(AI)在科技界和工业界的焦点地位更加巩固,其在辅助研发领域的技术进步尤为显著。深度学习技术的突飞猛进使得数据分…

<.Net>VisaulStudio2022下用VB.net实现socket与汇川PLC进行通讯案例(Eazy521)

前言 此前,我写过一个VB.net环境下与西门子PLC通讯案例的博文: VisaulStudio2022下用VB.net实现socket与西门子PLC进行通讯案例(优化版) 最近项目上会用到汇川PLC比较多,正好有个项目有上位机通讯需求,于是…

三.查找(顺序/二分)

目录 7-顺序查找(列表查找) 1-什么是列表查找 代码: 8-二分查找介绍(Binary Search) 查找元素3详细思路: 9-二分查找代码 10-线性查找与二分查找比较 运行时间-装饰器 比较代码: 11-排序介绍 7-顺序查找(列表查找) 1-什么是列表查找 查找:在一些数据元素…