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

《Java高级编程:从原理到实战 - 进阶知识篇一》

一 . 基本数字操作

1. 数字类型判断

  • 整数判断isInteger() 或取模运算 %1 === 0

  • 有限数判断isFinite()

  • NaN判断isNaN() 或 Number.isNaN()

2. 数字转换

(博哥有话说:在未来项目中,会较多的使用字符串转换成数字,或者是数字转换成字符串)

  • 字符串转数字

    • parseInt(string, radix)

    • parseFloat(string)

    • Number() 构造函数

    • 一元加运算符 +string

  • 数字转字符串

    • toString(radix) 方法

    • String() 函数

    • 模板字符串 `${num}`

3. 数字精度处理

  • 四舍五入Math.round()

  • 向上取整Math.ceil()

  • 向下取整Math.floor()

  • 截断小数Math.trunc()

  • 固定小数位数toFixed(n)

  • 科学计数法toExponential()

  • 有效数字toPrecision()

二 . 数学运算

1. 基本运算

  • 加减乘除:+-*/

  • 取模:%

  • 指数:** 或 Math.pow()

2. 高级运算

  • 绝对值Math.abs()

  • 平方根Math.sqrt()

  • 立方根Math.cbrt()

  • 最大值/最小值Math.max()Math.min()

  • 随机数Math.random()

  • 三角函数Math.sin()Math.cos()Math.tan()

  • 对数Math.log()Math.log10()Math.log2()

三 . 数字特性

1. 特殊值

  • Number.MAX_VALUE / Number.MIN_VALUE

  • Number.MAX_SAFE_INTEGER / Number.MIN_SAFE_INTEGER

  • Infinity 和 -Infinity

  • NaN

2. 数字安全

  • 安全整数检查Number.isSafeInteger()

  • 精度问题:浮点数运算时的精度问题及解决方案(如使用整数运算或专用库)

四 . 位运算

1. 基本位运算

(博哥有话说:在未来运用中,我们会使用到&&和||,这两个分别意为只要有只要有false和只要有true就直接跳出,不在继续进行判断,可以简短运行时间)

  • 按位与:&

  • 按位或:|

  • 按位异或:^

  • 按位非:~

  • 左移:<<

  • 有符号右移:>>

  • 无符号右移:>>>

2. 位运算应用

  • 快速取整

  • 权限控制

  • 颜色操作

  • 奇偶判断

五 . 数字格式化

1. 本地化格式化

  • toLocaleString() 方法

  • Intl.NumberFormat API

2. 自定义格式化

  • 千分位分隔符

  • 货币符号

  • 百分比显示

六 . 实际应用技巧

  1. 生成随机数范围Math.floor(Math.random() * (max - min + 1)) + min

  2. 数字补零String(num).padStart(length, '0')

http://www.xdnf.cn/news/3176.html

相关文章:

  • 【阿里云大模型高级工程师ACP学习笔记】2.7 通过微调增强模型能力 (下篇)(⭐️⭐️⭐️ 重点章节!!!)
  • C#学习第20天:垃圾回收
  • C#规避内存泄漏的编码方法
  • ZStack Cloud 5.3.28正式发布
  • 【蓝桥杯省赛真题59】Scratch收集松果 蓝桥杯scratch图形化编程 中小学生蓝桥杯省赛真题讲解
  • 跨境电商生死劫:IP筛查三法则破解封号魔咒
  • 编译原理实验二:构建TINY语言的词法分析器
  • 【数据链路层】网络通信的“桥梁建设者”
  • 在Carla中构建自动驾驶:使用PID控制和ROS2进行路径跟踪
  • WPF性能优化举例
  • python中库pydantic的作用和基本用法
  • 《ESP32音频开发实战:I2S协议解析与WAV音频录制/播放全指南》
  • 90.如何将Maui应用安装到手机(最简) C#例子 Maui例子
  • 西门子PLC S7-1200电动机软启动、软停止的控制实例
  • Android 移动开发:ProgressBar(转圈进度条)
  • 基于go的简单管理系统(增删改查)
  • Linux基础 -- Generic Netlink 框架详解与开发实践
  • UI设计之photoshop学习笔记
  • ⛺️ Sui Basecamp 2025 最新日程
  • C# 类的基本概念(从类的内部访问成员和从类的外部访问成员)
  • AXI总线设计高带宽or低带宽?你需要做个选择
  • 大规模克希霍夫积分法叠前深度偏移中,并行化和旅行时表处理
  • 11.模方ModelFun工具-指定置平
  • 【Docker】Docker拉取部分常用中间件
  • 音视频项目在微服务领域的趋势场景题深度解析
  • 为Mac用户定制的云服务器Vultr 保姆级教程
  • 运维打铁: 存储方案全解析
  • 《可信数据空间 技术架构》技术文件正式发布
  • 出现Invalid bound statement (not found)问题的原因可能有哪些
  • 分布式数字身份:迈向Web3.0世界的通行证 | 北京行活动预告