JAVA关于基本数据类型之间进行强制转换底层剖析
1.什么是基本类型之间的强制转换
先来聊一聊基本类型
基本数据类型 | 所占用的字节数 | 表示数的范围 |
整型 | ||
byte | 1 | -128~+127 |
short | 2 | -32768~32767 |
int | 4 | -2147483648~2147483647 |
long | 8 | 比int大 |
浮点型 | ||
float | 4 | 比long大 |
double | 8 | 比float大 |
字符型 | ||
char | 2 | |
布尔型 | ||
boolean |
基本类型之间的强制转换就类似于原来你住的房子大(基本数据类型范围大)然后现在又让你搬回去小房子(基本数据类型范围小) 你能同意嘛!
所以不就算是强行把你往回转嘛
2.一般强制转换的方法
如图:
3.强制转换的底层剖析
先看一个例子 byte的范围为-128~+127 如果强制转换一个 int=200的值会怎样? 会报错嘛?
为什么会不报错呢 不是范围超了嘛
这其实跟计算机中 数的运算原理有关系
正常的数 3 + 7 =10
在计算机中是用他们两个数字的二进制数的补码进行相加然后在转换为原码显示
原码:把数字转化为二进制的值
反码:符号值不变 把1变成0 0变成1
补码:反码+1
然后我们来看图 为什么 byte num1=(byte)200; 等于-56
其底层原理就是砍字节 所以一般不要轻易强转!
JAVA关于基本数据类型之间进行强制转换底层剖析相关推荐
- C#语言中提供了枚举和整型之间的强制转换功能(SelectItem)
[csharp] view plain copy <span style="font-family: Arial, Helvetica, sans-serif;"> ...
- java初学之算数运算符的强制转换
首先还是附上代码: package com.wy.csdn;/*** 强制转黄*/ public class Test3 {public static void main(String[] args) ...
- java conversion_java 基本数据类型之间的转换(Conversion between Java basic data types).doc...
java 基本数据类型之间的转换(Conversion between Java basic data types) java 基本数据类型之间的转换(Conversion between Java ...
- Java子类与父类之间的对象转换
在使用Java的多态机制时,常常使用的一个特性便是子类和父类之间的对象转换.从子类向父类的转换称为向上转换(upcasting),通过向上转换,我们能够在编写程序时采用通用程序设计的思想,在需要使用子 ...
- 2.7 基本数据类型之间的互相转换 [Swift原创教程]
原文:http://www.coolketang.com/staticCoding/5a9924257565717957671dfc.html 1. 本节课将为您演示数据类型的有效范围,以及基本数据类 ...
- Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换
总结一下利用Json相关jar包实现Java对象和集合与Json字符串之间的互相转换: 1.创建的User类: package com.ghj.packageofdomain;public class ...
- Java开发中数据类型之间的转换
1).简单类型数据间的转换,有两种方式:自动转换和强迫转换,通常产生在表达式中或方法的参数传递时. 自动转换 具体地讲,当1个较"小"数据与1个较"大"的数据1 ...
- Java中 Long(long) 和Integer(int)之间的强制转换
一.将long型转化为int型,这里的long型是基础类型: long a = 10; int b = (int)a; 二.将Long型转换为int 型的,这里的Long型是包装类型: L ...
- java强制转换成float_在Java中什么时候double必须强制转换成float 就是要在数值后加f或者强制转换...
满意答案 auyps 2013.08.05 采纳率:47% 等级:12 已帮助:8409人 好吧,我也来说说double与float之间的转换 首先,我说一下定义时赋值的情况 比如: 你可以这样 ...
最新文章
- 矩阵的卷积核运算(一个简单小例子的讲解)深度学习
- 微信8.0内测更新!!!(附内测体验资格)
- android圆形图形的设置
- Matrix Power Series
- python list遍历定位元素_python for循环,第二遍定位不到元素?
- 如何用AutoRunner录制IE脚本录制
- MATLAB运行程序后workspace是空的
- win7局域网计算机 慢,win7系统局域网传输速度很慢的方法介绍
- JavaScript-ES6新特性详解
- 芯片行业常用英文术语最详细总结(图文快速掌握)
- 医院预约挂号系统(Java+SSM+MySQL+Maven)
- 无法通过windows功能控制面板自动安装或卸载windows server角色和功能
- 滞胀世代 (ZT) 作者:bystander
- coursera python证书_Coursera证书|三天零基础Python编程入门
- 2022年全球与中国激光预警系统市场现状及未来发展趋势
- 某游戏免广告领奖励教程
- ppt图片设计素材下载网站搭建模板
- 综合英语二课本电子版哪里有_全新版大学英语综合教程-2-课文电子书(20200702100022)...
- 新智元【Yoshua Bengio 亲自解答】机器学习 81 个问题及答案(最全收录)
- 草根seo站长利用网站赚钱的方法 1