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

八、数据类型转换

数据类型转换

  • 1.数据类型转换
    • 1.1.隐式类型转换
    • 1.2.显式类型转换
    • 1.3.训练1
    • 1.4.训练2

——————————————————————————————————————————————————

1.数据类型转换

类型转换是将一个值从一种类型更改为另一种类型的过程。例如:可以将String类型的数据"457"转换为数值型,也可以将任意的数据转换为String类型。

如果从低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的;而把高精度数据类型向低精度数据类型转换时,则会有信息丢失,有可能失败。

数据类型转换有两种方式,即隐式转换与显式转换。

——————————————————————————————————————————————————

1.1.隐式类型转换

从低级类型向高级类型的转换,系统将自动执行,程序员无须进行任何操作。这种类型的转换被称为隐式转换。

下列基本数据类型会涉及数据转换,不包括逻辑类型和字符类型。这些类型按精度从低到高排列的顺序为:

byte < short < int < long <float < double

例:可以将int型变量直接赋值给float型变量,此时int型变量将隐式转换成float型变量。

   int x = 50;            //声明int型变量xfloat y = x;           //将X赋值给y,y的值为50.0

隐式转换也要遵循一定的规则来解决在什么情况下将哪种类型的数据转换成另一种类型的数据。

在这里插入图片描述

例:使用隐式转换提升数值的精度。

在项目中创建类Conver,在主方法中创建不同数值型的变量,实现将各变量隐式转换。

在这里插入图片描述

在这里插入图片描述

要理解类型转换,读者可以这么想象,大脑前面是一片内存,源和目标分别是两个大小不同的内存块(由变量及数据的类型来决定),将源数据赋值给目标内存的过程,就是用目标内存块尽可能多地套取源内存中的数据。

——————————————————————————————————————————————————

1.2.显式类型转换

当把高精度的变量的值赋给低精度的变量时,必须使用显式类型转换运算(又称强制类型转换)。语法如下:

   (类型名) 要转换的值

例如将高精度数字转换为低精度数字。代码如下:

   int a = (int)45.23;         //此时输出a的值为45long y = (long)456.6F;      //此时输出y的值为456int b = (int) d";           //此时输出b的值为100

执行显式类型转换时,可能会导致精度损失。除boolean类型外,其他基本类型都能以显式类型转换的方法实现转换。

注意:当把整数赋值给一个byte、short、int、long型变量时,不可以超出这些变量的取值范围,否则必须进行强制类型转换。

   byte b = (byte)129;

——————————————————————————————————————————————————

1.3.训练1

输出连续的英文字母 使用char型声明’a’~’g’,然后输出它们相加后的结果。

在这里插入图片描述

在这里插入图片描述

——————————————————————————————————————————————————

1.4.训练2

货车装箱子 一辆货车运输箱子,载货区宽2米、长4米,一个箱子宽1.5米、长1.5米,请问载货区一层可以放多少个箱子?

载货区长度除以箱子长。
载货区宽度除以箱子宽。
除后取整数,两者相乘。

在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/172505.html

相关文章:

  • 2023数学建模研赛华为杯E题思路-出血性脑卒中临床智能诊疗建模
  • Windows Server 2012 R2系统远程桌面的数字证书算法SHA1升级到SHA256
  • windows进程管理相关命令
  • Flutter快速入门学习(一)
  • 网站排名下降的原因和解决方法(SEO优化失误可能导致网站排名下降)
  • 爱看小说手机网源码全站带数据带自动采集程序/ThinkPHP内核小说网站源码+书库数据库带自动采集
  • 《Java8实战》
  • 【初阶数据结构】——堆排序和TopK问题
  • LLM - 大模型速递 InternLM-20B 快速入门
  • 探索AIGC人工智能(Midjourney篇)(四)
  • uni-app:跨页面传递数组
  • element 表格拖拽保存插件
  • 通过内网穿透,在Windows 10系统下搭建个人《我的世界》服务器公网联机
  • C++11异步任务轮子实现(header-only)
  • 2023华为杯研究生数学建模竞赛选题建议+初步分析
  • 多线程并发或线程安全问题如何解决
  • 深度学习——线性神经网络一
  • 利用大模型知识图谱技术,告别繁重文案,实现非结构化数据高效管理
  • Java抽象类和普通类区别、 数组跟List的区别
  • Leetcode.2522 将字符串分割成值不超过 K 的子字符串
  • 成绩分析(蓝桥杯)
  • 【多思路附源码持续更新】2023年华为杯(中国研究生数学建模)竞赛C题
  • 基于STM32设计的校园一卡通(设计配套的手机APP)
  • 有了Spring为什么还需要SpringBoot呢
  • 【记录】Python 之于 C/C++ 区别
  • 【Vue-Element-Admin】dialog关闭回调事件
  • Ansible自动化:简化你的运维任务
  • webpack配置alias后eslint和ts无法识别
  • 小程序从无到有教学教程-- 01.重置华为云服务器Huawei Cloud EulerOS 2.0版本并且设置安全组
  • js实现短信验证码一键登录