if语句括号里的符号该怎么表示?

import java.util.Scanner;

public class Test17{

public static void main(String[] args){

Scanner a=new Scanner(System.in);

System.out.println("请输入a值");

int b=a.nextInt();

System.out.println("请输入B值");

int c=a.nextInt();

System.out.println("请输入运算符号+-*/");

String d=a.next();

if(d=="+"){

System.out.println(b+c);

}

if(d=="-"){

System.out.println(b-c);

}

if(d=="*"){

System.out.println(b*c);

}

if(d=="/"){

System.out.println(b/c);

}

}


上面是我写的。if语句后面括号里如果用1234代表加减乘除就没问题。但是换了符号就不行。字串符不是应该用String么?

飘零之叶
浏览 2887回答 3
3回答

Caballarii

但是String的比较不应该用==,而应该是equals函数,d=="+"改成d.equals("+")就好了

九天哟

==是用来比较栈内存中的内容,通俗的讲就是,基本的类型可以用==符号来进行比较,如果是引用类型的话需要用equals()方法来进行比较。因为字符串类型属于引用类型,所以要用 equals()的方法来进行表示,如果是对象之间的比较不但需要是用equals()方法比较,还需要在类中重载equals()方法。

慕粉3613271

if(d.equals("+"))if(d.equals("-"))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java