C\#연산 자의 3 원 연산 자 에 대한 분석
1891 단어 삼원 연산 자
C\#연산 자의 3 원 연산 자"?:"때로는 조건 조작 부 라 고도 부른다.
조건 식 b?x:y 에 대해 조건 b 를 계산 한 다음 에 판단 합 니 다.
만약 b 의 값 이 true 라면 x 의 값 을 계산 하고 연산 결 과 는 x 의 값 입 니 다.그렇지 않 으 면 y 를 계산 하고 연산 결 과 는 y 의 값 이다.
하나의 조건 식 은 x 도 계산 하지 않 고 y 도 계산 합 니 다.조건 조작 부 호 는 오른쪽으로 연 결 된 것 이다.즉,왼쪽 에서 오른쪽으로 조 를 나 누 어 계산 하 는 것 이다.
C\#연산 자의 3 원 연산 자"?:"작업 실례:
표현 식 a?b:c?d:e 는 a?b:(C?d:e)형식 으로 실 행 됩 니 다.
?:의 두 번 째 와 세 번 째 조작 수 는 조건 식 의 유형 을 제어 합 니 다.설정 x 와 y 는 각각 두 번 째 와 세 번 째 조작 수의 유형 입 니 다.그러면:
●x 와 y 가 같은 유형 이 라면 이 유형 은 조건 식 의 유형 이다.
●그렇지 않 으 면 x 에서 y 까지 암시 적 전환 이 존재 하지만 y 에서 x 로 의 전환 이 존재 하지 않 는 다 면 y 는 조건 식 의 유형 이다.
●그렇지 않 으 면 y 에서 x 까지 암시 적 전환 이 존재 하지만 x 에서 y 로 의 전환 이 존재 하지 않 는 다 면 x 는 조건 식 의 유형 이다.
●그렇지 않 으 면 표현 식 형식 이 정의 되 지 않 았 습 니 다.컴 파일 시 오류 가 발생 했 습 니 다.
C\#연산 자의 3 원 연산 자"?:""의 기본 내용 은 여기까지 소개 합 니 다.C\#연산 자의 3 원 연산 자 를 이해 하고 배우 고 싶 습 니 다."도움 이 되다.3 원 연산 자 도 조건 연산 자가 되 었 습 니 다.그 는 비교적 특별 해 보 입 니 다.세 개의 조작 수가 있 기 때 문 입 니 다.그러나 그 는 연산 자 에 속 하 는 형식 이 boolean-exp?value 0:value 1 입 니 다.boolean-exp 표현 식 결과 가 true 라면 value 0 을 계산 합 니 다.그리고 이 계산 결 과 는 조작 자가 최종 적 으로 발생 하 는 값 입 니 다.boolean-exp 표현 식 결과 가 false 라면 value 1 을 계산 합 니 다.마찬가지 로 그의 결과 도 연산 자의 마지막 값 이 됩 니 다.물론 이것 도 if-else 로 대 체 될 수 있 지만 3 원 연산 자 는 if-else 와 완전히 다 르 기 때문에 연산 자 는 하나의 값 을 만 들 수 있 습 니 다.
public class TernaryIfElse{
static int ternary(int i){
return i<10?i*100:i*10;
}
static int standardIfElse(int i){
if(i<10)
return i*100;
else
return i*10;
}
public static void main(String [] args){
System.out.println(ternary(9));
System.out.println(ternary(10));
System.out.println standardIfElse( (9));
System.out.println standardIfElse( (10));
}
}
수출 900 100 900 100 에 비해 3 원 연산 자 는 매우 치밀 하고 if-else 는 이해 하기 쉽다.