1

我试图弄清楚下面的代码,但我在使用下面的三元运算符时遇到了问题。

            System.out.print(solution[i][j] == 0
                    ? " "
                    : Integer.toString(solution[i][j]));

它是否正确?

System.out.print(solution[i][j] == 0 ? " " : Integer.toString(solution[i][j]) );

上面的语句可以表示为

            if (solution[i][j] == 0) {
                System.out.print(" ");

            } else {
                System.out.print(Integer.toString(solution[i][j]));
            }
4

2 回答 2

3
于 2013-05-23T16:27:00.230 回答
3

是的,这是正确的。您只是将多行语句编写为单行,根本没有区别 - 添加/删除空格没有任何效果。是的,使用的扩展版本if/else是等效的。你为什么不测试你的代码,看看它确实可以正常工作?

于 2013-05-23T16:27:19.713 回答