java - 需要帮助理解 VB 条件逻辑并在 java 中找到等效项

标签 java vb.net

我有一个 Visual basic 遗留项目需要转换为 java。

我无法理解下面这行...

If lastSendToggle And 128 Then

... 其中,lastSendToggle 是一个字节,128 是一个 int。 java 中的等价物是什么?

我试过了...

if((lastSendToggle & 128) == 1 )

...但这不起作用,因为语句总是错误的。

最佳答案

对于任何 x 值,x & 128 运算永远不会得到 1,因为它是按位运算。它总是 128 或 0,具体取决于该位是否在 x 中设置。 (请注意,十进制 128 = 二进制 10000000,因此结果中只能设置一位。)

所以你可以将其写为:

if ((lastSendToggle & 128) == 128)

if ((lastSendToggle & 128) != 0)

关于java - 需要帮助理解 VB 条件逻辑并在 java 中找到等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45186677/

相关文章:

java - 安装程序生成器 API 或使用命令行应用程序?

vb.net - 如何使用 VB.NET 重新启动服务?

VB.NET 遍历结构的对象

c++ - 将 DLL 调用到 VB.Net 中时出现未处理的 AccessViolationException 错误

mysql - 与 MySql 中的数据库的 Visual Basic 连接

java - 如何从另一个类访问对象变量?

java - 扩展的 JTree 渲染

java - 如何增加 java 内存(算法在 ubuntu 上运行,但在 mac 上运行;相同的机器配置)

java - Java 的高效行列(类似于 ResultSet)数据结构是什么?

checkout 最新版本的 repo 后,vb.net 服务器出现 '/' 应用程序错误