Java String 범주를 사용하여 비교할 수 없는 이유 (==)
4988 단어 Java
String 클래스 비교
if문장 등에서 때때로 수치가 같은지 아닌지의 비교를 사용한다
예컨대
【Q1】
입력이 응답과 일치하는지 확인하는 프로그램
Q1.javaimport java.util.Scanner;
class Q1 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("数を入力:");
int n = stdIn.nextInt();
if (n == 5) {
System.out.print("あたり");
} else {
System.out.print("はずれ");
}
}
}
이 경우 int형 수치의 비교이기 때문에
==를 사용하여 비교할 수 있습니다.
그러면 문자열의 비교로 다음과 같은 상황을 살펴봅시다.
【Q2】
미스터리 프로그램
Q1.javaimport java.util.Scanner;
class Q2 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("豆腐の原料は?:");
String n = stdIn.next();
if (judge.equals("大豆")) {
System.out.print("あたり");
} else {
System.out.print("はずれ");
}
}
}
비교는 ==이 아니라 equals를 사용합니다.
왜 equals일까요?
클래스 유형(참조)을 비교할 때는 컨텐트가 아닌 ==을 사용합니다.
데이터가 포함된 주소를 비교합니다.
Reference
이 문제에 관하여(Java String 범주를 사용하여 비교할 수 없는 이유 (==)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Ayaka_ramens/items/df57bcb53ae23e7a15ee
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import java.util.Scanner;
class Q1 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("数を入力:");
int n = stdIn.nextInt();
if (n == 5) {
System.out.print("あたり");
} else {
System.out.print("はずれ");
}
}
}
import java.util.Scanner;
class Q2 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("豆腐の原料は?:");
String n = stdIn.next();
if (judge.equals("大豆")) {
System.out.print("あたり");
} else {
System.out.print("はずれ");
}
}
}
Reference
이 문제에 관하여(Java String 범주를 사용하여 비교할 수 없는 이유 (==)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ayaka_ramens/items/df57bcb53ae23e7a15ee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)