【进阶篇-Day5:JAVA常用API的使用(Math、BigDecimal、Object、包装类等)】

目录

  • 1、API的概念
  • 2、Object类
    • 2.1 Object类的介绍
    • 2.2 Object的toString()方法
    • 2.3 Object的equals()方法
    • 2.4 Objects概述
  • 3、Math类
  • 4、System类
  • 5、BigDecimal类
  • 6、包装类
    • 6.1 包装类的概念
    • 6.2 几种包装类
      • (1)手动转换包装类:
      • (2)自动转换包装类:
      • (3)Integet常用方法:
      • (4)练习:

1、API的概念

在这里插入图片描述

下面要介绍以下几种类型:
在这里插入图片描述

2、Object类

2.1 Object类的介绍

在这里插入图片描述

2.2 Object的toString()方法

在这里插入图片描述

注:
在这里插入图片描述

2.3 Object的equals()方法

在这里插入图片描述

重写equals方法代码:

public class Student {String name;int age;@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return age == student.age && Objects.equals(name, student.name);}
}

2.4 Objects概述

在这里插入图片描述
在这里插入图片描述

注1:Objects.equals()对象.equals()区别在于前者能避免空指针,而后者不能,除此之外无区别。

注2:Objects.isNull(对象)对象==null完全没有区别。

3、Math类

在这里插入图片描述
案例:

package com.itheima.object.tostring;
import java.util.Objects;
public class ToStringDemo {public static void main(String[] args) {//1、abs():取绝对值System.out.println(Math.abs(-11));//11System.out.println("--------------------");//2、ceil():向上取整System.out.println(Math.ceil(12.0));//12.0System.out.println(Math.ceil(12.2));//13.0System.out.println(Math.ceil(12.5));//13.0System.out.println(Math.ceil(12.9));//13.0System.out.println("--------------------");//3、floor():向下取整System.out.println(Math.floor(12.0));//12.0System.out.println(Math.floor(12.2));//12.0System.out.println(Math.floor(12.5));//12.0System.out.println(Math.floor(12.9));//12.0System.out.println("--------------------");//4、round():四舍五入System.out.println(Math.round(12.0));//12System.out.println(Math.round(12.4));//12System.out.println(Math.round(12.5));//13System.out.println(Math.round(12.9));//13System.out.println("--------------------");//5、max():获取两个数中的较大值;min():获取两个数中的较小值System.out.println(Math.max(12, 15));//15System.out.println(Math.min(12, 15));//12System.out.println("--------------------");//6、pow():返回a的b次幂的值System.out.println(Math.pow(2, 3));//8.0System.out.println("--------------------");//7、random():返回值为double的随机值,范围[0.0, 1.0]System.out.println(Math.random());//0.5845474907388395}
}

注:Math.random()方法没有Random类创建的随机数方便,因为Random类创建的随机数可以指定范围。

4、System类

在这里插入图片描述
代码:

public class SystemDemo {public static void main(String[] args) {/**System.currentTimeMillis():返回当前系统的时间毫秒值形式。-返回1970年1月1日0时0分0秒,到现在所经历过的毫秒值*/System.out.println(System.currentTimeMillis());/*** System.arraycopy():数组拷贝*/int[] arr = {11, 22, 33, 44, 55};int[] destArr = new int[3];System.arraycopy(arr, 2, destArr, 0, 3);for (int i = 0; i < destArr.length; i++) {System.out.println(destArr[i]);//33,44,55}/*** System.exit():终止当前运行的JAVA虚拟机*/System.exit(0);}
}

在这里插入图片描述

5、BigDecimal类

在这里插入图片描述

在这里插入图片描述

三种创建方法,推荐后两种,案例代码如下:

public class BigDecimalDemo {public static void main(String[] args) {BigDecimal num1 = new BigDecimal(2.01);//不推荐,因为不精确System.out.println(num1);//2.0099999999999997868371792719699442386627197265625BigDecimal num2 = new BigDecimal("2.01");System.out.println(num2);//2.01BigDecimal num3 = BigDecimal.valueOf(2.01);System.out.println(num3);//2.01 }
}

在这里插入图片描述

在这里插入图片描述
代码案例:

package com.itheima.object.tostring;
import java.math.BigDecimal;
import java.math.RoundingMode;public class BigDecimalDemo {public static void main(String[] args) {//BigDecimal常用成员方法:BigDecimal num1 = new BigDecimal("10.0");BigDecimal num2 = BigDecimal.valueOf(3.0);//1、加法:System.out.println(num1.add(num2));////2、减法:System.out.println(num1.subtract(num2));////3、乘法:System.out.println(num1.multiply(num2));////4、除法:System.out.println(num1.divide(num2, 2, RoundingMode.HALF_UP));//3.33 四舍五入System.out.println(num1.divide(num2, 2, RoundingMode.UP));//3.34 最后一位向上取整System.out.println(num1.divide(num2, 2, RoundingMode.DOWN));//3.33 最后一位向下取整}
}

6、包装类

6.1 包装类的概念

在这里插入图片描述

6.2 几种包装类

在这里插入图片描述

怎么包呢?
答:
以Integet包装类为例看下

(1)手动转换包装类:

在这里插入图片描述

在这里插入图片描述

public class IntegerDemo {public static void main(String[] args) {int num = 10;//1、手动装箱Integer integer = new Integer(num); //不推荐Integer integer1 = Integer.valueOf(num);//2、手动拆箱int i = integer.intValue();}
}

(2)自动转换包装类:

在这里插入图片描述

在这里插入图片描述

public class IntegerDemo {public static void main(String[] args) {int num = 10;//自动拆装箱:直接赋值即可Integer num1 = num;}
}

(3)Integet常用方法:

在这里插入图片描述

package com.itheima.object.tostring;public class IntegerDemo {public static void main(String[] args) {int num = 10;System.out.println(Integer.toBinaryString(num));//二进制 1010System.out.println(Integer.toOctalString(num));//八进制 12System.out.println(Integer.toHexString(num));//十六进制 aSystem.out.println(Integer.parseInt("11"));//将字符串类型的整数转换为int类型 11}
}

(4)练习:

在这里插入图片描述

package com.itheima.object.tostring;public class IntegerDemo2 {public static void main(String[] args) {String s = "10,50,30,20,40";String[] split = s.split(",");//切割为字符数组int[] intArr = new int[split.length];for (int i = 0; i < split.length; i++) {//遍历并转换为整数,存入整数数组中intArr[i] = Integer.parseInt(split[i]);
//            System.out.println(intArr[i]);}int max = intArr[0];for (int i = 1; i < intArr.length; i++) {//求子最大值if (max < intArr[i]){max = intArr[i];}}System.out.println("最大值为:" + max);}
}

在这里插入图片描述

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

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

相关文章

pg分区表和mysql分区表的创建及删除添加操作

一、分区的类型 1、pg分区的类型 范围划分 列表划分 哈希分区 2、mysql分区的类型 范围分区 列表分区 hash分区 列分区 密匙分区 子分区 二、pg范围分区表的创建删除添加操作 1、pg分区表的创建 2、pg的分区表删除 3、pg分区表的添加 创建新的子分区 添加新创建的子分区 …

python 字符串驻留机制

偶然发现一个python字符串的现象&#xff1a; >>> a 123_abc >>> b 123_abc >>> a is b True >>> c abc#123 >>> d abc#123 >>> c is d False 这是为什么呢&#xff0c;原来它们的id不一样。 >>> id(a)…

浙大宁波理工学院2024年成人高等继续教育招生简章

浙大宁波理工学院&#xff0c;这所承载着深厚学术底蕴和卓越教育理念的学府&#xff0c;正热烈开启2024年成人高等继续教育的招生之门。这里&#xff0c;是知识的殿堂&#xff0c;是智慧的摇篮&#xff0c;更是您实现个人梦想、追求更高境界的起点。 ​浙大宁波理工学院始终坚…

实战指南:部署Elasticsearch 8.4.1与Kibana 8.4.1并集成IK分词器

首先拉取elasticsearch和kibana镜像 docker pull elasticsearch:8.4.1 docker pull kibana:8.4.1如果遇到镜像拉去不下来&#xff0c;遇到如下问题&#xff1a; [ERROR] error pulling image configuration: Get " https://production.cloudflare.docker.com/registry-v…

【吊打面试官系列-Mysql面试题】视图有哪些优点?

大家好&#xff0c;我是锋哥。今天分享关于 【视图有哪些优点&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 视图有哪些优点&#xff1f; 答&#xff1a; (1) 视图能够简化用户的操作&#xff1b; (2) 视图使用户能以多种角度看待同一数据&#xff1b; (3) 视…

【C#】使用数字和时间方法ToString()格式化输出字符串显示

在C#编程项目开发中&#xff0c;几乎所有对象都有格式化字符串方法&#xff0c;其中常见的是数字和时间的格式化输出多少不一样&#xff0c;按实际需要而定吧&#xff0c;现记录如下&#xff0c;以后会用得上。 文章目录 数字格式化时间格式化 数字格式化 例如&#xff0c;保留…

【docker1】指令,docker-compose,Dockerfile

文章目录 1.pull/image&#xff0c;run/ps&#xff08;进程&#xff09;&#xff0c;exec/commit2.save/load&#xff1a;docker save 镜像id&#xff0c;不是容器id3.docker-compose&#xff1a;多容器&#xff1a;宿主机&#xff08;eth0网卡&#xff09;安装docker会生成一…

4、SpringMVC 实战小项目【加法计算器、用户登录、留言板、图书管理系统】

SpringMVC 实战小项目 3.1 加法计算器3.1.1 准备⼯作前端 3.1.2 约定前后端交互接⼝需求分析接⼝定义请求参数:响应数据: 3.1.3 服务器代码 3.2 ⽤⼾登录3.2.1 准备⼯作3.2.2 约定前后端交互接⼝3.2.3 实现服务器端代码 3.3 留⾔板实现服务器端代码 3.4 图书管理系统准备后端 3…

【电路笔记】-共发射极放大器

共发射极放大器 文章目录 共发射极放大器1、概述2、完整的CEA配置3、直流等效电路4、交流等效电路5、输入阻抗6、输出阻抗7、电压增益8、微分电容的重要性9、信号源的衰减10、电流增益11、相位反转12、总结1、概述 在本文中,我们将介绍基于双极晶体管的放大器的最后一种拓扑:…

2024 WaniCTF repwn 部分wp

lambda 文本编辑器打开附件 稍微格式化一下 结合gpt理解题目意思。 脚本 home 附件拖入ida 简单的检查环境和反调试&#xff0c;进构造flag的函数 简单的ollvm&#xff0c;用d810嗦一下 下断点调试&#xff0c;通过修改eip跳过反调试。查看dest内容&#xff0c;需要稍微向下翻一…

QT中利用动画弄一个侧边栏窗口,以及贴条效果

1、效果 2、关键代码 void Widget::on_sliderBtn_clicked() {m_sliderWidget->show();QPropertyAnimation* animation = new QPropertyAnimation(m

第14章. GPIO简介

目录 0. 《STM32单片机自学教程》专栏 14.1 GPIO基本结构 14.1.1 保护二极管 14.1.2 上拉、下拉电阻 14.1.3 施密特触发器 14.1.4 P-MOS 管和 N-MOS 管 14.1.5 输出数据寄存器 14.1.6 输入数据寄存器 14.2 GPIO工作模式 14.2.1 输入模式 14.2.1.1 输入浮空模式 1…

ABB机器人教程:工具载荷与有效载荷数据自动标定操作方法

目录 概述 工具载荷自动标定前的准备工作 进入载荷识别服务例行程序 工具载荷识别与标定操作 有效载荷识别与标定操作要点 4轴码垛类型机器人载荷数据标定说明 概述 在使用ABB机器人前需要正确标定一些关键数据&#xff0c;其中就包含载荷数据。理论上讲&#xff0c;安装…

issues.sonatype.org网站废弃,Maven仓库账号被废弃问题解决

问题起因&#xff1a; 今天自己的项目发布了一个新版本&#xff0c;打算通过GitHub流水线直接推送至Maven中央仓库&#xff0c;结果发现报错 401&#xff0c;说我的账号密码认证失败。我充满了疑惑我寻思难度我的号被盗掉了吗。于是我打开Nexus Repository Manager尝试登录账号…

【b站-湖科大教书匠】2 物理层-计算机网络微课堂

课程地址&#xff1a;【计算机网络微课堂&#xff08;有字幕无背景音乐版&#xff09;】 https://www.bilibili.com/video/BV1c4411d7jb/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 2 物理层 2.1 物理层的基本概念 2.2 物理层下面的传输媒…

Android Studio 安卓手机上实现火柴人动画(Java源代码—Python)

android:layout_marginLeft“88dp” android:layout_marginTop“244dp” android:text“Python” android:textSize“25sp” app:layout_constraintStart_toStartOf“parent” app:layout_constraintTop_toTopOf“parent” /> </androidx.constraintlayout.widget.…

卤货商家配送小程序商城是怎样的模式

无论生意大小、打造品牌都是必要的一步&#xff0c;只要货品新鲜、味道高、性价比高&#xff0c;其新客转化/老客复购数量都不少&#xff0c;卤货种类多且复购多个单独/聚会场景&#xff0c;以同城主要经营&#xff0c;也有部分品牌有外地食品配送需要。 想要进一步品牌传播、…

Linux PXE高效批量装机

部署PXE远程安装服务 在大规模的 Linux 应用环境中&#xff0c;如 Web 群集、分布式计算等&#xff0c;服务器往往并不配备光驱设备&#xff0c;在这种情况下&#xff0c;如何为数十乃至上百台服务器裸机快速安装系统呢?传统的USB光驱、移动硬盘等安装方法显然已经难以满足需…

电子电气架构——由NRC优先级引起的反思

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

一文详解去噪扩散概率模型(DDPM)

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…