[JavaScript] 02. 연산
교재 : 비전공자를 위한 프로그래밍 입문 - 02. 연산
산술 연산자
연산자(operator) : 값의 연산을 위해 사용되는 부호
사칙연산자 : 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)
계산 순서(우선 순위)는 산수와 같다. 따로 괄호로 묶어주면 우선도가 높아진다.
사칙연산자 외에 나머지(%), 지수(**, 거듭제곱) 등의 연산자도 있다.
[예제]
콘솔(console)창에서 값을 확인해보려고 'console.log(출력할 값)'을 따로 넣었음
let x, y, z;
function setup() {
noLoop();
}
function draw() {
x = 5 + 10;
console.log(x); // 15, 콘솔에 표시됨
y = -x + 5;
console.log(y); // -10, 콘솔에 표시됨
z = 50 + y * 2;
console.log(z); // 30, 콘솔에 표시됨
y = z / (x - 10);
console.log(y); // 6, 콘솔에 표시됨
}
let x = 15, y;
y = x % 4; // 15 % 4 = 3의 나머지 3 -> 3
console.log(y);
x = y ** 2; // y ** 2 = 3의 거듭제곱 -> 9
console.log(x);
* 구분이 쉽도록 이항연산자 전후에는 공백을 넣고, 단항연산자 뒤에는 공백을 넣지 않음. (원래 상관없음)
이항,단항 관련 설명은 하단에!
대입 연산자
'변수' 값에 연산을 한 값을 '변수'에 대입한다.
'x += 5'와 x = x + 5'는 같은 뜻.
[예제]
let x = 10; //변수는 10으로 정의
x = x + 5; // 정의된 x값과 5를 더한 값 15가 다시 변수 x의 값이 됨
let x = 10;
function setup() {
noLoop();
}
function draw() {
x += 5; // 변수x를 5만큼 더함
console.log(x); // 15
x -= 10; // 변수x를 10만큼 뻄
console.log(x); // 5
x *= 2; // 변수x를 2 곱함
console.log(x); // 10
x /= 4; // 변수x에 1/4나눔
console.log(x); // 2.5
}
증가 / 감소
값을 1씩 증가시키고, 1씩 감소시키는 것.
프로그래밍할때 자주쓰기 때문에 'x += 1'로 쓸 수 있는 값을 더 간소화 시킨 것.
변수 x 값에 대하여
'++x(전치)' or 'x++(후치)' : 값이 1씩 증가한다.
'--x(전치)' or 'x--(후치)' : 값이 1씩 감소한다.
[예제]
x = 5;
y = ++x + 5; // 전치: x는 6, y는 11
x = 5;
y = x++ + 5; // 후치: x는 6, y는 10
문자열 연산
문자열(string)도 값으로서 사용이 가능.
프로그래밍 언어에서 문자열은 " " or ' '로 묶는다.
문자열과 문자열 사이의 +(덧셈)은 문자열의 연결로 처리된다.
문자열 + 숫자도 연결할 수 있는데, 이 경우 숫자가 문자열로 자동 변환 된다.
[예제]
const S1 = 'Hello', S2 = 'World'; // 문자열 상수
let s;
function setup() {
noLoop();
}
function draw() {
s3 = S1 + ' ' + S2;
console.log(s3); // Hello World
}
let x = 100;
x += '만원만 주세요!';
console.log(x); // 100만원만 주세요!
주의! 문자열로 선언한 '숫자'와 숫자를 연결하면 덧셈이 되는게아니라 나열된다.
[예제] x + 1 의 값이 11이 아닌 101로 나타난다.
let x = '10';
console.log(x + 1); // 101
문자열로 선언한 숫자를 수치로 계산하고 싶을때는 수치로 변환하는 함수를 사용한다.
[예제] parseInt함수 또는 parseFloat함수를 사용
let x = '10';
print(parseInt(x) + 1); // 11
단항 연산자와 이항 연산자
입문이니까 자주 등장하는 것들만 간단하게 정리함
단항 연산자 : 한 개의 피연산자를 갖는 연산자
연산자 종류 | 연산자 | 피연산자 수 |
부호 연산자 | +(양수), -(음수) | 단항 |
증감 연산자 | ++(1씩 증가), --(1씩 감소) | 단항 |
…등
이항 연산자 : 두 개 항 사이의 연산을 정의 (좌우에 항이 놓여짐)
연산자 종류 | 연산자 | 피연산자 수 |
산술 연산자 | +(더하기), -(빼기), *(곱하기), /(나누기), %(모듈) | 이항 |
대입 or 복합대입 연산자 | =, +=, -+, *=, /=, %=, &=, |=, ^=, 등 | 이항 |
비교 연산자 | ==, !==, >, <, >=, <= 등 | 이항 |
…등