JAVA_SE基础——9.基本数据类型间的转换
前面我已经教会大家基本的数据类型进行了介绍, 然后这篇文章,我来介绍下,基本数据类型的转换。
Java中有两种类型转换形式,分别是自动类型转换和强制类型转换。
Step1.自动类型转换。
自动类型转换必须在相同数据类型的数据之间进行,并且必须是由低精度类型向高精度类型转换。自动类型转换适合于整数类型与浮点类型。
例:从byte类型向int类型转换时,就会发生自动类型转换。
下面来看一个实现自动类型转换的实例:
byte bt = 5;
int it = bt;
低精度类型→高精度类型 详细看下图
Step2.强制类型转换。
强制类型转换和自动类型转换恰好相反~ 强制类型转换是 高精度→低精度 需要注意的是高精度数据向低精度数据进行转换的时间 ,可能会超出了低精度数据类型的取值范围,导致数据不完整,精度丢失,·
实现数据的强制类型转换,要在被转换的变量前面添加转换的数据,格式如↓
目标类型 变量 = (目标类型)表达式
目标类型表示要转换后的数据类型,下面的实例就实现了强制类型转换:
int id = 16;
byte bid = (byte)id;
在本次强制类型转换过程中,由于int型变量值没有超出byte型的取值范围,因此byte型变量可以完全容纳int型变量。但如果此时int型变量的值为168(int型数值长度为32位),当int型数值强制转换为byte时,就超出了byte类型的取值范围,此时就会出现数据丢失的现象,因此要格外注意。下图给出了数值类型之间的合法转换。
基本数据类型之间的合法转换
注意:
boolean不能被强制转换为其他数据类型,反之亦然。
JAVA_SE基础—— 9.基本数据类型间的转换 到这里算是结束了 不会的,或者有问题的,或者有同学想和我交流的,可以加我QQ654249738 或者 留言——ThesCript_j
JAVA_SE基础——9.基本数据类型间的转换的更多相关文章
- JAVA_SE基础——8.基本数据类型
基本数据类型有:整数类型.浮点类型.字符类型.布尔类型 整数类型 整数类型用来存储整数数值,即没有小数部分的数值.与C.C++语言相同,整数在Java语言中有3种表示形式:十进制.八进制和十六进制. ...
- SQL数据类型和C#数据类型间的转换
今天看到SQL数据类型和C#数据类型间的转换,前人留下的. <?xml version="1.0" encoding="utf-8" ?> < ...
- C#常用数据类型间的转换
数据类型有很多种,数据类型间的转换也是有很多的方法,如果不细心整理的话等到用的时候再查就会显得很浪费时间,所以决心整理出这篇博文.主要是讲解常用数据类型之间的转换方法以及常见数据类型所占字节数. 字节 ...
- java 数据类型间的转换
byte a = (byte)129; 129已经超过了byte数据类型的存储上限,所以需要在值的前面加括号需要转换的数据类型名. 但是从高往低转的时候数值精度会有丢失; 所以最后结果为 a = -1 ...
- java --基本数据类型间的转换
public class changetype { public static void main(String[] args) { String ar = "true"; //S ...
- 01-Java基础知识:数据类型与变量、标识符、运算符、表达式
Java基础知识:数据类型与变量.标识符.运算符.表达式 一.数据类型 Java定义了基本数据类型.引用数据类型.自定义类型. 八种基本数据类型:byte (1). short (2). int ( ...
- Java之基础学习(数据类型、运算符、分支语句和循环语句)
在工作用得比较多的是shell和python编程,对于java以前也学习过,使用很少,这次借朋友推荐的java视频教程来温习下. 也是因为现在很多开源测试工具使用java编写的,学习一下更有助于测试工 ...
- 记录我的 python 学习历程-Day07 基础数据类型进阶 / 数据类型之间的转换 / 基础数据类型总结 / 编码的进阶
基础数据类型 str(字符串) str:补充方法练习一遍就行 s.capitalize() 首字母大写,其余变小写 s = 'dyLAn' print(s.capitalize()) # Dylan ...
- 10-10C#基础---数据类型之间的转换
10-10 C#基础数据类型转换(熟练掌握) 第一课 数据类型之间的转换 基本类型的转换:自动转换(隐式转换)和强制转换(显示转换) 装箱转换:允许值类型隐式转换成引用类型. 拆箱转换:允许将引用类 ...
随机推荐
- java把集合数据写入txt文档
List<String> list= bs.findJson(); try { BufferedWriter bw = new BufferedWriter(new FileWriter( ...
- iOS学习——iOS原生实现二维码扫描
最近项目上需要开发扫描二维码进行签到的功能,主要用于开会签到的场景,所以为了避免作弊,我们再开发时只采用直接扫描的方式,并且要屏蔽从相册读取图片,此外还在二维码扫描成功签到时后台会自动上传用户的当前地 ...
- 【learning】kd-tree
吐槽 kd-tree这个东西很早就听说过了但是qwq一直没有去了解 (原因的话..啊哈哈听说是什么跟二维平面之类的东西有关的所以就怂掉了qwq没错就是怂qwq) 但其实好像..真的很暴力啊qwq知道思 ...
- Gradle下载 Jar 包
使用此方法下载Jar包的前提是已经配置好了Gradle的环境了,配置好的标志是在终端输入gradle不提示command not found. 1. 编写build.gradle文件代码: apply ...
- 生成式模型之 GAN
生成对抗网络(Generative Adversarial Networks,GANs),由2014年还在蒙特利尔读博士的Ian Goodfellow引入深度学习领域.2016年,GANs热潮席卷AI ...
- Spring boot 应用打包部署
1.Spring Boot内置web spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定 ...
- 【Python】随机模块random & 日期时间のtime&&datetime
■ random 顾名思义,random提供了python中关于模拟随机的一些方法.这些方法都一看就懂的,不多说了: random.random() 返回0<n<=1的随机实数 rando ...
- webpack学习
// 一个常见的`webpack`配置文件 const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-we ...
- centos7上安装ffmpeg
FFmpeg介绍 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音 ...
- CSS3动画箭头
<style type="text/css"> .arrow { display: block; width: 20px; height: 20px; position ...