JAVA数据类型的强制转换
先了解一下基本得数据类型,以整数类型为例,如下表:
数据类型 | 长度 | 范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -32768~32767 |
int(默认) | 4字节 | -2147483648~2147483647 |
long | 8字节 | -xxxxxx~(xxxxxx-1) |
范围的计算方法:根据以上数据我们进行分析总结规律如下:
-128=-2^7 ; 127=2^7-1
-32768=-2^15 ; 32767=2^15-1
........
最小值=-2^(字节✖8-1)] 最大值=2^(字节✖8-1)-1
根据数据我们得出了数据类型的范围计算方法,我们再深度思考一下,为什么这样算那?为什么非要乘以它的位数-1次方哪,而不是乘以位数次方,说到这,我们不由得需要回顾一下计算机基础知识。首先我们需要知道以下两点:
- 计算机内部数据和运算均采用的是二进制;
- 计算机中数据分为有符号数和无符号数,对于有符号数,计算机规定用最高位来表示符号。“0”表示正数,“1”表示负数;
通过以上两点我们也可猜到JAVA中的数据也是有符号的,最高位代表正负,所以:
最小值=-2^(字节✖8-1)] 最大值=2^(字节✖8-1)-1
最大值减一是因为数字0。
强制转换使用条件
每种数据类型都有自己得取值范围,当我们进行数据转换时,由小范围➡大范围时编译不会报错,但当由大范围➡小范围时,即使你输入得数是1(即数据都在两个数据类型范围内),编译时也会报错,因为数虽然没有溢出,但数据类型的位溢出了,此时编译不会通过,需要强制转换。由此可见,强制转换是在大范围得数据类型向小范围的数据类型转换中使用的。
注意事项:当我们对数据类型不进行声明时,对于整数类型默认为int类型、浮点类型默认为double类型等.
强制转换的格式(以double向int转换为例)
public class Sumer{public static void main(String[] arrgs){double a,b; //将a,b的数据类型命名为double.int c;a=12;b=13; c=int(a+b) System.out.println(c);} }
因此强制转换的格式为:
变量名1=(变量名1的数据类型)(变量运算)
JAVA数据类型的强制转换相关推荐
- Java 基本数据类型的强制转换和自动转换,基本数据类型包装类,Integer常用方法,Integer中equals和==的区别
文章目录 基本数据类型的自动转换 基本数据类型的强制转换 包装类(封装类) Integer类中的方法 一:Number中的xxxValue()方法 二:Integer.parseInt("S ...
- Java 相同类型强制转换异常
Java 相同类型强制转换异常 参考文章: (1)Java 相同类型强制转换异常 (2)https://www.cnblogs.com/LoveShare/p/11785056.html (3)htt ...
- 前端基础(四)_数据类型的强制转换
数据类型的强制转换就是通过js提供的函数进行数据转换.常见的就是将其他类型的数据转换成number类型和string类型. 一.其他类型转 number 类型 1.Number Number 方法将其 ...
- python中如何进行数据类型转换_python数据类型的强制转换
首页 专栏 python 文章详情 0 python数据类型的强制转换 小小垂髫 发布于 1 月 21 日 数据类型的强制转换 如果要将一个数据转换成另一个数据类型,只需要将其放入相应类型的函数中去. ...
- java 父类强制转换为子类_[java]Java中父类强制转换成子类的原则
Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用. 例: public class Test { public static void main(Str ...
- python nonetype转换float_python数据类型的强制转换
数据类型的强制转换 如果要将一个数据转换成另一个数据类型,只需要将其放入相应类型的函数中去. Number类型的数据转换 强制转换为int 可以转换的数据类型 int 整型 float 浮点型 boo ...
- python强制转换整数_python数据类型的强制转换
数据类型的强制转换 如果要将一个数据转换成另一个数据类型,只需要将其放入相应类型的函数中去. Number类型的数据转换 强制转换为int 可以转换的数据类型 int 整型 float 浮点型 boo ...
- java数据类型之间的转换_Java基本类型之间的转换
一.基本数据类型长度 byte:一个字节,8位,有符号 short:两个字节,16为,有符号 char:两个字节,16位,无符号 int:4个字节,32位,有符号 float:4个字节,32位,有符号 ...
- 关于JAVA中的强制转换
整数值被默认为int类型,浮点型字面值被默认当作double处理,例如3.0,所以 long a = 456:理解为int类型的整数型字面值456被赋予给long类型变量的, int类型当然可以被大类 ...
- java如何强制转换_如何实现JAVA类型的强制转换
object对象转换为String的一些总结 ----------------------------------------------------------------------------- ...
最新文章
- Oracle之comment关键字的详细讲解
- 轮椅上的博士矣晓沅:9 年求学路,我从清华毕业了
- 风向变了 网络安全又占股市风口
- SpringSecruity整合Oauth2 详解(一)
- 大数据之mongodb -- (2)java集成 MongoDB 3.2,使用Spring-data-mongodb进行集成
- Android 系统(90)---JIT 编译器
- linux-3.5.4内核添加新的系统调用并测试!!!!!
- 萌新的Python练习菜鸟100例(八)输出 9*9 乘法口诀表
- SWUST OJ(953)
- 维宏v8系列卡win7/win10 64位驱动
- 【硬件】详解电流采样电路
- HEVC: I帧、P帧及B帧
- word里面的表格调整行高技巧
- 粉丝福利!Matlab自动配色神器ColorForFans
- sdkd2019.3.20训练题目
- 目前国内常见医用显示器品牌
- 字节流与字符流(FileInputStream类和FileOutputStream类)
- 第三讲 外国古代密码艺术
- 常见的股票技术指标到底能赚钱吗?从量化交易的角度告诉你
- 1.1 Go语言简介