首页 > 试题广场 >

若有定义语句: int a=10 ; double b=3.

[单选题]

若有定义语句: int a=10 ; double b=3.14 ; 则表达式 'A'+a+b 值的类型是()

  • char
  • int
  • double
  • float
推荐
选C,double类型,因为按照类型大的与类型小的运算,强制转换类型小的进行运算的规则,double>int>char,因此结果是double类型。
编辑于 2017-03-19 10:34:31 回复(4)
char < short < int < float < double  不同类型运算结果类型向右边靠齐。
发表于 2017-03-10 17:30:50 回复(12)
C

1. 在表达式中,char 和 short 类型的值,无论有符号还是无符号,都会自动转换成 int 或者 unsigned int(如果 short 的大小和 int 一样,unsigned short 的表示范围就大于 int,在这种情况下,unsigned short 被转换成 unsigned int)。因为它们被转换成表示范围更大的类型,故而把这种转换称为“升级(promotion)”。

2. 按照从高到低的顺序给各种数据类型分等级,依次为:long double, double, float, unsigned long long, long long, unsigned long, long, unsigned int 和 int。这里有一个小小的例外,如果 long 和 int 大小相同,则 unsigned int 的等级应位于 long 之上。char 和 short 并没有出现于这个等级列表,是因为它们应该已经被升级成了 int 或者 unsigned int。

3. 在任何涉及两种数据类型的操作中,它们之间等级较低的类型会被转换成等级较高的类型。

发表于 2017-02-16 13:17:00 回复(1)
小到大
byte short char int long float double
 8      16     16   32  64    32     64
发表于 2019-05-31 12:56:05 回复(0)

C

向上转型,注意这儿'A'是一个char类型

发表于 2017-04-03 15:24:51 回复(0)
类型提升
发表于 2017-01-03 11:23:40 回复(0)
EVL头像 EVL
执行结果为: 78.14
‘A’+a+b ------> 'A'的ASCII码为65 (十进制)
65+10+3.14 = 78.14
发表于 2020-05-22 18:26:09 回复(1)
虽然,但是,如果是String+,不就都转换为字符串了
发表于 2021-11-23 20:04:48 回复(0)
类型大的与类型小的进行运算,强制转换为大类型
double>float>int>short>char

发表于 2018-10-18 11:38:45 回复(0)
不同精度,以最高精度为结果。
发表于 2021-12-02 16:01:53 回复(0)
类型大的与类型小的进行运算,强制转换为大类型 double>float>int>short>char
发表于 2021-11-02 18:57:52 回复(0)
小到大 byte short char int long float double  8      16     16   32  64    32     64 选C,double类型,因为按照类型大的与类型小的运算,强制转换类型小的进行运算的规则,double>int>char,因此结果是double类型。
编辑于 2020-10-29 09:23:07 回复(0)
算术转换,运算对象转换为最宽的类型。
发表于 2017-04-01 19:45:57 回复(0)
  • 自动类型转换char -> int -> double;计算结果为较高级的数据类型
  • 'A'为字符类型,不是字符串;
    charintdouble
  • 拓展:"A"
    StringA
  • 判断类型工具类
    public class JudgeBaseType {
      public static String getBaseType(Object o) {
          String simpleType = o.getClass().getSimpleName();
          switch (simpleType) {
              case "Byte":
                  return "byte";
              case "Short":
                  return "short";
              case "Integer":
                  return "int";
              case "Long":
                  return "long";
              case "Float":
                  return "float";
              case "Double":
                  return "double";
              case "Character":
                  return "char";
              case "Boolean":
                  return "boolean";
              default:
                  return "不是基本数据类型,建议采用类的方法直接判断";
          }
      }
    }
发表于 2022-04-02 20:25:06 回复(0)
小的转换为大的
发表于 2021-10-08 08:44:21 回复(0)
类型大类型小排序
发表于 2021-09-14 08:36:41 回复(0)
在不同数据类型进行计算时:
按照类型大的与类型小的运算,强制转换类型小的进行运算的规则,double>int>char,因此结果是double类型。
发表于 2021-09-10 16:52:26 回复(0)
强制类型转换
发表于 2021-05-19 01:43:19 回复(0)
char < short < int < float < double
发表于 2020-07-27 15:36:15 回复(0)
眼瞎了'A' 看成''A''
发表于 2020-07-02 18:37:12 回复(0)
byte,short,char<int<long<float<double
小碗里的东西肯定能倒在大碗----->向大容器转换----->向右转换!
发表于 2018-08-29 08:20:45 回复(0)