Java程序中的boolean

时间:2015-03-27 16:17:26

标签: java if-statement boolean statements

1:我对这两个变量如何感到困惑:

    boolean firstNumberEntered=false;
    boolean secondNumberEntered=false;

控制循环内外的条件?

2:退出前后的值是什么?循环?

3:这些变量的值是否可以

double firstNumber=0.0,secondNumber=0.0; 

存储在布尔变量内部,如果是这样的话?

4:

之间的关系是什么
boolean firstNumberEntered=false;
boolean secondNumberEntered=false;
循环中的

和if语句?

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);

    System.out.println("Welcome to calculations in order");

    int itemMenu=0;

    boolean userWantsToContinue=true;

    boolean firstNumberEntered=false;
    boolean secondNumberEntered=false;

    double firstNumber=0.0,secondNumber=0.0;

    while (userWantsToContinue){


        if (firstNumberEntered) {
            System.out.println("1.First number "+"(Currently): "+'('+firstNumber+')');//
        } else {
            System.out.println("1.First number "); //it will be displayed at first because its value true
        }

        if (secondNumberEntered){
            System.out.println("2.Second number "+"(Currently): "+'('+secondNumber+')');
        }else{
            System.out.println("2.Second number ");

            System.out.println("3.Takes Square");
            System.out.println("4.Takes Cube");
            System.out.println("5.Multiplication");
            System.out.println("0.Exit");

            System.out.println("\nPlease choose an item");
        switch (itemMenu=in.nextInt()){

            case 1:
                System.out.println("Please Enter First Number: ");
                firstNumber=in.nextDouble();

                firstNumberEntered=true;
                break;

            case 2:
                System.out.println("Please Enter second Number");
                secondNumber=in.nextDouble();
                secondNumberEntered=true;
                break;
            case 3:
                if(firstNumberEntered&&secondNumberEntered){
                    double square=firstNumber*secondNumber;
                    System.out.println("Square results = "+square);
                }else{
                    System.out.println("Please go back to item 1 & 2");
                }
                break;
            case 4:

                if(firstNumberEntered){
                    double cube=firstNumber*firstNumber*firstNumber;

                    System.out.println("Cube results= "+ cube);

                }else{
                    System.out.println("Please go back to 1&2");

                }


                break;
            case 5:
                if(firstNumberEntered&&secondNumberEntered){
                    double multiplication= firstNumber*secondNumber;
                    System.out.println("Multiplication of one and second number = "+multiplication);
                }else{
                    System.out.println("Please go back to item 1 & 2");
                }
                break;
            case 0:
                System.out.println("thank you visit us again لاتنسى!!");
                userWantsToContinue=false;
                break;
            default:
                System.out.println("Invalid option!!@_@");
                System.out.println("Please enter the number of the menu item you want and don't do this mistake again!!.");
                itemMenu=in.nextInt();

        }
    }
}

3 个答案:

答案 0 :(得分:0)

  1. 似乎他们只在循环中做一些工作。
  2. 取决于输入的内容。
  3. 布尔值不能保存该双精度值。
  4. 它们似乎表明用户是否为第一个和第二个双重提供了输入。根据输入选择的选项(switch语句),它可能会进行计算。

答案 1 :(得分:0)

1 - 它们变量检查用户是否插入了一些值(第一个和第二个)。 2 - 在while循环之前,变量具有声明的默认值(false和false)。循环之后,变量保存最后指定的值。但是你的程序将在while循环后退出。这意味着,您必须再次启动它,变量将获得默认值。 3 - 您不能在布尔变量中存储双值。 Java有严格的数据类型,它不像javascript或php。 4 - 布尔人只是旗帜。他们检查用户是否插入了一些数据。第一次插入后,变量firstNumberEntered将设置为true。在第二次插入之后,变量secondNumberEntered将设置为true。

答案 2 :(得分:0)

boolean是一种Java基元类型,只能存储两个值: true false

您需要使用布尔值或解析为while循环中布尔值的表达式

  

1:我对这两个变量如何感到困惑:

boolean firstNumberEntered=false;
boolean secondNumberEntered=false;

这两个存储值的变量,因为它们的类型为boolean,它们只能存储truefalse

  

2:退出前后的值是什么?while循环?!!

它与intdouble等其他原语完全相同。由于变量是在循环之外声明的,因此它们在循环之后仍然存在。

  

3:这些变量的值是否可以

     

double firstNumber = 0.0,secondNumber = 0.0;

     

存储在布尔变量中,如果是,那么?!!

没有。 boolean只能有两个值:truefalse

这是非法的:

firstNumberEntered = firstNumber; // The types are incompatible.

这是合法的:

boolean areEquals = ( 4 == 2 + 2); // `true` is stored in the boolean.
  

4:

之间的关系是什么      

boolean firstNumberEntered = false;   boolean secondNumberEntered = false;

     循环中的

和if语句!!?

您可以使用解析为布尔值的布尔值或表达式作为ifwhile语句的参数。 举个例子:

int a = 3;
int b = 3;
boolean sameValue = a == b;
if (a == b) // Equivalent to  if(sameValue)