달력

1

« 2020/1 »


 논리 연산자와 SCE(Short-Circuit Evaluation)

·       SCE '최단거리 연산'이라고도 합니다.

·       연산 결과 나온것에 대해 더 이상 연산을 수행하지 않습니다.

·       자바(JAVA) SCE 연산을 지원합니다.

·       자바스크립트(JaveScript) SCE 연산을 지원합니다.

·       파이썬(Python)SCE 연산을 지원합니다.

 

 

연산자

설명

AND

·       선조건이 true일 때만 후조건을 실행하며

·       선조건이 false일 경우 후조건을 실행하지 않습니다.

OR

·       선조건이 true이면 후조건을 실행하지 않으며

·       선조건이 false인 경우에만 후조건을 실행합니다.

 

Posted by codedragon codedragon

댓글을 달아 주세요

변수명에 사용시 에러 발생 확인

   

   

   

변수 선언시 주의사항

  • 변수 선언은 제일 앞쪽에 선언합니다.
  • 변수의 이름은 의미 있게 작명합니다.
  • 특수 기호, 공백 문자, 맨 처음 숫자를 사용하면 안됩니다.
  • C언어에서 사용되는 키워드/예약어를 변수 이름에 사용하지 않습니다.
  • C언어는 대소문자를 구분한다

   

 

소스코드

   

  1. int main(void){
  2. //      int int;        // 변수의 선언, 에러발생
  3. //      int void;       // 변수의 선언, 에러발생
  4. //      int ?result;
  5. //      int 2result;    // 변수의 선언, 에러발생
  6.         int rsult2;
  7.         //to tal 사이에 공백 문자 사용
  8.         //int to toal;  // 변수의 선언, 에러발생
  9.         int total;
  10.         //C언어는 대소문자를 구분한다
  11.         int TOTAL;      //total, TOTAL 같은 변수가 아닙니다.
  12.         return 0;
  13. }

 


   

   

출력결과

int int;        // 변수의 선언

 

   

int ?result;

   

 

int to toal;

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

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가 다 연산되게 코딩 바꿔보기

Posted by codedragon codedragon

댓글을 달아 주세요