연산자 우선순위
hong-ik의 모든 연산자와 우선순위를 정리합니다.
우선순위 표
높은 우선순위부터 낮은 우선순위 순서입니다:
| 우선순위 | 분류 | 연산자 | 설명 |
|---|---|---|---|
| 1 | 단항 | !, - (접두사) | 논리 부정, 부호 반전 |
| 2 | 곱셈류 | *, /, % | 곱셈, 나눗셈, 나머지 |
| 3 | 덧셈류 | +, - | 덧셈, 뺄셈 |
| 4 | 비교 | <, >, <=, >= | 크기 비교 |
| 5 | 동등 | ==, != | 같음, 다름 |
| 6 | 비트 AND | & | 비트 단위 AND |
| 7 | 비트 OR | | | 비트 단위 OR |
| 8 | 논리 AND | && | 논리 AND (둘 다 참) |
| 9 | 논리 OR | || | 논리 OR (하나라도 참) |
| 10 | 대입 | =, +=, -=, *=, /=, %= | 대입 및 복합 대입 |
TIP
우선순위가 높은 연산자가 먼저 계산됩니다. 괄호 ()를 사용하면 우선순위를 명시적으로 지정할 수 있습니다.
단항 연산자
부호 반전과 논리 부정에 사용합니다:
hik
정수 x = 10
정수 음수 = -x // -10
논리 참 = true
논리 거짓 = !참 // false
출력(음수)
출력(거짓)곱셈류 연산자
곱셈(*), 나눗셈(/), 나머지(%) 연산입니다:
hik
정수 a = 17
정수 b = 5
출력(a * b) // 85
출력(a / b) // 3 (정수 나눗셈)
출력(a % b) // 2 (나머지)덧셈류 연산자
덧셈(+)과 뺄셈(-)입니다. +는 문자열 연결에도 사용됩니다:
hik
정수 합 = 10 + 20 // 30
정수 차 = 50 - 15 // 35
문자 인사 = "안녕" + "하세요" // "안녕하세요"
출력(합)
출력(차)
출력(인사)비교 연산자
두 값의 크기를 비교하여 true 또는 false를 반환합니다:
hik
출력(10 > 5) // true
출력(3 < 1) // false
출력(5 >= 5) // true
출력(10 <= 9) // false동등 연산자
두 값이 같은지 다른지 비교합니다:
hik
출력(10 == 10) // true
출력(10 != 5) // true
출력("abc" == "abc") // true
출력("abc" != "xyz") // true비트 연산자
정수의 비트 단위 연산을 수행합니다:
hik
정수 a = 5 // 이진수: 0101
정수 b = 3 // 이진수: 0011
출력(a & b) // 1 (0001)
출력(a | b) // 7 (0111)논리 연산자
조건식을 결합하는 데 사용합니다:
hik
논리 a = true
논리 b = false
출력(a && b) // false (둘 다 참이어야 true)
출력(a || b) // true (하나라도 참이면 true)
출력(!a) // false (반대)단축 평가
&&와 ||는 단축 평가(short-circuit evaluation)를 합니다:
false && ...: 왼쪽이false이면 오른쪽을 평가하지 않음true || ...: 왼쪽이true이면 오른쪽을 평가하지 않음
대입 연산자
변수에 값을 저장하거나 갱신합니다:
hik
정수 x = 10 // 대입
x += 5 // x = x + 5 → 15
x -= 3 // x = x - 3 → 12
x *= 2 // x = x * 2 → 24
x /= 4 // x = x / 4 → 6
x %= 5 // x = x % 5 → 1
출력(x)우선순위 예제
괄호가 없을 때 연산자 우선순위가 결과에 영향을 줍니다:
hik
// 곱셈이 덧셈보다 먼저 계산됩니다
정수 a = 2 + 3 * 4 // 2 + 12 = 14
출력(a)
// 괄호로 순서를 바꿀 수 있습니다
정수 b = (2 + 3) * 4 // 5 * 4 = 20
출력(b)
// 비교 연산이 논리 연산보다 먼저 계산됩니다
논리 c = 3 > 2 && 5 < 10 // true && true = true
출력(c)문자열 연결
+ 연산자로 문자열을 연결할 수 있습니다:
hik
문자 성 = "홍"
문자 이름 = "길동"
문자 전체이름 = 성 + 이름
출력(전체이름) // "홍길동"주의
숫자와 문자열을 +로 직접 연결하면 타입 오류가 발생합니다. 문자변환()으로 변환하세요:
hik
정수 나이 = 25
문자 메시지 = "나이: " + 문자변환(나이)
출력(메시지)