首页 > 试题广场 >

表达式(short)1010.2*2运算后结果是什么类型?

[单选题]
表达式(short)10/10.2*2运算后结果类型是()
  • short
  • int
  • double
  • float
默认向上转型,浮点数默认数据类型为double
发表于 2019-09-29 09:43:06 回复(0)
更多回答
    首先,要注意是(short)10/10.2*2,而不是(short) (10/10.2*2),前者只是把10强转为short,又由于式子中存在浮点数,所以会对结果值进行一个自动类型的提升,浮点数默认为double,所以答案是double;后者是把计算完之后值强转short。
发表于 2019-09-23 17:29:07 回复(7)
括号问题。
发表于 2020-09-16 17:21:57 回复(0)
强制类型转换的优先级高于+ - * /
发表于 2019-07-01 14:45:56 回复(4)
java 黙认浮点类型为double
float数据类型有一个后缀为" f "或" F "。
 long类型有一个后缀,为" l " 或者" L "。
发表于 2019-06-10 15:48:08 回复(1)
(short)(10/10.2*2) 这样运算结果就是short类型
发表于 2019-06-16 16:45:13 回复(0)
    Java中的运算符,一元运算符优先级很高,四则运算符其次,再是移位运算符,然后是关系运算符、位运算符、与或(非是一元运算),最后是赋值运算符。
    用圆括号强制类型转换属于一元运算符,先于乘除运算,所以此时有(short)10除以10.2,10.2为浮点数,Java浮点数默认为double,因此计算除法时,将short转换为double型,后面乘法同理,最后结果即为double型。
发表于 2019-08-07 19:37:15 回复(0)
(short)只对最近的10有转换效果
发表于 2019-08-13 18:13:28 回复(1)

为什么不是float呢?

发表于 2019-08-09 13:30:36 回复(4)
不同类型的数据进行运算时,结果的精度以运算数中精度最高的那个为准
发表于 2022-04-07 19:54:55 回复(0)
可以转换为:((short)10)/10.2*2,强壮类型short的优先级比较高
发表于 2019-08-12 16:51:39 回复(0)
唉,眼睛自动加了个括号,原来(short)只是对一个数字进行转换
发表于 2023-06-04 21:57:00 回复(0)
c
发表于 2022-04-26 10:27:33 回复(0)
这个题有些坑,因为考虑到顺序;
下面优先级不够准确;
举例子:5-2+1,对于同一级别的运算符,从左往右,首先是5-2=3,
然后3+1=4
(short)10/10.2*2,先(short)10/10.2=浮点数,因为下面是小数,结果自动提升类型,然后再×2得到浮点数;浮点数默认为double
发表于 2021-11-02 20:42:35 回复(0)
要注意是(short)10/10.2*2,而不是(short) (10/10.2*2),前者只是把10强转为short,又由于式子中存在浮点数,所以会对结果值进行一个自动类型的提升,浮点数默认为double,所以答案是double;后者是把计算完之后值强转short。 默认向上转型
发表于 2021-11-02 20:24:21 回复(0)
强制转换类型优先级高
发表于 2020-08-27 09:45:15 回复(0)
显示类型转换是局部,隐式类型转换成更高精度。
发表于 2020-08-11 21:25:55 回复(0)
结果强转了啊
发表于 2019-08-08 08:08:21 回复(0)

首先,(short)10是一个将整型数值 10 强制转换为short类型的操作,结果是 10,因为 10 可以用一个short类型的变量来表示。

然后,表达式中进行了一个除法运算10 / 10.2,其中的两个操作数分别是一个整型数值 10 和一个浮点数值 10.2。根据 C++ 的规则,在进行二元运算时,如果两个操作数类型不同,则会自动进行类型转换,将其中一个操作数的类型转换为另一个操作数的类型。在这个除法运算中,由于其中一个操作数是浮点数,所以整型数值 10 会被隐式地转换为浮点数 10.0。因此,这个除法运算的结果是一个浮点数,它等于 10.0 / 10.2,约等于 0.98039216。

最后,将这个浮点数乘以常量 2,得到的结果是 1.96078432。因为乘法运算涉及到浮点数和整数之间的运算,所以结果的类型是浮点数,即 double 类型。

发表于 2023-11-21 14:39:00 回复(0)
强制转换的优先级高于四则运算,java中默认浮点数表示(不加f,d)是double,所以最后类型就取精度最高的double
发表于 2023-05-31 05:10:33 回复(1)