매일 조금씩 배우 기 Thinking in java: 9 관계 연산 자 & 단락
3294 단어 매일 조금씩 Thinking 을 배 워 요.in자바
관계 연산 자 는 '불' (Boolean) 결 과 를 생 성 합 니 다.관계 가 진실 하고 true 가 생 성 된다.관계 가 거짓 이면 false 가 생 성 됩 니 다.관계 연산 자 는 (> 보다 작 음) (greater than), 작 거나 같 음 (< =) (less than and equal to), 크 거나 같 음 (> =) (greater than and equal to), 같 음 (= =) (equivalent) 은 같 지 않 음 (! =) (not equivalent) 을 포함한다.
= = 와! = 모든 주 유형 에 적용 되 지만 다른 비교 부 호 는 boolean 형식 에 적용 되 지 않 습 니 다.
다음 예 참조:
public class Equivalence {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1 == n2);
System.out.println(n1 != n2);
}
}
출력 false 와 true 이유: 두 Integer 대상 은 모두 같 습 니 다. 그러나 대상 의 내용 이 같 지만 핸들 은 다 릅 니 다. = 과! = 을 비교 하 는 것 이 바로 대상 핸들 입 니 다. 따라서 출력 결 과 는 실제 적 으로 false 이 고 true 입 니 다. 내용 을 비교 하려 면 방법 equals () 를 사용 하 십시오.이것 은 두 대상 이 가리 키 는 내용 을 인용 하 는 것 이 같은 지 비교 하 는 데 사 용 됩 니 다. 그러나 이 방법 은 원본 형식 을 사용 하지 않 고 원본 형식 은 직접 = 와! = 을 사용 하면 됩 니 다.
하지만 주의해 야 한다.
class Value {
int i;
}
public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
}
결 과 는 false 입 니 다. 이것 은 equals () 의 기본 행동 이 구문 을 비교 하기 때 문 입 니 다. (override) equals () 방법 을 다시 쓰 지 않 아야 기대 결 과 를 얻 을 수 있 습 니 다. equals () 방법의 원본 코드 를 참고 하 십시오.
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
만약 매개 변수의 종류 가 String 이 아니라면 = 로 비교 합 니 다
논리 연산 자 (논리 연산 자)
논리 연산 자 AND (&), OR (| |) 및 NOT (!) 는 불 값 (true 또는 false) 을 생 성 할 수 있 습 니 다. 독립 변수의 논리 적 관 계 를 바탕 으로 합 니 다.
주의: 부동 소수점 은 매우 엄격 합 니 다. 한 숫자 가 소수 부분 에서 만 다른 숫자 와 아주 작은 차이 가 있 더 라 도 '같 지 않다' 고 생각 합 니 다. 한 숫자 가 0 보다 조금 더 크 더 라 도 (예 를 들 어 2 끊임없이 제곱 근 을 평평 하 게 하 는 것) '0 이 아 닌' 값 (nonzero) 에 속 합 니 다.
단락 (단락)
표현 식 의 진짜 나 가 짜 를 명확 하 게 정할 때 까지 논리 적 으로 값 을 구 합 니 다. 그 결 과 는 논리 적 표현 식 의 후반 부 에 값 을 구 하지 않 습 니 다. 다음 예 를 보십시오.
int a=3,b=6;
if(a++>3&&--b<=6) //当第一个条件为false时,第二个条件不判断不执行
System.out.println("ok");//注意此处a先判断再++
else
System.out.println("error");
System.out.println("a="+a+"\tb="+b); //4 6
int a=3,b=6;
if(a++>=3 || --b<=6) //当第一个条件为true时,第二个条件不判断不执行
System.out.println("ok");
else
System.out.println("error");
System.out.println("a="+a+"\tb="+b); //4 6
주의 와 위치 별 & 위치 별 또는/의 차이
int a=3,b=6;
if(a++>3&--b<=6) //这两个条件都判断并执行
System.out.println("ok");
else
System.out.println("error");
System.out.println("a="+a+"\tb="+b);
int a=3,b=6;
if(a++>=3| --b<=6) //这两个条件都判断并执行
System.out.println("ok");
else
System.out.println("error");
System.out.println("a="+a+"\tb="+b); // 4 5
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
매일 Thinking in java:6 주석 과 문서 삽입두 번 째 유형의 주석 도 C++에서 기원 되 었 다.이 주석 은'한 줄 주석'이 라 고 하 는데'/'로 시작 하여 이 줄 의 모든 내용 이 주석 임 을 나타 낸다.이런 유형의 주석 은 글 을 쓸 때 더욱 편리 하기...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.