달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  


 

증감 연산자(increment and decrement operators)

·       변수에 저장되어 있는 값을 1씩 증가 혹은 감소시킬 때 사용하는 연산자입니다.

·       모든 수치 데이터 형식과 열거형식에서 사용합니다.

·       ++ 또는 -- 연산자가 변수 앞에 위치하느냐? 아니면 변수 뒤에 위치하느냐? 에 따라 값이 달라질 수 있으므로 증감연산자를 사용하실 때는 항상 주의하셔야 합니다.

 

 

증감 연산자 종류

피연산자가 단 하나뿐인 단항 연산자입니다.

연산자

의미

++

피연산자의 값을 1 증가

--

피연산자의 값을 1 감소

 

 

코드를 간결하게하고 속도를 향상시킬 수 있지만 이것이 오히려 가독성을 저해할 수 있으며, 피연산자의 위치에 따라 결과가 다르게 나올 수 있기 때문에 주의해야 합니다.

증감 연산자

설명

++a

선 증가, 후 연산 (먼저 증가하고 그 다음 연산)

a++

선 연산, 후 증가 (먼저 연산하고 그 다음 증가)

--a

선 감소, 후 연산 (먼저 감소하고 그 다음 연산)

a--

선 연산, 후 감소 (먼저 연산하고 그 다음 감소)

 

 

 

증감 연산자 prefix/postfix 기능

전위/후위  연산자에 따라 달라지는 result 값을 확인합니다.

후위 연산자의 증가 또는 감소한 값은 다음 라인 부터 적용됩니다.

연산자

연산자 기능

연산 과정

result

++(prefix)

·       피연산자의 값을 1 증가

 

n=7

result = ++n

 

·       선 증가, 후 연산 (먼저 증가하고 그 다음 연산)

++7 -> 8 -> result = 8

8

--(prefix)

·       피연산자의 값을 1 감소

 

n=7

result = --n

 

·       선 감소, 후 연산 (먼저 감소하고 그 다음 연산)

--7 -> 6 -> result = 6

6

(postfix)++

·       피연산자의 값을 1 증가

 

n=7

result = n++

 

·       선 연산, 후 증가 (먼저 연산하고 그 다음 증가)

result = 7 -> 7++ -> 8

7

(postfix)--

·       피연산자의 값을 1 감소

 

n=7

result = n--

 

·       선 연산, 후 감소 (먼저 연산하고 그 다음 감소)

result = 7 -> 7-- -> 6

7

 

 

 

증감 연산자 선행/후행 실행후 결과값 확인

증감연산자 후행에서는 증가/감소값이 해당 연산 수행문에서는 적용이 되지 않고

다음 문장 부터 적용(다음 연산 부터 적용)이 되게 됩니다. (주의)

 

Posted by codedragon codedragon

댓글을 달아 주세요

증감연산자 수행시 값 변화 주의

   

   

소스코드

   

#include <stdio.h>

int main(void) {

int num1=10, num2=20;

int r1, r2;

r1 = ++num1;

// 전위 방식, 증가 연산

printf("r1: %d, num1: %d \n",r1, num1); // 결과 11, 연산값11

r2 = num2++;

// 후위 방식, 연산 증가

printf("r2: %d, num2: %d \n",r2, num2); // 결과 20, 연산값21

return 0;

}

 



   

출력결과

 

'Development > C/C++' 카테고리의 다른 글

관계연산자  (0) 2015.03.12
Ex08-증감 연산자 선행/후행비교  (0) 2015.03.11
Ex07-증감연산자 수행시 값 변화 주의  (0) 2015.03.10
Ex06-증감연산자의 단독 수행  (0) 2015.03.08
Ex05-복합 대입 연산자  (0) 2015.03.02
연산자, 연산자의 종류  (0) 2015.03.01
Posted by codedragon codedragon

댓글을 달아 주세요

증감연산자의 단독 수행

   

   

소스코드

   

#include <stdio.h>

int main(void) {

int num1=10;

printf("num1: %d\n",num1); // 결과는 10

num1++;

//num1 = num1 + 1;

printf("num1++: %d\n",num1); // 결과는 11

++num1;

//num1 = num1 + 1;

printf("++num1: %d\n",num1); // 결과는 12

--num1;

//num1 = num1 - 1;

printf("--num1: %d\n",num1); // 결과는: 11

num1--;

//num1 = num1 - 1;

printf("num1--: %d\n",num1); // 결과는 10

return 0;

}


   

   

출력결과

단독수행시 동일한 결과

 

'Development > C/C++' 카테고리의 다른 글

Ex08-증감 연산자 선행/후행비교  (0) 2015.03.11
Ex07-증감연산자 수행시 값 변화 주의  (0) 2015.03.10
Ex06-증감연산자의 단독 수행  (0) 2015.03.08
Ex05-복합 대입 연산자  (0) 2015.03.02
연산자, 연산자의 종류  (0) 2015.03.01
증감 연산자  (0) 2015.02.28
Posted by codedragon codedragon

댓글을 달아 주세요

연산자와 피연산자

구분

설명

연산자(Operator)

연산을 수행하는 기호

피연산자(Operand)

연산에 참여하는 변수나 상수

   

피연산자

연산자

피연산자

3

+

7

   

   

연산자의 종류

분류

연산자

대입 연산자

=

산술 연산자

+, -, *, /, %

복합 대입 연산자

+=, -=, *=, /=, %=

증감연산자

++, --

관계 연산자

>, <, ==, !=, >=, <=

논리 연산자

&&, ||, !

조건 연산자

? :

비트 논리 연산자

&, !, ^, ~

비트 이동 연산자

>>, <<

  

Posted by codedragon codedragon

댓글을 달아 주세요

증감 연산자 

   

   

소스코드

  1.  public class OperatorEx01 {
  2.         public static void main(String[] args){
  3.                  
  4.                 System.out.println("=========증가 연산자=========");
  5.                 int i1=5;
  6.                 int i2=5;
  7.                 System.out.println("증가연산자 선행 : " + (++i1) );
  8.                 System.out.println("i1 : " + i1);
  9.                                  
  10.                 System.out.println("증가연산자 후행 : "+ (i2++) );
  11.                 System.out.println("i2 : " + i2);
  12.                  
  13.                 System.out.println("\n=========감소 연산자=========");
  14.                 System.out.println("");
  15.                 int j1 = 10;
  16.                 int j2 = 10;
  17.                 System.out.println("감소연산자 선행 : "+ (--j1) );
  18.                 System.out.println("j1 : " + j1);
  19.                  
  20.                 System.out.println("감소연산자 후행 : "+ (j2--) );
  21.                 System.out.println("j2 : " + j2);
  22.         }
  23. }


   

 

출력결과

   

   

Posted by codedragon codedragon

댓글을 달아 주세요

증감 연산자 선행/후행 실행후 결과값 확인

   

   

소스코드

  1.  public class OperatorEx15 {
  2.    
  3.         public static void main(String[] args) {
  4.    
  5.                 int n1=7;
  6.                 int result1=0;
  7.                 result1 = ++n1;
  8.                 System.out.println("++n : " + result1);
  9.                  
  10.                  
  11.                 int n2=7;
  12.                 int result2 =0;
  13.                 result2= --n2;
  14.                 System.out.println("--n : " + result2);
  15.                  
  16.                  
  17.                 int n3=7;
  18.                 int result3 =0;
  19.                 result3= n3++;
  20.                 System.out.println("n++ : " + result3);
  21.                  
  22.                  
  23.                 int n4=7;
  24.                 int result4 =0;
  25.                 result4= n4--;
  26.                 System.out.println("n-- : " + result3);
  27.                 //증감연산자 후행에서는 증가/감소값이 해당 연산 수행문에서는 적용이 되지 않고
  28.                 //다음 문장 부터 적용이 되게 됩니다.
  29.                  
  30.         }
  31. }


   

 

출력결과 

   

Posted by codedragon codedragon

댓글을 달아 주세요

증감/비교/논리 연산자

   

   

소스코드

  1.  public class OperatorEx05 {
  2.          
  3.         public static void main(String[] args){
  4.                 System.out.println("=========증감/비교/논리 연산자=========");
  5.                  
  6.                  
  7.                 System.out.println("논리 :");
  8.                 int a, b;
  9.                 a = b = 10;
  10.                 boolean c = (a++ >= ++b) && (++> b++);
  11.                 System.out.println("a++ >= ++b && ++a : " + c);
  12.                 System.out.println("a : " + a);
  13.                 System.out.println("b : " + b);
  14.                  
  15.                  
  16.                 System.out.println("");
  17.                 System.out.println("논리 :");
  18.                 int d, e;
  19.                 d = e = 10;
  20.                  
  21.                 boolean f = ++> e++ || d++ >= ++e;
  22.                 System.out.println("++d > e++ || d++ >= ++e : " + f);
  23.                 System.out.println("d : " + d);
  24.                 System.out.println("e : " + e);
  25.                  
  26.         }
  27. }


   

 

출력결과

   

   

   

Posted by codedragon codedragon

댓글을 달아 주세요

증감연산자

연산자

설명

++

++a

a++

a의 값을 1 증가 시킴

--

--a

a--

b의 값을 1 감소 시킴

   

   

소스코드

<html>

<head>

<meta charset="UTF-8">

<title>증감 연산자</title>

<script type="text/javascript">

var number = 10;

document.write('<br>number++:');

document.write(number++);        //10

document.write('<br>');

//메모리상에 number: 11

document.write('<br>++number:');

document.write(++number);        //12

document.write('<br>');

var number2 = 20;

document.write('<br>number2--:');

document.write(number2--);        //20

document.write('<br>');

//메모리상에 number: 19

document.write('<br>--number2:');

document.write(--number2);        //18

</script>

</head>

<body>

</body>

</html>

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch02-operation/01.html>

   

   

'Development > JavaScript, jQuery, ...' 카테고리의 다른 글

논리 연산자  (0) 2014.06.01
비교 연산자  (0) 2014.05.31
증감 연산자  (0) 2014.05.31
연산자  (0) 2014.05.31
ch02-operation  (0) 2014.05.31
변수의 재정의  (0) 2014.05.30
Posted by codedragon codedragon

댓글을 달아 주세요

자바스크립트 연산자 관련 강의 맵

   

   

'Development > JavaScript, jQuery, ...' 카테고리의 다른 글

증감 연산자  (0) 2014.05.31
연산자  (0) 2014.05.31
ch02-operation  (0) 2014.05.31
변수의 재정의  (0) 2014.05.30
변수  (0) 2014.05.30
형변환  (0) 2014.05.30
Posted by codedragon codedragon

댓글을 달아 주세요