我对Java很陌生,但它吸引了我所有的空闲时间,学习起来非常有趣,但我需要一些帮助。
以下是Schildt的书中的布尔测试示例:
public class BooleanTest {
public static void main(String args[]){
boolean b;
b = false;
System.out.println("Expression b " +b);
b = true;
System.out.println("Expression b " + b);
if (b) System.out.println("This code is ok.");
b = false;
if (b) System.out.println("This code is not ok.");
System.out.println("10 > 9 " + (10>9));
}}
此代码显示结果:
表达式b false
表达式b true
此代码没问题。
10> 9真的
第一行是好的,第二行是好的,第三行也是,但为什么第四行没有显示我"代码不正常。",'因为有&# 34; b =假"应该说呢?为什么它会跳转到最后一个System.out.println?
有人可以为此示例添加评论吗?非常感谢!
答案 0 :(得分:0)
if (b) System.out.println("This code is not ok.");
该行说明:只有当b
为真时才会在结束)
之后发生。由于b
为false,因此不执行该行的其余部分。更详细的例子:
if (b) {
System.out.println("b was true");
} else {
System.out.println("b was false");
}
答案 1 :(得分:0)
在这一行:
b = false;
if (b) System.out.println("This code is not ok.");
b是假的。因此,if语句为false,并且不执行if块中的指令,无论String的内容是什么!
答案 2 :(得分:0)
if (b)
等于if(b!=false)
正如您所看到的第三个展示位置是b=true
第四个展示位置为b=false
,但条件相同if (b)
= if(b!=false)
。
答案 3 :(得分:0)
这是一个简单的例程,它应该为您提供具体的知识
if (true) {
//do true
}
if (false) {
// not true, never go here
}
使用花括号确保多个行包含在块中,否则只有1行直接在" if"被执行。
答案 4 :(得分:0)
基本上,如果不使用括号,则不使用else
且if
条件仅适用于if
语句后的下一条指令。
if (b) System.out.println("This code is not ok.");
System.out.println("10 > 9 " + (10>9));
这样(假设b == true)
if(b) //true
System.out.println("This code is ok."); //This code is ok
b = false // b == false
if (b) //false
System.out.println("10 > 9 " + (10>9)); //10 > 9 true
要拥有您的想法,您的代码应该是:
public class BooleanTest {
public static void main(String args[]){
boolean b;
b = false;
System.out.println("Expression b " +b);
b = true;
System.out.println("Expression b " + b);
if (b) System.out.println("This code is ok.");
else b = false;
if (b) System.out.println("This code is not ok.");
System.out.println("10 > 9 " + (10>9));
}}