如何比较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不是基本类型之一,这就是为什么您将thevinduequals()进行比较,您可以只做thevindu == '+'

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

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

相关内容

  • 没有找到相关文章

最新更新