java - 通过以前的 Objective-C 经验理解语法

标签 java operators primitive-types

我是 Java 新手。我有 3 个月的 Objective-C 经验,所以我很容易理解它的概念。我正在尝试将一个用 Java 编写的简单阶乘示例程序移植到 Objective-C 中以用于学习目的。但是有这一行,我不明白这里发生了什么:

for (int i; i < 10; i++){
println (i + "! =" + factorial(i));

现在 for 循环一切都很好,但是这个“!=”我从未见过——它有什么作用?对我来说,它看起来像一个“不等于”运算符,这没有任何意义 i + 不等于 + 阶乘(顺便说一句,阶乘是一种方法)。

最佳答案

这是构建一个字符串。

Java中的“+”可以用来连接字符串。如果其中一个部分是字符串,并且所有其他内容也转换为字符串(如此处的整数),则会发生这种情况。

“!=”只是一个字符串文字,不是 Java 看到的任何内容。

在 Objective-C 中,它是

 [NSString stringWithFormat:@"%d! = %d", i, factorial(i)]

请注意,在 Java 中,您还可以这样做

 String.format("%d! = %d", i, factorial(i));

您可能更熟悉。

关于java - 通过以前的 Objective-C 经验理解语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12139274/

相关文章:

objective-c - Objective-C 类中的指针、原语和属性

c++ - 伪析构函数调用不会破坏对象

javax.servlet.ServletException : java. lang.ClassCastException : XXX cannot be cast to spark. servlet.SparkApplication

java - 为什么我应该总是使用 ||而不是 |和 && 而不是 &?

r - 我怎样才能用 R 的 `:` 运算符来满足我的困境?

python - Python 中的 >> 和 << 运算符是什么?

java - Java 中 JSONArray 中的搜索元素

java - 使用异常的流程成本

java - 用于在 10 分钟内触发 Activity 的简单 AlarmManager 示例

c# - 如何在 C# 中创建原始数据类型?