当前位置: 首页 > 面试题库 >

用Java中的char变量进行计算

章涵容
2023-03-14
问题内容

我有一个学校的作业,任务之一是解释很多小的计算,并解释为什么Java给您输出它给您的输出。

计算之一是:

1 +‘2’+ 3

这对我来说是一个词汇错误,因为老师在我的系统上使用了错误的“撇号”,但是我与其他同学交谈,他们告诉我他们得到了实际的输出,因此我开始阅读并发现了认为它应该表示一个char变量,并且我也了解
了系统的特定类型,所以我更改了符号以使其适用于我的系统,现在我得到了答案54 ..

而且我看不到其中的逻辑,并且我尝试用char变量在Google上添加/计算/数学,但没有找到任何能很好解释它的方法。

因此,我向编码人员求助,希望有一天我可以参与其中,以帮助我理解其逻辑。

这最初是作为一项家庭作业,我可能可以通过回答它会产生一个词法错误来解决,因为我的编译
不理解该符号,但是现在它达到了我的好奇心,我真的很想知道java如何管理得到这个答案..

感谢您对此事的任何帮助!:)

我可以看到我无法制作“作业”标签,所以我希望可以将它放在这里:)


问题答案:

在Java中,chars int通过UTF-16 直接映射到。但是,对于大多数常见字符,将char值转换为int收益会在
ascii表上产生其索引。+不是对char的运算,而是对int的运算。因此,java在考虑了2“我不能添加此内容”之后
意识到,如果将其强制转换为int ,则可以添加它。ASCII表

如您在表格中看到的,“ 2”的索引为50,因此1 + 50 + 3 = 54。



 类似资料:
  • 问题内容: 在网上看到有关Java编程练习的解释时,我遇到了以下代码: 我了解代码的功能,但是我不知道它如何使用char索引(即count [c],其中c是char)访问数组元素。我以为索引只能是整数? 问题答案: 字符(16位)是整数(32位),反之亦然。这是一个隐式转换,特别是char到unsigned int。在这种情况下,索引可能是代表此字符的ASCII码(对于ASCII字符)。

  • 我正在为高速公路车队制作一个排名表,我有一个查询,根据车队结果计算所需数据。我正在努力解决的问题是分数差异(得分和对手得分之间的差异)。 所有查询都正常工作,除了 我得到的结果是空的,我猜这很简单,任何帮助都会很好

  • 很抱歉,如果以前有人问过这个问题,但我非常不确定如何制定我的搜索以获得任何相关结果。 基本上,我有一个类“Wheel”,在该类中,我声明==操作符应该如何工作: 除非车轮的半径和转速与其他车轮相同,否则此操作有效,除非已切换。因此,换句话说,对于以下情况,它不会返回true: 2*PI*3*10 vs 2*PI*10*3 即使我把它打印出来,并且它们在控制台中是完全一样的(除非我的基本数学知识完全

  • 是否可以使用非类型变量模板进行运行时计算? 想象一下以下情况: 方法应该返回给定整数在模板参数包中的位置。如果参数包中不存在给定的整数,则应生成错误(最好是在编译时)。 另外,我知道如果签名改为 不幸的是,这不是我的选择,因为方法应该是虚拟的。

  • 问题内容: 我们在MySQL中使用innoDB的下表如下: 我们假装产生的Var4每行具有NULL变量数: 我尝试失败: 有什么建议? 问题答案: 这是一种方法: MySQL将布尔值视为整数,其中true为true ,false为false 。您可以将它们加起来以获得总数。 作为更新: 请注意,MySQL不支持。那更多的是SQL Server功能。但这不是ANSI标准,因此通常最好使用。

  • 问题内容: 为什么Java要求char变量用单引号而不是双引号将其中的任何内容括起来?一个例子: vs: 我知道双引号主要用于字符串,但是是否有特定原因说明为什么将chars构造为仅使用单引号并在输入双引号时中断? 我已经尝试进行一些研究,但是唯一相关的是另一个SO Question,它是指单引号和双引号之间的差异,而不是char的句法开发背后的原因。 问题答案: 因为和是两种不同的类型,Java