当前位置: 首页 > 知识库问答 >
问题:

按int值递增char变量[重复]

严稳
2023-03-14

我编写了两个版本的Java代码,将char变量增加1:

版本1:

char c = 'a';
c = c + 1;

版本2:

char c = 'a';
c += 1;

令我惊讶的是,第二个版本编译并运行成功,但第一个版本显示了一个错误,即不兼容的类型:从int到char的有损转换。为什么它们不同?

共有1个答案

彭炳
2023-03-14

第二个版本涉及演员阵容,相当于:

c = (char) (c + 1);

见JLS第15.26.2节(复合运算符):

形式为E1 op=E2的复合赋值表达式等价于E1=(T)((E1)op(E2)),其中T是E1的类型,但E1只计算一次。

 类似资料:
  • 问题内容: 好吧,对于我正在做的事情,我需要增加变量名称,例如,int Taco1 = 23432 ..... int Taco2 = 234235656 ..... int Taco3 = 11111 ....... 但是我需要它是一个像 尝试让我的变量名每次自动递增1,这样它们就不会覆盖自己。如果这不可能,那么我深表歉意。 问题答案: 您不能用Java做到这一点,更重要的是,您不想这样做,因为

  • 问题内容: python中是否有办法在适当的位置增加int对象,int似乎未实现,所以+ = 1实际上返回了一个新对象 我想要的是n保持指向同一对象。 目的:我有一个从int派生的类,并且我想为该类实现C型“ ++ n”运算符 结论:好的,因为int是不可变的,看来我将不得不编写自己的类,就像这样 问题答案: int是不可变的,因此如果您想使用“可变的int”,则必须使用所有int的方法来构建自己

  • 问题内容: PHP变量是通过值还是通过引用传递? 问题答案: 根据PHP文档的价值。 默认情况下,函数参数是按值传递的(因此,如果函数中参数的值发生更改,则不会在函数外部进行更改)。要允许函数修改其参数,必须通过引用将其传递。 有一个参数总是通过引用传递函数,在前面加上符号( & ),以在函数定义的参数名称。

  • 问题内容: 我的代码: 为什么不引用元素? Python:除非明确复制,否则所有内容都将作为参考传递[这不是True吗?] 请说明.. python如何确定 引用和复制 ? 更新: 怎么做 ? locs必须包含最终处理后的响应! 我不想使用,没有它可能吗? 问题答案: Python中的所有内容都是通过值传递和分配的,与Java中的所有值都传递和分配的方式相同。Python中的每个值都是对对象的引用

  • 描述 (Description) C库函数int putchar(int char)将参数char指定的字符(unsigned char)写入stdout。 声明 (Declaration) 以下是putchar()函数的声明。 int putchar(int char) 参数 (Parameters) char - 这是要写的字符。 这是作为int推广传递的。 返回值 (Return Valu

  • 问题内容: 我只想知道是否存在更好的解决方案,可以从字符串中的字符解析数字(假设我们知道索引n处的字符是数字)。 (不用说这只是一个例子) 问题答案: 尝试。 产生: 令人高兴的是,它还可以与字符串一起使用,例如and ,并且 和分别是东部阿拉伯文和北印度文/梵文的数字5。