javase笔记4----常用类型

news2024/9/23 4:26:32

常用类型

包装类

简介

java语言是面向对象的语言,但是其中的八大基本数据类型不符合面向对象的特征。

因此java为了弥补这样的缺点,为这八种基本数据类型专门设计了八种符合面向对象特征的的类型,这八种具有面向对象特征的类型,统称为包装类。

包装类,就是在类的内部,维护了一个基本数据类型的成员变量,以及其他方法,常量等。

装箱和拆箱

装箱boxing : 由基本数据类型转型为包装类型。
     - 调用包装类的构造器,进行装箱
     - 调用valueOf()静态方法,进行装箱
拆箱 unboxing: 由包装类型转型为基本数据类型。
     - 调用xxxValue()非静态方法,进行拆箱

//装箱
Integer num = new Integer(1);
Integer num2 = Integer.valueOf(1);
//拆箱
int i = num.intValue();

自动装箱和拆箱

自动装箱 : 直接使用一个基本数据类型的变量或字面值给一个包装类型的引用进行赋值即可 
自动拆箱 : 直接使用一个包装类型的引用给一个基本数据类型的变量进行赋值即可

自动的装箱 : 省略掉的是  valueOf 方法

自动的拆箱 : 省略掉的是  xxValue 方法

Integer num = 1;//自动装箱
int x = num;//自动拆箱  
int y = new Integer(100);

包装类的常量池

对于装箱操作后的包装类的对象,jvm在堆中,维护了一个常量池,该常量池适用于调用了valueOf()方法产生的包装类对象,以及自动装箱的包装类对象。不适用于new关键字创建的包装类对象。

1. Byte,Short,Integer,Long四种类型的常量池的值范围[-128,127]

2. Character的常量池范围[0,127]

3. Boolean的常量池就只有两个值true和false

4. 浮点数类型没有常量池

包装类的其他常用方法

Integer.toBinaryString();  转成二进制
Integer.toHexString();    转成16进制
Integer.toOctalString()   转成8进制
public static int parseInt(String str):  字符串转成int类型
public static Integer valueOf(String str):  字符串转成Integer类型

上述两个方法都用Integer类名调用

BigDecimal

java语言提供了BigDecimal这个类来完善这类运算,可以非常精确,可以精确到小数点后无数位。BigDecimal 通常支持任意位数的小数部分,用来对超过16位有效位的数进行精确的运算。

常用构造器

BigDecimal(int v)    创建一个具有参数所指定整数值的对象。
BigDecimal(double v)    创建一个具有参数所指定双精度值的对象。
BigDecimal(long v)    创建一个具有参数所指定长整数值的对象。
BigDecimal(String v)    创建一个具有参数所指定以字符串表示的数值的对象。 

常用方法

add(BigDecimal)        BigDecimal对象中的值相加,返回BigDecimal对象
subtract(BigDecimal)   BigDecimal对象中的值相减,返回BigDecimal对象
multiply(BigDecimal)  BigDecimal对象中的值相乘,返回BigDecimal对象
divide(BigDecimal)   BigDecimal对象中的值相除,返回BigDecimal对象。该方法可能会遇到无限精度问题,会抛出异常,使用时需注意

BigDecimal b1 = new BigDecimal(3);
BigDecimal b2 = new BigDecimal(1.5);

BigDecimal r1 = b1.add(b2);
BigDecimal r2 = b1.subtract(b2);
BigDecimal r3 = b1.multiply(b2);
BigDecimal r4 = b1.divide(b2);

Date日期类型

简介

1. 是一个用来表示时间、日期的类,这个类在 java.util 包中。

2. java中的时间使用标准类库的Date类型来表示,是用距离某一个固定时间点的毫秒数表达的一个特定的时间点:

3. 固定时间点:1970年1月1日00:00:00

4. UTC(Universal Time Coordinated世界调整时间)与GMT(Greenwich Mean Time格林威治时间)一样,是一种具有实际目的的科学标准时间。

5. Date类的大多数用于进行时间分量计算的方法已经被Calendar取代。

常用构造器

1. Date() :获取当前系统时间

2. Date(long time):设置一个距离固定点的指定毫秒数的时间点。

Date now = new Date();
System.out.println(now);
Date t = new Date(1000*60*60*24);
System.out.println(t);

常用方法

1. long getTime()

2. void setTime(long time)

Calender类型

简介

Calendar: 日历,是用来表示时间、日期的类。在Date类中,有很多的方法都已经废弃了,使用 Caneldar中的某些方法进行实现。

java.util.Calendar类用于封装日历信息,其主要作用在于其方法可以对时间分量进行运算。

Calendar是抽象类型,其具体子类是针对不同国家的日历系统

常用方法

getInstance方法

Calendar提供的get方法与一些常量合用可以获取日期及时间分量

Calendar提供的set方法与一些常量合用可以设置日期及时间分量

Calender c = Calender.getInstance();
int year = c.get(Calender.YEAR);
int month = c.get(Calender.MONTH);

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

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

相关文章

C++迭代器 iterator详解

目录 什么是迭代器 迭代器的类型 迭代器的用法 三种迭代器 范围for 什么是迭代器 它提供了一种访问容器(如列表、集合等)中元素的方法,而无需暴露容器的内部表示。迭代器使得程序员能够以统一的方式遍历不同的数据结构,而无需…

项目集成sharding-jdbc

目录 项目集成sharding-jdbc 1.业务分析 2.数据库构建 3.分库分表策略 项目配置默认数据源 一:导入sharding-jdbc依赖 二:在application文件中编写配置 三:注释掉主配置文件中配置的数据源 注意:这里添加了spring.main.allow…

基于51单片机的矿井安全检测系统

基于51单片机的矿井安全检测系统使用51单片机作为系统主控,LCD1602进行显示同时系统集成了ADC0808和烟雾传感器、甲烷传感器,二者结合测量环境烟雾值,同时使用DHT11温湿度传感器获取环境温湿度值,使用L298N驱动风扇,利…

2009考研数学真题解析-数二:

第一题: 解析:先找间断点:分母不能等于0,分母是sinΠx, 因此不难看出间断点是x0,-1,-2,-3。。。。。 接着一个一个来算这些点是什么间断点。 ,从x趋于2开始,分…

2024年一区极光优化+分解+深度学习!VMD-PLO-Transformer-GRU多变量时间序列光伏功率预测

2024年一区极光优化分解深度学习!VMD-PLO-Transformer-GRU多变量时间序列光伏功率预测 目录 2024年一区极光优化分解深度学习!VMD-PLO-Transformer-GRU多变量时间序列光伏功率预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.中秋献礼&#…

FiBiNET模型实现推荐算法

1. 项目简介 A031-FiBiNET模型项目是一个基于深度学习的推荐系统算法实现,旨在提升推荐系统的性能和精度。该项目的背景源于当今互联网平台中,推荐算法在电商、社交、内容分发等领域的广泛应用。推荐系统通过分析用户的历史行为和兴趣偏好,预…

小球轻重的测量

设有12个小球。其中11个小球的重量相同,称为好球;有一个小球的重量与11个好球的重量不同(或轻或重),称这个小球为坏球。试编写一个算法,用一个无砝码的天平称三次找出这个坏球,并确定其比好球轻…

GAMES101(15节,辐射,BRDF)

Irradiance辐射度量学 辐射度量学在渲染领域,可以帮助理解基于物理的光照模型 radiant energy辐射能量Q,累计总能量(单位J joule焦耳),就像太阳能板,光照时间越长接收能量越多,收到的能量总和…

02_RabbitMQ消息丢失解决方案及死信队列

一、数据丢失 第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题,都有可能。 第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了。 第三种:消费端…

Attention is All You Need精读

原文开头,不是搬运 dog。All attention is all you need Abstract 摘要 这篇文章的内容源于基于编码器-解码器架构的RNN模型,在其他人的工作中,我们可以发现注意力机制对于提升编码器-解码器架构模型的性能很重要。这篇文章提出了一个比较简…

《代码整洁之道:程序员的职业素养》

作者:【美】Robert C. Martin 第1章 专业主义 专业主义就意味着担当责任,软件开发太复杂了,不可能没什么 bug。但很不幸,这并不能为你开脱。人体太复杂了,不可能尽知其全部,但医生仍要发誓不伤害病人。如…

隐藏excel单元格数据的两个方法

在Excel中,公式是用来计算数据和结果的非常重要的一部分。但是,有时候您可能希望隐藏公式,以保护其不被他人修改或查看。那么今天小编就来给大家分享隐藏excel单元格数据的方法。 一、使用“隐藏”功能 在Excel中,我们还可以使用…

ZYNQ学习--AXI总线协议

一、AXI 总线简介 AXI(Advanced Extensible Interface)高级拓展总线是AMBA(Advanced Microcontroller Bus Architecture)高级微控制总线架构中的一个高性能总线协议,由ARM公司开发。AXI总线协议被广泛应用于高带宽、低…

大语言模型超参数调优:开启 AI 潜能的钥匙

前言 在人工智能的广袤领域中,大语言模型(LLM)凭借其强大的实力,不断重塑着我们对机器理解语言的认知。然而,要使这些模型在特定应用场景中发挥最大效能,关键在于巧妙调整其超参数。本文将引领你深入探究 …

x-cmd pkg | bat: cat 命令现代化替代品,终端用户必备工具

目录 简介快速上手安装使用与第三方工具组合使用 功能特点竞品和相关作品进一步阅读 简介 bat 是由 github.com/sharkdp 用 Rust 开发的 cat 命令现代化替代品。它比 cat 命令扩展了更多的现代化功能,如语法高亮、自动分页、Git集成等,能为用户提供更为…

python如何跨文件调用自己定义的函数

当自己定义函数过多时,只有一个python文件时代码会很长,不易理清代码框架,比如下面这段代码,如何隐藏具体函数细节呢?也就是把def函数放到另外一个python文件里步骤如下: 一个python文件代码篇幅过长 imp…

结构体对齐、函数传参、库移植

结构体字节对齐 按固定位大小匹配地址&#xff0c;a:10b:1020位 <32位4字节 202040位>32位 所以ab20作为一个int型&#xff0c;int c:20 单独做4个字节&#xff08;int&#xff09; 101020 &#xff08;int&#xff09;4个字节 &#xff0c;20&#xff08;int&#x…

算法之逻辑斯蒂回归(Logistic regression)

简介&#xff1a;个人学习分享&#xff0c;如有错误&#xff0c;欢迎批评指正。 逻辑斯蒂回归&#xff08;Logistic Regression&#xff09;是统计学中一种广泛应用于二分类问题的算法。它的主要目标是预测二分类问题中的事件发生的概率。尽管名字里有“回归”&#xff0c;但逻…

wordpress迁移到别的服务器

wordpress论坛网站搭建 于2023/11/16写的该文章 一-配置环境 配置LNMP&#xff08;linuxnginxmysqlphpphpmyadmin&#xff09;环境或者LAMP&#xff08;apache&#xff09; 可以选择集成了这些软件的套件 下载链接&#xff1a;https://www.xp.cn/download.html 手动下载这…

https加密原理

以为http的数据都是以明文传送&#xff0c;会有很大的安全问题&#xff0c;所以出现的https协议。https就是在http协议的基础上增加了一个安全层&#xff0c;可以对数据进行加密和解密(例如SSL、TLS等)。 https加密解密的原理&#xff1a;证书非对称加密对称加密 在讲解原理前…