如何比较 Java 中的字符

How to comapre chars in Java

我为计算器写了一个代码,我使用 char 变量来获取数学运算符 (+, -, *, /)。我需要检查用户输入的是哪个操作员,但由于某种原因,这段代码不起作用。我如何比较 Java 中的 char

import java.util.Scanner;

public class test_2 {
    public static void main(String args[]) throws InterruptedException {
        double val1, val2, total; 
        char thevindu;

        Scanner input = new Scanner (System.in);
        
        System.out.println("enter frist number");
        val1 = input.nextDouble();

        System.out.println("type operation");
        thevindu = input.next().charAt(0);
        
        System.out.println("enter second number");
        val2 = input.nextDouble();
        
        if (thevindu.equals ("+")) {
        } 
    }
}

由于 String 不是原始类型之一,这就是为什么你将它与 equals() 进行比较的原因 thevindu 你可以只做 thevindu == '+'

正如其他人所说,使用==可以直接比较字符。这是因为对于计算机来说,字符只是一个数字;只有你定义它应该被解释为什么(当你声明变量时)将小写 'a' 与 int 97 分开。所以即使在自然语言中询问变量是否“等于”字母 'a' 很奇怪,对计算机来说这很有意义。

字符串不能以这种方式进行比较,因为它们是非原始的;它们实际上是一个字符数组,不能直接比较。