我是靠谱客的博主 魔幻橘子,最近开发中收集的这篇文章主要介绍2021-6-27,浮点型、布尔型和各种类型之间的类型转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

浮点型、布尔型和各种类型之间的类型转换

一,浮点型数据类型
1,浮点型的数据类型为 float(单精度)double(双精度)因为是基本数据类型,他们的精度不是很高,在java中有很多引用数据类型,他们的精度比上述两个大。
2,在java中,所有浮点型数据被默认为double,如果想当作float,需要在代码后加上 f/F,例如:

double a=3.0;
float a=3.0;//jvm报错,显示double无法转换成float
float a=3.0f;//√
float a=3.0F;//√
float a=(float)3.0;//√

注意,如果面对无限数,二进制会存储该数据类型最大存储量的近似值,如3.333333…

二,布尔型
boolean为唯一的布尔型,在java中boolean只有两个值:true/false,c语言中则为0/1表示真假。boolean类型底层存储占一个字节,它的使用频率很高,常用于逻辑运算和控制语句中。

三,各类型的转换
除了布尔型,其他类型都可以相互转换。**小容量→大容量为自动类型转换。**那么把所有的基本数据类型进行一个从小到大的排列:
(byte<short=char<int<long<float<double)
我们由上可知,浮点型是永远比整数型大的,不过char虽然和short平级,不过char能取更大的整数,因为在Unicode编码中有时一个字符会很大。
大容量→小容量为强制类型转换,需要加强制类型转换符,注意会有精度损失。
因此,如果整数型字面值没有超过byte,short,char取值范围时,可直接赋值,byte,short,char混合运算时,先转换为int,再运算。多种类型混合运算,优先转化为大容量后进行运算。(其实常用的也就是int,double,char)

四,注意JVM转换时的使用规范
例:

long g=10;
byte h=(byte)(int)g+3;//错误

JVM分为编译器和运行期,编译器是检查语法的规范等,在编译器不能进行运算,只有在运行期才能进行运算。尽管我们知道应该输出13,但它不知道g+3是个什么东西,会被认为是错误的语法使用。

更改:

byte g=10;
short L=3;
short m=g+L;//错误,类型不统一
short m=(short)(g+L);//正确,加括号是个优先级的问题,保留他们的优先级,或者说,让系统知道,()里面的东西是我的运算过程,在运行时先进行内部运算,之后再把结果变为short类型最后赋值给m

最后

以上就是魔幻橘子为你收集整理的2021-6-27,浮点型、布尔型和各种类型之间的类型转换的全部内容,希望文章能够帮你解决2021-6-27,浮点型、布尔型和各种类型之间的类型转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部