C. Java

Short Circuit Evaluation

sfeg 2017. 7. 2. 22:47

Short Circuit Evaluation
 
1 = >  intm=10,n=20;
          if((m>n) || (m++<n++)) {}
                거짓
          System.out.println(m + "    " + n);
--------------------------------------------------------->   m=11  n=21     
2= > intm=10,n=20;
         if((m<n) || (m++>n++)) {}
               
         System.out.println(m + "    " + n);
--------------------------------------------------------->   m=10  n=20           
 
 
3= > intm=10,n=20;
          if((m>n) && (m++<n++)) {}
               거짓                
          System.out.println(m + "    " + n);
--------------------------------------------------------->   m=10  n=20 
 
 
4= > intm=10,n=20;
         if((m<n) && (m++<n++)) {}
               
         System.out.println(m + "    " + n);
--------------------------------------------------------->   m=11  n=21     
 
 

OR   연산에서는 선행조건이 참이면 후행조건은 실행하지않는다. ==> m,n의 값이 달라진다.
         -> or 연산은 하나라도 참이면 그 구문이 참이기 때문에 후행조건은 볼 필요가 없어진다.
 
 
AND 연산에서는 선행조건이 거짓이면 후행조건은 실행하지않는다. ==> m,n의 값이 달라진다.
       -> and 연산은 하나라도 거짓이면 그 구문이 거짓이기 때문에 후행조건은 볼 필요없어진다.
 
 
 
ps. 
후행조건까지 확인 및 실행하기 위해서는 비트 연산자를 사용할수 있다.  &, | 연산자를 사용하면 후행조건까지 검사한다.