Java 需要帮助理解布尔值(设置和使用)
我不知道如何在一个if语句中设置多个布尔值,也不确定这是否可行。我试图写出简单的测试代码来进行实验,结果发现自己更加困惑了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(
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)