API - Math,System,Runtime,BigDecimal,日期时间,Arrays...

01 Math类

【注意】:round在四舍五入时,只会四舍五入小数点后第一位,例如:4.499,的结果是4.

02 System类

【解释】:currentTimeMillis返回的是从1970-1-1 0:0:0开始到此刻的毫秒值,所以返回值才定义成long类型的,1s = 1000ms,1ms = 1000微妙,1微妙 = 1000纳秒。System类的静态方法currentTimeMillis方法通常用于做代码的性能分析:在程序执行前记录一下h1,执行之后记录一下h2,最后让(h2-h1)/1000.0 + "s"。

03 Runtime类(了解)

04 BigDecimal类

【做法】:在进行浮点数运算时,先将待进行运算的浮点数数据封装给BigDecimal对象,再通过调用BigDecimal方法进行相关运算。怎么封装呢?答:如下图所示,一般采用第二种形式直接封装浮点型数据,而不需要进行字符串转换(因为BigDecimal方法的valueOf方法底层会帮我们进行转换)

【补充】:BigDecimal类中底层是通过数组的形式存储浮点数(包括小数点)然后再进行位运算的。

【补充】:BigDecimal类中重写了Object类的toString方法,所以我们可以直接输出对象中的值。

05 JDK之前传统的日期,时间

05_01 Date类

【1】使用Date date = new Date()表示实例化出一个日期对象,里面封装着系统当前的日期和时间

【2】使用日期对象调用getTime可获取日期对象所表示的时间毫秒值。

【3】如何让时间毫秒值封装成日期对象?

   ① 通过new Date(时间毫秒值),直接实例化出一个日期对象。

   ② 通过日期对象调用setTime(时间毫秒值),使得主调的日期对象中的日期时间更改成入参所表示的日期时间。解释:该方法的返回值为void,由于Date的对象是可变的,该方法是直接把主调Date对象的值修改了。 

【4】sout可以直接输出Date对象中的日期时间数据。 

05_02 SimpleDateFormat类

【1】SimpleDateFormat表示日期时间格式器,用于格式化Date对象或时间毫秒值的日期时间。

【2】实例化SimpleDateFormat对象:new SimpleDateFormat("YYYY-MM-dd  HH-mm-ss EEE")

【3】格式化Date对象/时间毫秒值:SimpleDateFormat对象.format(Date对象/时间毫秒值),将格式化的结果以字符串的形式返回。

【4】如何将表示日期时间的字符串转换成Date对象:使用SimpleDateFormat对象调用parse方法,并将表示日期时间的字符串以入参传给该方法。注意:字符串中的日期时间的格式必须要与该SimpleDateFormat对象的格式一致。

05_03 Calendar类

【1】为什么要有Calendar类?答:如果我们想要获取/修改某个日期时间中的具体值时使用Date类和SimpleDateFormat类是做不到的,于是引入了Calendar类。Calendar类可以获取/修改某个日期时间中的具体值。

【2】Calendar类是抽象类,是不能实例化对象的,Calendar类中提供了一个静态方法getInstance可以获取Calendar的对象。

【3】可以使用sout直接打印Calendar对象中的所有数据。

【4】Calendar类的基础方法:get,set,add,注意:field这个参数得传Calendar类中相关的常量

【5】Calendar对象可以转换成Date对象:getTime()

【6】Calendar对象可以获取时间毫秒值:getTimeMillis()

【7】注意:Calendar对象中的月份是从0开始计的!!!!!!!!!!!

06 JKD8开始新增的日期,时间

06_01 为什么要学新的日期时间类

06_02 LocalDate,LocalTime,LocalDateTime

06_03 Zoneld,ZonedDateTime

【1】为什么要学习这两个类?答:上面的LocalDate,LocalTime,LocalDateTime默认获取系统的当前时间,但在开发中我们可能会需要获取到美国,英国等地方当前的时间进行一些处理,遇到这样的需求我们不可能去根据相关地理知识去手算,所有JDK8提供了ZoneID,ZoneDateTime这两个类

【2】ZoneId代表的是时区id:为了方便记忆,通常我们会用一个时区里的标志性城市来代表这个时区,格式一般是:州名/城市名 或 国家名/城市名,ZoneId表示的就是某时区的id。

【3】ZoneId这个类的目的:封装时区id给ZoneId对象。

【4】ZoneId对象调用getID方法可以获取该对象里的时区Id,也可以直接用sout输出ZoneId对象,因为sout会自动调用ZoneId类中的toString方法,而ZoneId里的toString方法底层其实也是调用了getId方法。

【5】ZonedDateTime这个类的目的:封装某个ZoneID对象所指时区的时间。 

06_04 Instant

06_05 DateTimeFormatter

06_10 Period

06_09 Duration

07 Arrays

07_01 简单介绍

【注意】

     ① 使用Arrays.copyOf如果新数组的长度小于原数组,只会拷贝指定长度。

     ② copyOfRange 和 copyOf方法的返回值都是新的数组对象

     ③ setAll 和 sort方法是对原数组本身的数据做更改。

 07_02 数组中对象的排序

08 JDK8新特性:Lambda表达式

08_01 认识Lambda表达式

08_02 Lambda表达式的省略规则

09 JDK8新特性:方法引用"::":进一步简化Lambda表达式

【注意】:

     ① 使用方法引用简化lambda表达式,必须得是lambda表达式才行。

     ② 如果看到代码里面有::则表示这里使用了方法引用 —》用于Lambda表达式的。

09_01 静态方法的引用

【解释】:使用静态方法的引用的条件,不仅要满足是函数式接口的匿名内部类,而且经过初步简化后,留下的语句是一条调用其他类中静态方法的语句,且前后的参数是一致的,则可以使用静态方法的引用。

09_02 实例方法的引用

【解释】:使用实例方法的引用的条件,不仅要满足是函数式接口的匿名内部类,而且经过初步简化后,留下的语句是一条某对象在调用实例方法的语句,且前后的参数是一致的,则可以使用实例方法的引用。

09_03 特定类型方法的引用

 

【解释】:使用特定类型方法的引用的条件,不仅要满足是函数式接口的匿名内部类,而且经过初步简化后,留下的语句是一条前面参数列表中的第一个参数是作为方法的主调,后面的所有参数都是作为该实例方法的入参,则此时就可以使用特定类型的方法引用。

【修改方法】:查看该实例方法是哪个类的实例方法,格式:类名::实例方法名

09_04 构造器引用(并不常见)

【解释】:使用构造器引用的条件,不仅要满足是函数式接口的匿名内部类,而且经过初步简化后,留下的语句是一条创建对象的语句,且前后的参数是一致的,则此时就可以使用构造器引用。

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

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

相关文章

Moshi: a speech-text foundation model for real time dialogue

视频号 挺神奇的东西 整下来 kyutai-labs/moshi (github.com) git clone https://github.com/kyutai-labs/moshi.git 在线体验 moshi.chat 结束后 点击Download audio Download video 可以下载音频与视频 (不过是webm格式) 发行版 已上传至资源 小…

【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解

文章目录 C类与对象超详细入门指南前言1. 初始化列表——再谈构造函数1.1 初始化成员变量的方式1.1.1 构造函数内部赋值 vs 初始化列表1.1.2 两者的区别1.1.3 为什么要使用初始化列表1.1.4 示例 1.2 初始化列表的语法1.2.1 示例: 1.3 引用成员变量、const成员变量的…

【图灵完备 Turing Complete】游戏经验攻略分享 Part.4 处理器架构

比较有难度的一个部分。 运算单元ALU,其实就是通过OP选择计算方式,然后选通某个计算,之后输出。每个计算逐个实现就行了。 下面是一个优化占地面积的ALU,变得紧凑了一点。 下面是一个简单的OP选通原理线路。判断是立即数寻址&…

【C++】关键字auto详解

🦄个人主页:小米里的大麦-CSDN博客 🎏所属专栏:C_小米里的大麦的博客-CSDN博客 🎁代码托管:C: 探索C编程精髓,打造高效代码仓库 (gitee.com) ⚙️操作环境:Visual Studio 2022 目录 一、前言 二、类型别名思考 三、auto简介 四…

学习笔记——RegNet:Designing Network Design Spaces

RegNet:Designing Network Design Spaces RegNet:设计一个网络设计空间 论文地址: https://arxiv.org/pdf/2003.13678 1、前言 在这项工作中,作者提出了一种新的网络设计范例。 作者的目标是帮助增进对网络设计的理解并发现跨设置…

2024年华为杯数学建模研赛(C题) 建模解析| 磁芯损耗建模 | 小鹿学长带队指引全代码文章与思路

我是鹿鹿学长,就读于上海交通大学,截至目前已经帮2000人完成了建模与思路的构建的处理了~ 本篇文章是鹿鹿学长经过深度思考,独辟蹊径,实现综合建模。独创复杂系统视角,帮助你解决研赛的难关呀。 完整内容可…

C语言中易混淆概念的关键字

最快的关键字---- register register: 这个关键字请求编译器尽可能的将变量存在 CPU 内部寄存器中而不是通过内 存寻址访问以提高效率。注意是尽可能,不是绝对。你想想,一个 CPU 的寄存器也就那么 几个或几十个,你要是定义了很多很…

Kyutai开源实时语音对话模型Moshi

新闻 法国人工智能实验室Kyutai在巴黎举行的一次活动上推出了能够进行自然交互的对话式人工智能助手Moshi,并计划将其作为开源技术发布。Kyutai表示,Moshi是首款可公开访问的人工智能助手,可实现实时对话,有别于OpenAI的GPT-4o&a…

互联网广告产品基础知识

一 计价与效果 广告产品如何估算收入? 一种是从需求侧计算:按照广告主数量进行拟合;一种是从供给侧计算:按照曝光量和千次曝光单价进行拟合。 需求侧 从需求侧,也就是广告主侧,来计算广告产品的总收入&…

构建高可用和高防御力的云服务架构:从DDoS高防到PolarDB

引言 随着互联网技术的飞速发展,网络环境已经成为我们日常生活和商业活动中不可或缺的一部分。然而,这种依赖也带来了新的挑战,尤其是在网络安全领域。其中,分布式拒绝服务(DDoS)攻击因其破坏性强、难以防…

vite 使用飞行器仪表示例

这里写自定义目录标题 环境vue代码效果图 环境 jquery npm install -S jqueryjQuery-Flight-Indicators 将img、css、js拷贝到vite工程目录中 打开 jquery.flightindicators.js&#xff0c;在文件开头加上import jQuery from "jquery"; vue代码 <template>&…

深度学习经典模型之BERT(上)

BERT(Bidirectional Encoder Representations from Transformers)是一个双向transformer编码器的言表示模型。来自论文&#xff1a;BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 。由Google公司的研发&#xff0c;BERT的出现使得我们能够…

MySQL篇(SQL优化)(持续更新迭代)

目录 一、插入数据&#xff1a;Insert 1. 优化方案一&#xff1a;批量插入数据 2. 优化方案二&#xff1a;手动控制事务 3. 优化方案三&#xff1a;主键顺序插入&#xff0c;性能要高于乱序插入 4. 大批量插入数据 5. 案例 5.1. 创建表结构 5.2. 设置参数 5.3. load加载…

IDAE中Quarkus框架(3.13版本)开发、调试、部署、打包等

code-with-quarkus code-with-quarkus 是使用官网生成的demo项目 这个项目使用Quarkus&#xff08;使用3.13.0版本&#xff0c;该版本支持JDK21&#xff09;&#xff0c;超音速亚原子Java框架。官网地址: https://quarkus.io/. 环境要求 OS: Windows 10.0 jdk 11 maven 3.9…

单元测试、集成测试、系统测试有什么不同?

单元测试、集成测试和系统测试是软件测试开发中不可或缺的部分。 单元测试&#xff1a; 范围&#xff1a;单元测试是对软件中最小的可测试单元的测试&#xff0c;通常是函数、方法或类。 目的&#xff1a;它的目标是验证每个单独的单元是否按照预期工作&#xff0c;以增加代码…

数据转换器——佛朗哥Chater 1

【注:本文基于《数据转换器》一书进行学习、总结编撰,适合新手小白进行学习】 目录 1.1 理想的数据转换器 1.2 采样 1.2.1 欠采样 1.2.2 采样时间的抖动(A/D转换的第一个精度限制) 1.3 幅度的量化 1.3.1 量化噪声(基本限制) 1.3.2 量化噪声的性质 1.4 KT/C噪声(…

Qt (19)【Qt 线程安全 | 互斥锁QMutex QMutexLocker | 条件变量 | 信号量】

阅读导航 引言一、互斥锁1. QMutex&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;使用示例基本需求⭕thread.h⭕thread.cpp⭕widget.h⭕widget.cpp 2. QMutexLocker&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;使用示例 3. QReadWriteLocker、QR…

【Linux】简易日志系统

目录 一、概念 二、可变参数 三、日志系统 一、概念 一个正在运行的程序或系统就像一个哑巴&#xff0c;一旦开始运行我们很难知晓其内部的运行状态。 但有时在程序运行过程中&#xff0c;我们想知道其内部不同时刻的运行结果如何&#xff0c;这时一个日志系统可以有效的帮…

软考无损连接判断

如何判断是否为无损连接&#xff0c;要看能否还原回最开始的关系模式 最开始的关系模式 U{A&#xff0c;B&#xff0c;C} 函数连接 F{A -> B}&#xff0c;这个函数连接的意思就是A可以推导出B 首先从P1开始判断&#xff0c;{ AB&#xff0c;BC } C不能通过函数依赖推导出来…

数据结构之线性表——LeetCode:328. 奇偶链表,86. 分隔链表,24. 两两交换链表中的节点

328. 奇偶链表 题目描述 328. 奇偶链表 给定单链表的头节点 head &#xff0c;将所有索引为奇数的节点和索引为偶数的节点分别组合在一起&#xff0c;然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 &#xff0c; 第二个节点的索引为 偶数 &#xff0c;以此类推。…