第2集丨Java中的数据类型汇总

news2025/2/21 1:06:37

目录

  • 一、数据类型分类
  • 二、基本数据类型
    • 取值范围
    • 数据类型的转换
    • byte和char的关系
  • 三、包装类

一、数据类型分类

在这里插入图片描述

二、基本数据类型

取值范围

  1. 比特(bit位) : 数据运算得最小存储单位
  2. 字节(byte) : 数据最小存储单位
  3. bit和byte可以互相转换得,1 byte = 8 bit位
  4. 默认情况下,小数点的数据会被识别位精度较高得双精度double类型
  5. float : 单精度浮点类型,数据需要使用F(f)结尾
  6. 首先是第一位是符号位,1bit标识,例如:long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以其实真正的数据只有63个bit,因此其取值范围位为:【-2^63 ~ 2^63 -1】,即:(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)

在这里插入图片描述

// TODO 1. 整数类型
// byte : 8位
byte b = 10;
// short : 16位
short s = 10;
// int : 32位
int i = 10;
// long : 64位
long lon = 10;

// TODO 2. 浮点类型:含有小数点得数据类型
// 根据计算精度分为
// 默认情况下,小数点得数据会被识别位精度较高得双精度double类型
// float : 单精度浮点类型,数据需要使用F(f)结尾
float f = 1.0F;
// double : 双精度浮点类型
double d = 2.0;

// TODO 3. 字符类型
// 所谓得字符类型,其实就是使用符号标识文字内容
char c = '@';

// TODO 4. 布尔类型
// true, false,标识判断条件是否成立,如果成立,取值位true,如果不成立,那么取值位false
boolean bln = true;

数据类型的转换

  1. Java中范围小的数据可以直接转换位范围大的数据,但是范围大的数据无法直接转换位范围小的数据(byte -> short -> int -> long -> float -> double )。
  2. 如果想要将范围大的数据转换位范围小的数据,那么需要使用小括号进行强制转换。
// byte -> short -> int -> long -> float -> double
byte b = 10;

short s = b;

int i = s;

long lon = i;

float f = lon;

double d = f;

// 如果想要将范围大的数据转换位范围小的数据,那么需要使用小括号进行强制转换。
int i1 = (int)d;

byte和char的关系

  1. asc码字符 : 一个字节就是一个字符
  2. 其他编码字符 : 3个字节是一个字符
char[] cs = {'a', '中', '国'};
//个字节表示一个字符
byte[] bs = {-28,-72,-83,-27,-101,-67};

String s = new String(cs);
String s1 = new String(bs, "UTF-8");
// a中国
System.out.println(s);
// 中国
System.out.println(s1);

三、包装类

  1. java种有8种基本数据类型
  2. 所有继承了Object 类的类型的都称为引用类型,包括数组和字符串。
  3. 引用数据类型可以构建对象,通过调用对象的属性或方法来实现一些具体的操作,但是我们8种基本数据类型不是引用数据类型,所有就没有所谓的属性和对象,使用起来就显得特别的单一、功能简单;尤其是在和其他对象使用的时候会感觉很不方便,比如数字和字符串进行转换的时候是没有办法直接进行转换的,需要我们额外的类进行处理,Java为了对基本数据类型的优化,提供了特殊的类与之对应,我们称为包装类
  4. 这种包装类,就好比我们用箱子把基本数据类型包装起来,转换为对象的感觉。
  5. 自动装箱:jvm自动将基本数据类型转换为包装类型,也可以显示的使用Integer.valueOf(i)
  6. 自动拆箱:jvm自动将包装类型转换为基本数据类型,也可以显示的使用:i1.intValue();
  7. new Integer(i): Java已经不推荐这么使用了,但是你可以这么用
Byte b = null;
Short s = null;
Integer i = null;
Long lon = null;
Float f = null;
Double d = null;
Character c = null;
Boolean bln = null;


int i = 10;
//Integer i1 = new Integer(i);  //Java已经不推荐这么使用了,但是可以这么用
//Integer i1 = Integer.valueOf(i);
// 由于使用这种方式特别多,jvm会自动完成调用的操作,即:自动装箱
Integer i1 = i;

// 将包装类型转换为基本数据类型
//int i2 = i1.intValue();
// 自动拆箱
int i2 = i1;

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

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

相关文章

2023开学季哪款电容笔值得买?高品质电容笔品牌推荐

我们可以看出,原先的苹果电容笔的价格卖得非常昂贵。事实上,对于那些没有过多预算的人来说,平替电容笔是最好的选择。想象一下,一款原装的苹果电容笔,能够购买四款平替电容笔,而平替电容笔在性能上&#xf…

修改windows系统网卡的MAC地址方法

文章目录前言修改MAC地址验证MAC地址是否修改前言 工作中遇到通过绑定IP地址和MAC地址认证才能上网的网络,需要修改指定的IP地址和MAC地址,修改IP地址比较简单,但是MAC地址之前好像没有改过,浅浅的记录一下 修改MAC地址 首先打…

MicroApp初探

微前端 微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。微前端架构与框架无关,每个微应用都可以使…

VMware虚拟机安装部署CentOS7+Moba远程连接+克隆(步骤)

使用VMware部署centos7操作系统 1. 打开VMware点击“创建新的虚拟机” 2.按提示逐步选择 选择NAT模式(只要电脑能联网,虚拟机就能联网) 磁盘存为单个文件 点击“使用iso映像文件”,选择已经下载好的镜像文件。 (虚…

火爆全网的ChatGPT对话数据可视化,分析数据可视化的应用和发展

ChatGPT为一款由OpenAI开发的人工智能聊天软件。2022年11月30日上映。截至2023年1月底,其月活跃用户超过1亿,是有史以来增长最快的消费应用。今年AIGC(是指利用人工智能技术来生成内容)频繁出圈,先是一个基于diffusion…

【转载】Visual Studio 下载进度很慢甚至不动怎么办?

原文链接:https://zhuanlan.zhihu.com/p/566305175 现在越来越多的人投身到计算机行业成为了一名码农,对于一个合格的码农来说能熟练的使用Visual Studio,Visual Studio code,idea等是很重要的,也有很多人在软件下载方面就遇到了难…

python【os模块文件读写操作】超详细

一、os 模块是什么:os 模块是python 标准库中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文档和目录二、认识文件路径分隔符:- 路径表示"\"在windows操作系统中表示区分文件的存储路径层级关系比如&#xff…

2022爱分析 · DataOps厂商全景报告 | 爱分析报告

报告编委 李喆 爱分析合伙人&首席分析师 廖耘加 爱分析分析师 目录 1. 研究范围定义 2. 市场洞察 3. 厂商全景地图 4. 市场分析与厂商评估 5. 入选厂商列表 1. 研究范围定义 研究范围 在后疫情时代,以数据分析为代表的数据消费场景日益丰富&…

Linux 用户讲解

目录 Linux 用户介绍 Linux用户类型 UID 用户组ID Linux 用户相关命令 id 查看用户信息 useradd 创建新的用户账户 groupadd 创建新的用户组 usermod 修改用户的属性 passwd 修改用户的密码、过期时间等 userdel 删除用户 通过文件的方法新建、编辑用户 /etc/p…

【操作系统】磁盘IO常见性能指标和分析工具实战

1.磁盘读写常见的指标 (1)IOPS(Input/Output Operations per Second) 指每秒能处理的I/O个数,表示块存储处理读写(输出/输入)的能力,单位为次,有顺序IOPS和随机IOPS比如…

设计模式第五讲-装饰器模式和代理模式详解

一. 装饰器模式 1. 背景 在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以…

软件测试工程师需要掌握哪些技能呢?

在谈到软件测试工程师时,许多人还是会想到那些重复使用软件并试图在频繁的操作中发现 BUG的人,也就是人们常说的按照测试规范和测试案例来测试软件,检查软件是否有错误,判断软件是否稳定。但这是一个很老派和错误的观点。 由于以…

持续测试:企业的4项策略

对于旅游业和酒店服务来说,节假日无疑是最繁忙的时期。2022年的节假日历经了多重变化,恶劣的天气以及不可抗力因素影响了许多出行计划,也影响了航空公司的运营。为了确保一个顺利和成功的假期,开发团队必须为意想不到的事情做好准…

openvino yolov5/ssd 实时推流目标检测在html上显示

安装ffmepg并添加到环境变量中,流媒体使用m7s 运行效果 SSD:检测在10ms左右,yolov5在100ms左右 app.py #!/usr/local/bin/python3 # encodin: utf-8import subprocess import threading import time import cv2 import osfrom OpenVinoYoloV…

遥感概念理解(更新中)

目录看一幅波长与光对应的图1、波段2、波段组合3、多波段数据的三种存储方式4、全色5、彩色6、 多光谱7、高光谱看一幅波长与光对应的图 1、波段 波段又称为波谱段或波谱带,在遥感技术中,通常把电磁波谱划分为大大小小的段落,大的成为波段区…

2023年数据安全的下一步是什么?

IT 预算和收入增长领域是每个年度开始时的首要考虑因素,在当前的世界经济状况下更是如此。 IT 部门和数据团队正在寻找确定优先级、维护和构建安全措施的最佳方法,同时又具有成本效益。 这是一个棘手的平衡点,但却是一个重要的平衡点&#…

java ssm自行车在线租赁系统idea

当前自行车在社会上广泛使用,但自行车的短距离仍旧不能完全满足广大用户的需求。自行车在线租赁系统可以为用户提供租赁用车等功能,拥有较好的用户体验.能实时在线租赁提供更加快捷方便的租车方式,解决了常见自行车在线租赁系统较为局限的自行车归还功能。 通过使用本系统&…

C语言学习笔记(九):文件的操作

C文件的知识 什么是文件 操作系统把各种设备都统一作为文件来处理。例如,终端键盘是输入文件,显示屏和打印机是输出文件。 文件一般指存储在外部介质上数据的集合。操作系统是以文件为单位对数据进行管理的 输入输出是数据传送的过程,数据…

【LeetCode】1124. 表现良好的最长时间段

1124. 表现良好的最长时间段 题目描述 给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」,意味在这段时间…

多线程下载工具axel的安装和使用

多线程下载工具axel的安装和使用 Axel是一个轻量级下载程序,它和其他加速器一样,对同一个文件建立多个连接,每个连接下载单独的文件片段以更快地完成下载。 Axel 支持 HTTP、HTTPS、FTP 和 FTPS 协议。它也可以使用多个镜像站点下载单个文件…