Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要帮助理解布尔值(设置和使用)_Java_Set_Boolean - Fatal编程技术网

Java 需要帮助理解布尔值(设置和使用)

Java 需要帮助理解布尔值(设置和使用),java,set,boolean,Java,Set,Boolean,我不知道如何在一个if语句中设置多个布尔值,也不确定这是否可行。我试图写出简单的测试代码来进行实验,结果发现自己更加困惑了 import java.util.Scanner; boolean t = false; boolean f = false; boolean a = false; System.out.println("Enter T or F"); Scanner scan = new Scanner(System.in); String t_f = scan.nextLine(

我不知道如何在一个if语句中设置多个布尔值,也不确定这是否可行。我试图写出简单的测试代码来进行实验,结果发现自己更加困惑了

import java.util.Scanner;

boolean t = false;
boolean f = false;
boolean a = false;

System.out.println("Enter T or F");
Scanner scan  = new Scanner(System.in);
String t_f = scan.nextLine();

if(t_f == "t"){
     t = true;
     a =false;
}
else if(t_f == "f"){
    f = true;
    a  = true;
}

if(t = true){
    System.out.println("true");
}
else if (f = true){
    System.out.println("false");
}
else if(a = true){
    System.out.println("test");
}
我发现,如果我输入“f”,则会打印true,这不应该发生,因为如果输入“f”,则会将其设置为打印false。例如,我试图操纵if语句,改变“else-if”和“if”的用法,但没有成功。很明显,我在这里遗漏了一个基本概念,如果有人能帮忙,我将不胜感激

对于基本日期类型,您需要使用==进行布尔比较是赋值运算符

if(t == true){
此外,由于它是布尔型的,所以也不需要进行比较

if(t){ // if requires a boolean so just using the boolean variable would do
并使用equals方法进行字符串比较与字符串比较对象引用

if(t_f.equals("t")){
使用str1.equalsstr2

记住,=是赋值运算符。您应该使用==来比较基本类型int、boolean、float、double等。。。。但由于if语句需要一个布尔值作为条件,您可以简单地使用:

if (t) // if (t == true)
...
if (!t) // if (t == false)

使用str1.equalsstr2比较字符串。-1它不是布尔值-它是字符串。@alfasin:您看到的代码部分不正确。存在多个错误。@请检查编辑的答案。t是布尔型的。t_f是字符串。+1是的,你是对的。哦,哇……两种情况下都有愚蠢的错误。非常感谢。
if (t) // if (t == true)
...
if (!t) // if (t == false)