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

数据类型(使用与定义)

基本数据类型是CPU可以直接进行运算的类型,在算法直接被使用,主要包括:

整数类型:byte、short、int、long
浮点数类型:float、double,用于表示小数。
字符类型:char,用于表示各种语言的字母、标点符号甚至表情符号等。
布尔类型:bool,用于表示true(是)与false(否)判断。

基本数据类型以二进制的形式存储在计算机中

一个二进制位即为 1 比特。在绝大多数现代操作系统中,1 字节(byte)由 8 比特(bit)组成。

基本数据类型的取值范围取决于其占用的空间大小。下面以 Java 为例。

整数类型 byte 占用 1 字节 = 8 比特 ,可以表示 28 个数字。

整数类型 int 占用 4 字节 = 32 比特 ,可以表示 232 个数字。

基本数据类型的占用空间和取值范围
类型符号占用空间最小值最大值默认值
整数byte1 字节-128(-2^7)127(2^7-1)0
short2 字节-32768(-2^15)32767(2^15 - 1)0
int4 字节-2,147,483,648(-2^31)2,147,483,647(2^31 - 1)0
long8 字节-9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)0L
浮点数float4 字节0f符合IEEE754标准的浮点数,1.4E-45 ~ 3.4028235E38 0.0f
double8 字节0d符合IEEE754标准的浮点数,4.9E-324 ~ 1.7976931348623157E3080.0
字符char2 字节'\u0000'\u0000 ~ \uffff(十进制等效值为 0~65535,本质也是数值)0
布尔bool1 字节falsetruefalse

 数据类型转换

自动类型转换(隐式转换)

​        自动类型转换是指 Java 在不丢失信息的情况下,自动将一种数据类型转换为另一种数据类型。这种转换通常发生在从小范围的数据类型转换到大范围的数据类型。例如,从`byte`转换到`int`,从`int`转换到`long`,从`float`转换到`double`等。

​        规则是按照数据类型的范围大小来进行转换,数据类型范围从小到大依次是`byte` < `short` < `int` < `long` < `float` < `double`。例如,当把一个`byte`类型的值赋给一个`int`类型的变量时,Java 会自动进行转换。

 byte b = 10;int i = b; // 自动将byte类型的b转换为int类型并赋值给iSystem.out.println(i); 
强制类型转换(显式转换)

强制类型转换是在可能丢失信息或者不符合自动转换规则的情况下,程序员明确要求 Java 进行的类型转换。这种转换通常用于将大范围的数据类型转换为小范围的数据类型,或者在不同类型但范围可能有重叠的数据类型之间转换(如intfloat)。

规则是需要在要转换的数据前面加上目标数据类型的括号。但是要注意,这种转换可能会导致数据丢失或精度降低。例如,将一个double类型的值转换为int类型时,小数部分会被截断。

double d = 3.14;int j = (int)d; // 强制将double类型的d转换为int类型并赋值给jSystem.out.println(j); 
在表达式中的类型转换

在包含多种不同数据类型的表达式中,Java 会根据一定的规则进行自动类型转换。一般来说,Java 会将所有的数据类型提升到表达式中最高的数据类型,然后进行计算。例如,在一个包含intdouble的表达式中,int会先被转换为double,然后进行计算。

int num1 = 5;double num2 = 2.5;double result = num1 + num2; // num1会自动转换为double类型,然后与num2相加System.out.println(result); 

 总结:

隐含强制类型转换

  1. 整数的默认类型是 int。

  1. 小数默认是 double 类型浮点型,可以不用在数字后面添加D或者d;在定义 float 类型时必须在数字后面跟上 F 或者 f。

相关文章:

数据类型(使用与定义)

基本数据类型是CPU可以直接进行运算的类型&#xff0c;在算法直接被使用&#xff0c;主要包括&#xff1a; 整数类型&#xff1a;byte、short、int、long。 浮点数类型&#xff1a;float、double,用于表示小数。 字符类型&#xff1a;char&#xff0c;用于表示各种语言的字母…...

VMware:CentOS 7.* 连不上网络

1、修改网络适配 2、修改网卡配置参数 cd /etc/sysconfig/network-scripts/ vi ifcfg-e33# 修改 ONBOOTyes 3、重启网卡 service network restart 直接虚拟机中【ping 宿主机】&#xff0c;能PING通说明centOS和宿主机网络通了&#xff0c;只要宿主机有网&#xff0c;则 Ce…...

日志分析详解

文章目录 日志分析的概述日志分析的作用主要收集工具集中式日志系统主要特点采集日志分类ELK概述ELK收集日志的两种形式 搭建ELK平台安装部署docker添加镜像加速器安装部署Elasticsearch安装ElasticSearch-head&#xff08;可选&#xff09;运行容器页面无数据问题测试 安装Kib…...

【JavaWeb后端学习笔记】Maven项目管理

Maven 1、分模块设计2、Maven继承2.1 继承关系2.2 版本锁定 3、Maven聚合4、聚合与继承的关系 1、分模块设计 如果一个项目中含有大量的功能模块。可以考虑将这些功能分模块设计&#xff0c;逐一进行开发。例如将公共类可以定义在一个项目中&#xff0c;将通用工具类也放在一个…...

Docker--Docker Container(容器) 之 操作实例

容器的基本操作 容器的操作步骤其实很简单&#xff0c;根据拉取的镜像&#xff0c;进行启动&#xff0c;后可以查看容器&#xff0c;不用时停止容器&#xff0c;删除容器。 下面简单演示操作步骤 1.创建并运行容器 例如&#xff0c;创建一个名为"my-nginx"的交互…...

Android前端签到web迁移到rust的axum的过程-签到的重构

本次变更了以下内容: 为了使用之前ip2sta的ip到端点名的python,dic变量,将其存入redis hashset.使用地址/api/ip2dic 手动执行之.并且定义在/station/init,这个每天初始化redis的路径下.在rust axum的route中定义/sta/ip2dic,用来得到redis字典的内容,包含值和键.在前端的人名…...

用户认证系统登录界面

下面是使用HTML和JavaScript实现的一个中文版登录界面&#xff0c;包含登录、注册和修改密码功能。注册成功后会显示提示信息&#xff0c;在登录成功后进入一个大大的欢迎页面。 1.代码展示 <!DOCTYPE html> <html lang"zh-CN"> <head><meta …...

Redis从入门到进阶(总结)

以下内容均以CentOS7为背景。 一、Redis安装及启动 mysql&#xff08;读&#xff1a;2000/s&#xff1b;写&#xff1a;600/s&#xff09; redis&#xff08;读&#xff1a;10w/s&#xff1b;写&#xff1a;8w/s&#xff09;通过官方给出的数据单机并发可以达到10w/s&#xf…...

【D3.js in Action 3 精译_044】5.1 饼图和环形图的创建(四):数据标签的添加

当前内容所在位置&#xff1a; 第五章 饼图布局与堆叠布局 ✔️ 5.1 饼图和环形图的创建 ✔️ 5.1.1 准备阶段&#xff08;一&#xff09;5.1.2 饼图布局生成器&#xff08;二&#xff09;5.1.3 圆弧的绘制&#xff08;三&#xff09; ✔️5.1.4 数据标签的添加&#xff08;四&…...

Linux的基本功能和命令

Linux的基本功能和命令 切换目录 pwd 查询当前目录地址 cd /xxx/xxx 转到目录 cd …/ 回到上一级目录 cd ./ 当前目录 创建、删除文件/文件夹 创建文件\文件夹 touch filename 创建空文件mkdir 创建目录 mkdir -p 目标目录存在也不报错mkdir -p xxx/xxx 递归创建目录…...

【Spark】Spark的两种核心Shuffle工作原理详解

Spark 的shuffle机制 一、Spark ShuffleManager 发展历程 Spark 1.1.0 之前 在 Spark 1.1.0 之前&#xff0c;Spark 使用 BlockStoreShuffleFetcher 来处理 Shuffle 操作。这个实现主要依赖于直接从 BlockManager 获取 Shuffle 数据&#xff0c;并通过网络进行交换。 Spark …...

TCP 的文化内涵

从历史和文化内涵的视角看 TCP 协议的优势和局限&#xff0c;这些都刻在基因里。节约和经济获得向下兼容&#xff0c;但这也意味着它没有浪费带宽的本意&#xff0c;任何相左的优化策略终将遇到无法解决的困难&#xff0c;大致就这样&#xff0c;这为设计新协议提了意见&#x…...

ASP.NET |日常开发中读写XML详解

ASP.NET &#xff5c;日常开发中读写XML详解 前言一、XML 概述1.1 定义和结构1.2 应用场景 二、读取 XML 文件2.1 使用XmlDocument类&#xff08;DOM 方式&#xff09;2.2 使用XmlReader类&#xff08;流方式&#xff09; 三、写入 XML 文件3.1 使用XmlDocument类3.2 使用XmlWr…...

Less和SCSS,哪个更好用?

前言 Less 和 SCSS 都是流行的 CSS 预处理器&#xff0c;它们的目的都是扩展 CSS 的功能&#xff0c;使样式表更具组织性、可维护性和可重用性。虽然它们有许多相似之处&#xff0c;但在语法、特性和工作方式上也存在一些差异。 Less Less 是一种动态样式表语言&#xff0c;…...

第一个C++程序--(蓝桥杯备考版)

第一个C程序 基础程序 #include <iostream>//头⽂件 using namespace std;//使⽤std的名字空间 int main()//main函数 {cout << "hello world!" << endl; //输出&#xff1a;在屏幕打印"hello world!" return 0;}main函数 main 函数是…...

NanoLog起步笔记-7-log解压过程初探

nonolog起步笔记-6-log解压过程初探 再看解压过程建立调试工程修改makefile添加新的launch项 注&#xff1a;重新学习nanolog的README.mdPost-Execution Log Decompressor 下面我们尝试了解&#xff0c;解压的过程&#xff0c;是如何得到文件头部的meta信息的。 再看解压过程 …...

【MySQL 进阶之路】基础语法及优化技巧

MySQL DML 基础语法及优化技巧 一、DML&#xff08;数据操作语言&#xff09;概述 DML 是数据库操作语言的子集&#xff0c;用于数据的增、删、改、查四个基本操作。MySQL 中的 DML 操作通常是指以下四种基本操作&#xff1a; INSERT&#xff1a;插入数据SELECT&#xff1a;…...

微信小程序做电子签名功能

文章目录 最近需求要做就记录一下。 人狠话不多&#xff0c;直接上功能&#xff1a; 直接搂代码吧,复制过去就可以用&#xff0c;有其他需求自己改吧改吧。 signature.wxml <!-- 电子签名页面 --> <custom-navbar title"电子签名"show-home"{{fals…...

PR的选择与移动

选择工具 可以选择序列上的剪辑&#xff0c;如果需要多选可以按住shift键选中多个剪辑 CtrlA&#xff1a;可以进行全选 编组 选中多个剪辑后“右键-编组“可以将所选的剪辑连接在一起。这时单击任意剪辑都可以选中全部 向前选择轨道工具与向后选择轨道工具 向前选择轨道工具…...

Linux系统 —— 进程系列 - 进程状态 :僵尸与孤儿

目录 1. 进程状态的概念 1.1 课本上的说法&#xff1a;名词提炼 1.2 运行&#xff0c;阻塞和挂起 1.2.1 什么叫做运行状态&#xff08;running&#xff09;&#xff1f; 1.2.2 什么叫做阻塞状态&#xff08;sleeping&#xff09;&#xff1f; 1.2.3 什么叫做挂起状态&…...

5G NR物理层实战:如何利用TS 38.211优化无线资源管理

5G NR物理层实战&#xff1a;TS 38.211无线资源管理优化指南 在5G网络部署的深水区&#xff0c;无线资源管理&#xff08;RRM&#xff09;的精细化程度直接决定了网络性能天花板。作为3GPP物理层协议集的核心文档&#xff0c;TS 38.211规范中隐藏着诸多未被充分挖掘的优化密钥—…...

2026年云储存哪个好用?5款免费又便捷的工具深度盘点

在如今这个数字化时代&#xff0c;云储存软件成为了我们存储、管理和共享数据的得力助手。无论是个人用户保存生活照片、工作文档&#xff0c;还是企业团队协作共享资源&#xff0c;都离不开云储存。 然而市场上软件众多&#xff0c;到底哪个才真正好用&#xff1f;为了帮助大…...

如何快速掌握KLayout:专业版图设计的终极实战指南

如何快速掌握KLayout&#xff1a;专业版图设计的终极实战指南 【免费下载链接】klayout KLayout Main Sources 项目地址: https://gitcode.com/gh_mirrors/kl/klayout KLayout是一款功能强大的开源版图设计工具&#xff0c;专门用于集成电路&#xff08;IC&#xff09;和…...

别再死磕EKF了!用ESKF搞定无人机姿态估计,避开‘大数吃小数’的坑

无人机姿态估计实战&#xff1a;用ESKF避开EKF的数值陷阱 四轴飞行器在高速翻滚时&#xff0c;IMU数据突然出现剧烈抖动——这是去年调试自主无人机时遇到的真实场景。当时使用传统EKF算法&#xff0c;姿态解算在极端机动下频繁发散&#xff0c;直到切换到误差状态卡尔曼滤波&a…...

14 年 Java 老码农,重启 CSDN:从 2012 到 2026,我的技术成长与重启之路

图&#xff1a;我的 CSDN 主页&#xff0c;2012 年 8 月 13 日注册&#xff0c;2014 年分享的第一篇 SSH 框架相关文章。 14 年过去&#xff0c;从青涩的 Java 工具类到现在的 DevOps 科研 AI&#xff0c;账号尘封多年&#xff0c;今天正式重启。 一、2012–2026&#xff1a;…...

会Python可以找什么工作?

Python凭借简洁易用、功能强大的特点&#xff0c;成为当下就业面极广的编程语言。不少人学会后却不清楚可以找什么工作&#xff0c;其实从开发、数据分析到自动化运维都有大量机会&#xff0c;接下来为大家详细讲解一下。会Python后&#xff0c;可以找的工作有很多&#xff0c;…...

Thermal Control Center:Dell G15散热管理的开源替代方案实战指南

Thermal Control Center&#xff1a;Dell G15散热管理的开源替代方案实战指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 在追求极致性能的游戏本领域&…...

手把手教你理解永磁同步电机的Clark与Park变换(附MATLAB仿真代码)

手把手教你理解永磁同步电机的Clark与Park变换&#xff08;附MATLAB仿真代码&#xff09; 在工业自动化与电动汽车驱动领域&#xff0c;永磁同步电机&#xff08;PMSM&#xff09;凭借其高功率密度和卓越的动态性能&#xff0c;已成为现代运动控制系统的核心部件。然而&#xf…...

LightOnOCR-2-1B小白友好教程:Web界面+API调用双模式教学

LightOnOCR-2-1B小白友好教程&#xff1a;Web界面API调用双模式教学 1. 引言&#xff1a;认识LightOnOCR-2-1B LightOnOCR-2-1B是一个强大的多语言OCR&#xff08;光学字符识别&#xff09;模型&#xff0c;它能从图片中准确提取文字内容。这个模型特别适合需要处理多语言文档…...

从码农到冥府CTO:重建六道轮回系统的质量保障实践

第一章 职业跃迁&#xff1a;技术人的冥府晋升之路1.1 技术职级体系重构冥府技术团队沿用硅谷职级模型&#xff0c;但增设业力评估维度&#xff1a;L1 鬼卒程序员&#xff1a;执行生死簿数据录入&#xff08;日均处理10万条因果记录&#xff09;L3 无常高级工程师&#xff1a;负…...