'연산자의 결합성'에 해당되는 글 1건

  1. 2009.04.19 변수와 연산자


어떠한 값을 활용하기 위해서는 연산결과를 저장할 필요가 있다. 이때 활용하는 개념이 변수이다. 어떠한 값을 담는 그릇이자 그를 참조할 수 있는 경로가 되는 것이다. 변수나 값들은 메모리에 등록되고 연산은 cpu와 메모리사이에서 정의된 데이터를 cpu에서 연산한다.

int a = 3+4;
위와 같은 경우 좌측부터 3을 메모리에 등록한다. 이후 4를 메모리에 등록한다. cpu는 메모리에서 3과 4를 가져다가 +을 한다. 이를 활용하기 위해서는 변수(a)에 값을 저장한다. 나중에 상수부분에서 다루겠지만 3과 4는 상수에 해당한다.

 *변수 : 데이터를 저장 할 수 있는 메모리 공간에 붙여진 이름
  - 정수형 : char , int , long
  - 실수형 : float , double

* 연산
 = : 대입
 + : 덧셈
 - : 뺄셈
 * : 곱셈
 / : 나누기
 % : 나머지

코딩시 주의할 점)
실행문에서는 반드시 아래처럼 선언부와  실행부가 나뉘어져서 코딩되어야 한다.
만약 중간에 실행부나 대입부분이 있으면 컴파일 에러를 발생한다.

ex)
int val;
val = 3+4; 또는 printf("val = %d \n" , val); 등과 같은 명령문
int a, b;
int c=30, d=40; 와 같은 선언부
>> 에러 발생...


따라서 함수 초반에 모든 선언부를 마치고 실행부를 넣으며 값을 재설정하고자 할때는 a=100등과 같이 대입식을 사용하면 된다.
ex)
//선언부
int val;
int a, b;
int c=30, d=40;
//실행부
val = 3+4;
a = 10;
b = 10;

위처럼 선언부와 실행부를 분리하면 컴파일에러가 생기지 않는다. 이러한 것을 보면 액션스크립트는 정말 잘 만든언어인 것 같다.

변수선언시 같은 데이터 타입이면 컴머연산자를 사용하여 여러개가 동시에 선언 가능하다.
예)
int a, b; //쓰레기값으로 초기화;
int c=30, d=40; //선언과 동시에 초기화
int result1, result2, result3;

* 논리 연산자(&& , || , !)
- &&는 좌우 양족 항이 모두 true를 만족해야 한다.
- ||는 좌우 한쪽항만 true를 만족하면 된다.
- !는 true를 fasle로 false를 true로 변환한다.
( !(10 ) ) : !는 true<->false 변환이므로 10은 0이 아닌 true이며 true를 !에 의해 false로 변환
플래시에서도 같은 결과 출력
var a:int = 10
var res:Boolean = a
trace(res) -> true

var a:int = 10
var res:Boolean = (!a)
trace(res) -> false

* 비교 연산자(<,>,==,!=,>=,<= 등)
0을 제외하고 모든 값을 true로 인식 -3 = true, 10=true그러나 일반적으로 0은 false 1은 true로 사용한다.
(flash도 같은 방식이다.)

* 컴머연산자
,를 사용하여 연산 : 여러 연산을 구분하여 실행하도록 함
  - 둘 이상의 변수 동시 선언 시
  - 줄 이상의 문장을 한줄에 선언 시
  - 함수의 매개변수 전달 시

* 연산자의 결합성 : 우선 순위가 같은 것이 둘이상 등장하면 왼쪽에서 오른쪽으로 실행
  +,- 보다는 *,/를 먼저 실행
  3+4*5/2-10인 경우 4*5 -> 20/2 -> 3+10 -> 13-10 = 3;
  괄호()를 사용하여 코드의 가독성으로 높이고 결합성을 결정한다.

Posted by 버터백통