首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
对于java类型变量char c,short s,float
[单选题]
对于java类型变量char c,short s,float f,double d,表达式c*s+f+d的结果类型为()
float
char
short
double
查看正确选项
添加笔记
求解答(0)
邀请回答
收藏(2521)
分享
33个回答
添加回答
364
推荐
菜鸟葫芦娃
自动类型转换遵循下面的规则:
1.若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。
2.转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。
3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4.
char型和short型参与运算时,必须先转换成int型。
5.在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。
下图表示了类型自动转换的规则:
编辑于 2016-11-05 14:21:34
回复(13)
更多回答
45
无杀飞机
char 2字节 short 2字节 float 4字节 double 8字节
往精度高的转
发表于 2016-11-08 15:21:16
回复(0)
25
bbblemon
选D(高票的图有问题)
基本数据类型的运算,会自动向上转型。boolean不可以和其他基本数据类型相互转换。
byte->short,char -> int -> long
float -> double
int -> float
long -> double
编辑于 2018-07-06 09:14:44
回复(2)
16
牛客143068号
自动类型转换遵循下面的规则:
1.若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。
2.转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。
3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4.char型和short型参与运算时,必须先转换成int型。
5.在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。
下图表示了类型自动转换的规则:
发表于 2016-12-13 11:22:27
回复(1)
11
Fengzhi志
低级向高级是隐式类型转换,高级向低级必须强制类型转换,byte<char<short<int<long<float<double
发表于 2017-09-12 14:51:31
回复(0)
8
huixieqingchun
转化成精度最高的数据类型。
发表于 2016-05-20 14:38:25
回复(0)
6
小广工
发表于 2022-03-06 19:48:47
回复(0)
6
要认真了
为什么4个字节的float会比8个字节的long还大?这就涉及到浮点数在内存中的存储了,float类型4个字节,32位,第1位是符号位(数符),即S,接下来的8位是指数域(阶码),即E,最后的23位,是小数域(尾数),即M。对于一个十进制数112.5,我们用科学计数法表示就是1.125*10^2,所以呢,对于一个二进制数,我们的表示就应该是1.XXX* 2^X,由于第一位永远都是1所以直接省去,因此表示为S.M*2^E。所以float的取值范围是-2^128到2^128,远远大于long的最大值。 所以java中long类型自动转换为float类型。 ps:由于用手机写的,没法加图,可以去自己去试试long和float的最大值看看
发表于 2019-04-24 08:51:58
回复(0)
3
Java天选搬砖人
发表于 2020-11-14 14:51:50
回复(0)
1
牛客519804782号
转换成精度高的类型进行计算,但是当只有char short byte进行计算时,统一转换为int进行计算
发表于 2022-06-03 14:01:24
回复(0)
1
容嘉
自动类型转换遵循下面的规则: 总结: char和short类型参与运算会自动转型为int 浮点类型运算要以双精度运算,会转为double 自动类型转换,回想数据长度增加方向进行,保证精度 特殊赋值运算,右边类型转左边类型,不计精度 1.若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。 2.转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。 3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。 4.char型和short型参与运算时,必须先转换成int型。 5.在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。
发表于 2021-06-01 00:16:46
回复(0)
1
Reyco
char 2字节 short 2字节 float 4字节 double 8字节
往精度高的转
发表于 2019-07-25 16:45:49
回复(0)
1
闫沛杰
转换规则:从存储范围大的类型到存储范围小的类型。
double>float>long>int>short>char>byte
发表于 2017-08-18 13:29:21
回复(1)
0
艾玛1221
报错不可到达 的语句,题目也是两个返回,我选的编译不通过错了
编辑于 2024-03-23 12:40:56
回复(0)
0
间歇性摆烂的later
低优先级到高优先级转换是隐式的,高优先级到低优先级转换必须强制转。 double>float>long>int>short>char>byte
发表于 2023-08-25 10:30:10
回复(0)
0
只想摆烂不想内卷
参与运算的数据类型不同,会往高精度的数据类型转
发表于 2022-07-22 17:15:14
回复(0)
0
上岸吧_来个直推
所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。那这是最后的结果是double类型还是float类型
发表于 2021-04-01 20:46:50
回复(0)
0
牛客817626339号
<p>char 和short转成int、 int转成double.</p><p>float 转成double</p><p>最后为double</p>
发表于 2020-12-19 11:56:25
回复(0)
0
程序员811
解析
发表于 2020-10-19 12:32:57
回复(0)
0
浅瞳夜未
低优先级到高优先级转换是隐式的,高优先级到低优先级转换必须强制转。
double>float>long>int>short>char>byte
发表于 2020-04-07 22:00:14
回复(0)
0
…完美搭配い
需要注意char会转换为int类型。其它的几种转换大部分人都会。
发表于 2019-09-09 15:01:40
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Java
来自:
凤凰网2015校园招聘...
难度:
33条回答
2521收藏
10999浏览
热门推荐
相关试题
在oracle中,下面哪个SQL命...
数据库
评论
(29)
来自
凤凰网2015校园招聘研...
下面哪一项是正确的
C++
C语言
评论
(34)
来自
凤凰网2015校园招聘研...
java中下面哪个能创建并启动线程()
Java
评论
(55)
来自
网易笔试练习卷
下面哪个指针表达式可以用来引用数组...
C++
C语言
评论
(28)
来自
凤凰网2015校园招聘研...
PMOS和NMOS的区别
元器件
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题