这样的声明如何执行?
int x = 2, y = 3;
if (x != 0) if (x < 10) if (y < 10) {
x++;
y++;
System.out.printf("X and Y are: %d, and %d", x, y);
}
答案 0 :(得分:2)
如果可以编译,它将完全像这样执行:
if (x != 0)
if (x < 10)
if (y < 1o) {
x++;
y++;
System.out.println(x, y);
}
然而,它不是很易读。您可以通过使用逻辑运算符或正确的换行符和缩进来提高其可读性。
答案 1 :(得分:1)
像这样:
int x = 2, y = 3;
if ((x != 0) && (x < 10) && (y < 10))
{
x++;
y++;
System.out.println(x, y);
}
答案 2 :(得分:0)
它的运作方式类似于嵌套。如果使用条件AND,为什么不检查第一个条件。这样你就不需要别人了。
然而,对于每个人来说,这是一个很好的练习。这样,当代码在未来发生变化时,它的可读性和易错性
答案 3 :(得分:0)
if()if()if()只是空手 它真正做的是
if(x != 0){
if(x < 10){
if(y < 1o){
x++;
y++;
System.out.println(x, y);
}else{}
}else{}
}else{}
答案 4 :(得分:0)
他们是嵌套的。基本上,大括号对于一行语句块是可选的。我认为y < 1o
应为y < 10
,您的println
看起来也可疑。
if (x != 0) {
if (x < 10) {
if (y < 10) {
x++;
y++;
// System.out.println(x, y);
System.out.println(Integer.toString(x) + " " + y);
}
}
}
你当然可以将这些组合成一个if
(甚至一行)与and
类似
if (x != 0 && x < 10 && y < 10) {
System.out.printf("%d %d%n", x++, y++);
}
答案 5 :(得分:0)
这类似于
if (x != 0) {
if (x < 10) {
if (y < 10) {
x++;
y++;
System.out.println(x, y);
}
}
}
以另一种方式编写
if((x != 0) && (x < 10) && (y < 10)) {
x++;
y++;
System.out.println(x, y);
}
答案 6 :(得分:0)
只需使用&amp;&amp;运营商
int x = 2, y = 3;
if (x != 0 && x < 10 && y < 10) {
x++;
y++;
System.out.println(x, y);
}
答案 7 :(得分:0)
如安迪所说,它的运作方式就像嵌套一样。而不是使用这个写一个if语句中的所有条件并使用&amp;&amp;操作
答案 8 :(得分:0)
使用Java逻辑运算符可以解决您的问题
点击此链接了解详情
http://www.cafeaulait.org/course/week2/45.html