java中基本类型之间的转换

news2024/9/27 5:46:37

基本类型容量

java中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围

  1. byte:字节型,占内存容量为 1 个字节(8 位),表示范围为 -128(-2^7)到 127(2^7-1)。
  2. short:短整型,占内存容量为 2 个字节(16 位),表示范围为 -32,768(-2^15)到 32,767(2^15-1)。
  3. int:整型,占内存容量为 4 个字节(32 位),表示范围为 -2,147,483,648(-2^31)到 2,147,483,647(2^31-1)。
  4. long:长整型,占内存容量为 8 个字节(64 位),表示范围为 -9,223,372,036,854,775,808(-2^63)到 9,223,372,036,854,775,807(2^63-1)。
  5. float:单精度浮点型,占内存容量为 4 个字节(32 位),表示范围约为 ±3.4E-45(±1.18e-38)到 ±3.4028235E38(±1.0x10^38)。
  6. double:双精度浮点型,占内存容量为 8 个字节(64 位),表示范围约为 ±4.9E-324(±1.17e-308)到 ±1.8014398E+308(±9.2x10^308)。
  7. char:字符型,占内存容量为 2 个字节(16 位),表示范围为 '\u0000'(0)到 '\uffff'(65,535)。
  8. boolean:布尔型,占内存容量为 1 个字节(8 位),表示范围为 false(0)和 true(非零)。

自动类型转换

根据数据容量和范围,小的数据类型可以转换为大的数据类型

比如:

int b = 1;
double c = b;

但是大的范围转为小的数据类型就会导致精度丢失 

比如:

 double a = 1.0;
 int b = a;

整形的数据在进行计算的时候会转换为int类型去进行计算 同时要注意的是不要超过类型的数值范围

 可自动关系转换图谱

强制类型转换

这种可以使多大范围的强制转换为小范围的,但是如果范围超了会导致精度丢失

    double a = 1.0;
    int b = (int) a;

当大范围的数值被强制转换为小范围的数值时,其精度可能会受到影响。以double和int为例,如果将一个double类型的值强制转换为int类型,那么小数部分将被直接截断,而不是四舍五入。因此,如果你有一个带有小数部分的double值,如3.14,在强制转换为int类型后,你将得到3,而不是3.14的整数部分3。

为了处理这种精度损失,你可以在强制类型转换前使用四舍五入的方法将float类型值转换为int类型值。具体代码如下:

float f = 3.14; int i = ( int )(f + 0.5); // 四舍五入。

这样可以保证转换后的int类型值更加准确。

 

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

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

相关文章

带大家做一个,易上手的家常芹菜炒土豆

家里有芹菜土豆需要处理的看过来了呀 先土豆去皮 芹菜如果上面叶子发黑了 就切掉然后清洗干净 将芹菜切成条 土豆也切条 最好大小按芹菜的来 准备两瓣蒜 切小块 起锅烧油 倒入土豆翻炒一小会儿 倒水煮一会儿 土豆真的不太好熟 可以多放一点点水 但也别过了 等水少了一…

五、W5100S/W5500+RP2040之MicroPython开发<TCP Server示例>

文章目录 1 前言2 相关网络信息2 .1 简介2.2 TCP Server工作步骤2.3 TCP Server的优点2.4 应用场景 3 WIZnet以太网芯片4 TCP Server网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 烧录验证 5 注意事项6 相关链接 1 前言 在这个智能硬件…

人工智能可以战胜人类智慧大脑么?

引言 在当今快速发展的科技时代,人工智能的进步日新月异,引发了一场深刻的讨论:能否有一天,人工智能能够超越甚至战胜人类智慧?这个问题涉及到人类认知的广泛领域,牵涉到人类思维的深层次特质以及AI技术在…

Leetcode 45 跳跃游戏 II

题意理解: 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。 还是从初始坐标i0的位置到达最后一个元素,但是问题不是能不能跳到,而是最少几步能跳到最后一个元素。 目标&…

2024Web自动化测试的技术框架和工具有哪些?

Web 自动化测试是一种自动化测试方式,旨在模拟人工操作对 Web 应用程序进行测试。这种测试方式可以提高测试效率和测试精度,减少人工测试的工作量和测试成本。在 Web 自动化测试中,技术框架和工具起着至关重要的作用。本文将介绍几种常见的 W…

Ubuntu 常用命令之 tar 命令用法介绍

tar 命令在 Ubuntu 系统中是用来打包和解包文件的工具。tar 命令可以将多个文件或目录打包成一个 tar 文件,也可以将 tar 文件解包成原来的文件或目录。 tar 命令的常用参数如下 c:创建一个新的 tar 文件。x:从 tar 文件中提取文件。v&…

【源码】基于SpringBoot+thymeleaf实现的快递之家管理系统

系统介绍 基于SpringBootthymeleaf实现的快递之家管理系统是为学校打造的高效的快递管理系统,系统分为管理员、注册用户两类角色,一共是分为三大菜单项,分别是我的物流、个人管理、后台管理,管理员拥有全部菜单,注册用…

科研院校和研究所都在用功率放大器做哪些实验

科研院校和研究所在科研工作中常常使用功率放大器进行实验。功率放大器是一种电子设备,其主要功能是将输入信号的功率增加到预定的输出功率水平,并保持信号的波形不失真。它在各个学科领域都有广泛的应用,包括通信、无线电、雷达、生物医学等…

外汇天眼:Cboe宣布与纽约州Secaucus的NY6数据中心建立连接

NY6数据中心将集成到Cboe的延迟均衡Secaucus基础架构中,目前该基础架构使用NY4和NY5数据中心。 NY6将仅作为BYX Equities、BZX Equities、EDGA Equities、EDGX Equities、BZX Options、EDGX Options和C2 Options交易所的延迟均衡出入口(PoP)…

算法--数据结构基础

文章目录 数据结构单链表栈表达式求值前缀表达式中缀表达式后缀表达式 队列单调栈单调队列KMPTrie并查集堆哈希表字符串哈希 数据结构 单链表 用数组模拟(静态链表)效率比定义Node类(动态链表)效率高些 使用数组模拟单链表&am…

DBNet文本检测网络 (FPN、batch normalization、Transpose conv)

DB Net文本检测网络概述 DBNet论文地址:https://arxiv.org/pdf/1911.08947.pdf DBNet是一种基于分割的文本检测网络,使用分割网络提供自适应的thresh用于二值化。 原始二值化方法和DBNet中的动态阈值 传统的基于分割的检测方法,对于分割后的…

C++第一讲之初入C++

注:本文是对于学完C语言再学C同学的讲解,主要补充C与C语言不同之处,如果你没学过C语言,不建议观看本文。 一.C简介 我们都知道C语言是过程性语言(强调的是实现过程),即对计算机语言要处理的两…

【持续更新】汇总了一份前端领域必看面试题

文章目录 1. 写在前面2. 前端面试汇总2.0.1. 如何提⾼webpack的打包速度2.0.2. 数组去重2.0.3. 前端有几种缓存方式?2.0.4. nextTick描述一下?2.0.5. Webpack层面的优化?2.0.6. 代码层面的优化?2.0.7. Web 技术的优化?…

ESP32 - Thonny+MicroPython+ESP32 继电器的使用

ESP32 - ThonnyMicroPythonESP32 继电器的使用 认真理解,能看懂 继电器默认为断开 from machine import Pin p13 Pin(13, Pin.OUT) p13.value(1) # 吸合 #p13.value(0) # 断开

专攻代码型闪存芯片赛道,芯天下授权世强硬创代理全线产品

近年来受下游应用需求增长的驱动,代码型闪存芯片市场空间持续扩张,在后疫情之下NOR Flash及SLC NAND Flash市场规模整体仍保持逐步增长的趋势。 为了迎合市场需求,世强先进(深圳)科技股份有限公司(下称“世…

【离散数学】——期末刷题题库(树其二)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

vue2的小练习——实现自定义指令v-nodata的商品列表

实现:一个商品列表,每个商品包含商品名称、商品价格,我们可以对每个商品进行删除操作,要求如下。 实现一个自定义指令v-nodata,指令的功能是当商品列表中没有商品数据时会显示一个div,div中有“暂无数据”…

node.js mongoose middleware

目录 官方文档 简介 定义模型 注册中间件 创建doc实例,并进行增删改查 方法名和注册的中间件名相匹配 执行结果 分析 错误处理中间件 手动抛出错误 注意点 官方文档 Mongoose v8.0.3: Middleware 简介 在mongoose中,中间件是一种允许在执…

智能停车场系统施工布线方案

一、停车场系统所用的控制主板的信号线是不可以与交流电源线平行铺设的,所以应该尽量避免穿在同一PVC管内。 二、停车场系统在布线的时候需要避免导线产生接头。如果必须有接头,那么接头也应该使用压线或焊接并作防水处理。 三、停车场布线所有外部设备…

玩转大数据19:数据治理与元数据管理策略

随着大数据时代的到来,数据已经成为企业的重要资产。然而,如何有效地管理和利用这些数据,成为了一个亟待解决的问题。数据治理和元数据管理是解决这个问题的关键。 1.数据治理的概念和重要性 数据治理是指对数据进行全面、系统、规范的管理…