관계 연산자 "=="는 정확히 무엇을 비교하나요?
다음 문장은 "Java 프로그래밍 사고"라는 책에서 발췌한 것입니다. "관계 연산자는 부울 결과를 생성하고 피연산자의 값을 계산합니다. 관계".
이 문장은 간단해 보이지만 주의 깊게 이해해야 합니다. 간단히 말하면 ==는 값이 같은지 비교하는 데 사용됩니다.
몇 가지 예를 살펴보겠습니다.
public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int n=3; int m=3; System.out.println(n==m); String str = new String("hello"); String str1 = new String("hello"); String str2 = new String("hello"); System.out.println(str1==str2); str1 = str; str2 = str; System.out.println(str1==str2); } }
출력 결과는 다음과 같습니다.
true false true
int n=3;
int m=3;
기본이 아닌 데이터 유형의 변수를 일부 책에서는 참조 유형 변수라고 합니다. 예를 들어, 위의 str1은 참조 유형 변수입니다. 참조 유형 변수는 "값" 자체가 아니라 메모리에 연관된 개체의 주소를 저장합니다.
예를 들어 다음 코드 줄은 다음과 같습니다.String str1;
str1= new String("hello");
따라서 ==를 사용하여 처음으로 str1과 str2를 비교하면 결과는 false입니다. 따라서 각각 다른 객체를 가리키며, 이는 실제로 저장되는 메모리 주소가 다르다는 것을 의미합니다.
두 번째 비교에서 str1과 str2는 모두 str이 가리키는 객체를 가리키므로 결과는 의심할 여지 없이 참입니다.
위 내용은 ==는 Java에서 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!