Java 为什么';t当扫描仪读取并存储“时,我的if语句初始化”;r";价值如何?

Java 为什么';t当扫描仪读取并存储“时,我的if语句初始化”;r";价值如何?,java,if-statement,java.util.scanner,Java,If Statement,Java.util.scanner,我是Java新手,尝试通过实践来学习。我不确定我的if语句哪里出错了,似乎在我键入r(我相信scanner正在将其存储在值中)之后,if语句的第一部分没有初始化,而else语句初始化 import java.util.Scanner; import java.util.concurrent.ThreadLocalRandom; public class T2 { public static void main(String args[]){ Scanner input = new Sca

我是Java新手,尝试通过实践来学习。我不确定我的if语句哪里出错了,似乎在我键入r(我相信scanner正在将其存储在值中)之后,if语句的第一部分没有初始化,而else语句初始化

import java.util.Scanner;
import java.util.concurrent.ThreadLocalRandom;
public class T2 {
public static void main(String args[]){
    Scanner input = new Scanner(System.in);
    T2_2 T2_2Object = new T2_2();

    System.out.println("What is your favorite color? (Enter 0 if unsure) ");
    String value = input.nextLine();

    if (value == "r"){
        int value2;

        value2 = ThreadLocalRandom.current().nextInt(1,10);

        String value3 = Integer.toString(value2);
        System.out.println(value3);
使用:


函数检查
字符串的实际内容,
=
运算符检查对对象的引用是否相等。请注意,
string
常量通常是“内部”的,因此具有相同值的两个常量实际上可以与
=
进行比较,但最好不要依赖于此。

在java中,必须使用.equals()比较字符串

if (value.equals("r"))
if (value.equals("r"))