Java中的字符算术

2024-05-05

在玩的过程中,我遇到了一些对我来说似乎很奇怪的事情:

以下不是有效的 Java 代码:

char x = 'A';
x = x + 1;    //possible loss of precision

因为其中一个操作数是整数,所以另一个操作数被转换为整数。结果无法分配给字符变量...而

char x = 'A';
x += 1;

有效,因为生成的整数会自动转换为字符。

到目前为止,一切都很好。这对我来说似乎很清楚,但是......为什么下面的 Java 代码是有效的?

char x;
x = 'A' + 1;

Because

'A' + 1

是一个常量表达式。在编译时就知道结果将适合char.

Whereas

'A' + 787282;

不适合char因此会导致编译错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中的字符算术 的相关文章

随机推荐

  • 如何从 UNC 中提取服务器名称

    谁能告诉我如何从 UNC 中提取服务器名称 ex 服务器名称 目录 目录 编辑 我很抱歉 但看起来我需要澄清一个错误 路径实际上更像是 服务器名 d 目录 我知道这可能会改变一些事情 怎么样Uri Uri uri new Uri serve
  • 通知另一个线程数据可用的最快方法是什么?有什么替代旋转的方法吗?

    我的一个线程将数据写入循环缓冲区 另一个线程需要尽快处理该数据 我本来想写这么简单的spin 伪代码 while true while a i do nothing just keep checking over and over proc
  • 如何测试 PARTIAL 视图在 C# ASP .NET MVC 中呈现

    我有一个视图 它内部有部分视图渲染 div class partialViewDiv Html RenderPartial partial Model SomeModelProperty div 和一个返回此视图的控制器 public Ac
  • 计算两个表中等效行的交集

    我有两个 FITS 文件 让我们考虑一下例如第一个文件有 100 行和 2 列 第二个文件有 1000 行和 2 列 FITS FILE 1 FITS FILE 2 A B C D 1 2 1 2 1 3 1 2 2 4 1 2 我需要采取
  • 用正则表达式动态替换部分条件块

    有一个字符串 格式为 else if rule somerule1 echo s 1 n name surname else if rule somerule2 echo s 1 n another text here s 只能有数字 n
  • 如何用载波发送文件给用户?

    这是我将文件发送到浏览器的旧代码 def show send file File join Rails root tmp price xls end 但最近我发现 tmp 文件夹不能用作 Heroku 上的持久存储 因此我决定将文件移动到
  • g++.exe 和 x86_64-w64-mingw32-g++.exe 有什么区别?

    同样的问题也适用于 gcc ar 等 在 Code Blocks 中将工具链可执行文件从 Something exe 更改为 x86 64 w64 mingw32 something exe 时 代码仍然可以完美编译 此外 32 位和 64
  • Windows 8 应用程序调用为不同线程编组的接口的应用程序

    我正在使用 c XAML 开发 Windows 8 应用程序 除了这个事件处理程序之外 一切都正常工作 我在这一行收到以下错误 await RefreshUserInfoAsync 应用程序调用了为不同线程编组的接口 HRESULT 异常
  • SignalR 与 android(Java) 有问题

    我想在 android 应用程序和 net core 服务器项目之间进行实时通信 我在 stackoverflow 中尝试了一个问题 我跟着这个one https stackoverflow com questions 32573823 h
  • 如何获取字符串宽度

    我需要在类库中构建一个函数 该函数接受一个字符串和该字符串的特定字体 然后获取字符串的宽度 那么我怎样才能得到字符串边界宽度呢 另一种方法是使用TextRenderer 并致电its MeasureString http msdn micr
  • 无法在 Silverlight 样式中添加系统颜色?

    我在 XAML 中为 SystemColors 定义了资源 如果我将 Foregroung 属性直接设置为 TextBlock 效果会很好 但是 如果我在样式中分配前景属性 则会收到如下所示的错误 我不确定问题是什么以及如何解决 任何想法都
  • Python NET 调用具有返回值和输出参数的 C# 方法

    我有以下静态 C 方法 public static bool TryParse string s out double result 我想使用 Python NET 包从 Python 调用它 import clr from System
  • 将每个 http 块映射到特定的身份验证提供程序

    我想根据用户的上下文路径来设置 Spring Security 配置 如果用户反对某个网址http 路径1 资源1 http path1 resource1我想将他们定向到特定的身份验证提供商 如果他们进来http 路径2 资源2 http
  • C 或 C++ 中是否有轻量级的多部分/表单数据解析器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在考虑将多部分表单数据解析集成到 Web 服务器模块中 以便可以减轻后端 Web 应用程序 通常用动
  • 带有 Spock Stub 的泛型

    我无法为泛型类编译 Spock 存根 构造函数的签名如下 SomeClass SerSup
  • Windows 中的 TPM PCR 生成

    我有一台带有 TPM 的计算机 并且在其上运行 Windows 7 我有一段代码 我想运行它并获取当时的 PCR 寄存器值 我怎样才能做到这一点 其次 如果我在其他机器上运行相同的代码 我可以获得相同的 PCR 值吗 如果我不能 那么有什么
  • 一个阻塞但非模态的 QDialog?

    我有一堆图像 我想对其执行一些操作 处理完每个图像后 我的程序应该弹出一个对话框 提示用户是否要继续处理下一个图像或中止 在此之前 他们应该有机会对图像或参数进行一些手动更改 无论如何 他们必须能够访问应用程序的窗口 而调用对话框的方法的执
  • 类模板的可变参数构造函数模板的特化

    这是一个带有可变参数构造函数的类 它专门用于从临时对象进行复制和移动 template
  • 在家庭和办公室进行开发,GIT 会比使用 xcopy 的 SVN 更容易吗?

    如果出于安全原因 源代码只能存储在我的家庭计算机和办公室计算机上 如果传输代码的唯一方法是 USB 密钥 那么哪种源代码控制是最好的 SVN还是GIT 注意 两台计算机之间没有网络连接 我推荐git 无论哪种方式 您都需要 USB 密钥上的
  • Java中的字符算术

    在玩的过程中 我遇到了一些对我来说似乎很奇怪的事情 以下不是有效的 Java 代码 char x A x x 1 possible loss of precision 因为其中一个操作数是整数 所以另一个操作数被转换为整数 结果无法分配给字