SCE- SCE연산 수행으로 인한 주의 사항

CODEDRAGON Development/Java

반응형

   

SCE연산 수행으로 인한 주의 사항

   

   

   

소스코드

  1.  class OperatorSCE
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int num1=0, num2=0;
  6.                 boolean result;
  7.                  
  8.                 result = (num1+=10)<&& (num2+=10)>0;
  9.                 //(num1+=10)<0 -> 10<0 -> false
  10.                 //(num2+=10)>0 -> 10>0 -> true
  11.                 // false && true
  12.                 //SCE연산이 수행됩으로써 오른쪽의(num2+=10) 연산이 수행되어 지지 않습니다.
  13.                 System.out.println("result= "+result);
  14.                 System.out.println("num1= " + num1 + ", num2= " + num2);
  15.                  
  16.                  
  17.                 System.out.println("");
  18.                 result = (num1+=10)>|| (num2+=10)>0;
  19.                 //(num1+=10)>0 -> 10>0 -> true
  20.                 //(num2+=10)>0 -> 10>0 -> true
  21.                 // false && true
  22.                 System.out.println("result= " + result);
  23.                 System.out.println("num1= " + num1 + ", num2= " + num2);
  24.                 //SCE연산이 수행됩으로써 오른쪽의 (num2+=10) 연산이 수행되어 지지 않습니다.
  25.         }
  26. }

https://github.com/10zeroone/study_Java/blob/master/ch03-operator/src/OperatorSCE.java

   

 

출력결과 

   

   

   

과제

num1과 num2가 다 연산되게 코딩 바꿔보기