Schildt书中的布尔示例

时间:2017-06-06 20:54:11

标签: java if-statement boolean

我对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?

有人可以为此示例添加评论吗?非常感谢!

5 个答案:

答案 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)

基本上,如果不使用括号,则不使用elseif条件仅适用于if语句后的下一条指令。

if (b) System.out.println("This code is not ok.");
System.out.println("10 > 9 " + (10>9));

这样(假设b == true)

  1. if(b) //true
  2. System.out.println("This code is ok."); //This code is ok
  3. b = false // b == false
  4. if (b) //false
  5. System.out.println("10 > 9 " + (10>9)); //10 > 9 true
  6. 要拥有您的想法,您的代码应该是:

        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));
    }}