티스토리 뷰
자바연산자에 대한이해
Java 연산자는 변수 또는 값에 대해 특정 작업을 수행하는 데 사용되는 기호입니다.
기능에 따라 산술, 대입, 비교, 논리, 비트 등 다양한 범주로 분류됩니다.
산술 연산자는 수학 계산을 수행하는 데 사용됩니다.
여기에는 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/) 및 모듈러스(%) 등이 포함됩니다.
예를 들어 "x + y"는 x와 y의 값을 더합니다.
할당 연산자는 변수에 값을 할당하는 데 사용됩니다.
기본 대입 연산자는 오른쪽의 값을 왼쪽의 변수에 대입하는 "="입니다.
다른 대입 연산자로는 연산을 수행하고 결과를 변수에 대입하는 "+=", "-=", "*=", "/=" 및 "%="가 있습니다.
비교 연산자는 값을 비교하고 부울 결과를 반환하는 데 사용됩니다.
예를 들면 "==", "!=", ">", "<", ">=" 및 "="가 있습니다. 또는 "x == y"는 x가 y와 같은지 확인합니다.
논리 연산자는 여러 조건을 결합하고 그 진실을 평가하는 데 사용됩니다.
논리 AND 연산자(&&)는 두 조건이 모두 참이면 참을 반환합니다.
논리 OR 연산자(||)는 조건 중 하나가 참이면 참을 반환합니다.
논리 NOT 연산자(!)는 피연산자의 부울 값을 반전시킵니다.
비트 연산자는 비트 수준에서 연산을 수행합니다.
여기에는 비트 AND(&), 비트 OR(|), 비트 XOR(^), 비트 보수(~), 왼쪽 시프트(<<) 및 오른쪽 시프트(>>)가 포함됩니다.
이러한 연산자는 일반적으로 저수준 프로그래밍이나 이진 데이터로 작업할 때 사용됩니다.
Java의 다른 연산자로는 "? :"로 표현되는 조건 연산자(삼항 연산자)와 개체가 특정 클래스의 인스턴스인지 확인하는 데 사용되는 instanceof 연산자가 있습니다.
증가 및 감소 연산자
Java는 변수 값을 1씩 늘리거나 줄이는 증가(++) 및 감소(--) 연산자를 제공합니다.
접미사 또는 접두사 연산자로 사용할 수 있습니다. 예를 들어 "x++" 또는 "++x"는 x의 값을 1씩 증가시킵니다.
복합 할당 연산자
복합 할당 연산자는 산술 연산과 할당을 결합합니다. "x = x + 5"라고 쓰는 대신 복합 할당 연산자 "+="를 "x += 5"로 사용할 수 있습니다.
이 속기 표기법은 다른 산술 연산자에서도 사용할 수 있습니다.
문자열 연결 연산자
Java에서는 더하기(+) 연산자를 사용하여 문자열을 연결할 수도 있습니다.
예를 들어 "Hello" + " World"는 문자열 "Hello World"가 됩니다.
조건부 연산자(삼항 연산자)
삼항 연산자라고도 하는 조건 연산자를 사용하면 간결한 if-else 문을 작성할 수 있습니다.
형식은 다음과 같습니다.
condition? 식 1 : 식 2. 조건이 참이면 expression1이 평가됩니다. 그렇지 않으면 expression2가 평가됩니다.
instanceof 연산자
instanceof 연산자는 개체가 특정 클래스의 인스턴스인지 또는 특정 인터페이스를 구현하는지 확인합니다.
그에 따라 true 또는 false를 반환합니다.
예를 들어 "obj instanceof MyClass"는 "obj"가 "MyClass" 클래스의 인스턴스인지 확인합니다.
우선순위 및 연관성
Java의 연산자에는 표현식에서 평가 순서를 결정하는 우선순위와 연관성이 있습니다.
예를 들어 곱하기(*)는 더하기(+)보다 우선순위가 높으므로 먼저 평가됩니다.
괄호를 사용하여 기본 우선순위를 재정의할 수 있습니다.
단항 연산자
Java는 단항 빼기(-), 단항 더하기(+) 및 논리 보수(!)와 같은 여러 단항 연산자를 제공합니다.
단항 빼기는 숫자 값을 부정하고 단항 더하기는 양수 값을 나타내며 논리 보수는 부울 값을 반전시킵니다.
연산자가 우선순위를 가진다는 것은 특정 연산자가 다른 연산자보다 먼저 평가된다는 것을 의미합니다.
예를 들어 곱셈은 더하기 전에 평가됩니다. 그러나 괄호를 사용하여 평가 순서를 변경할 수 있습니다.
'IT' 카테고리의 다른 글
사이버 보안 및 보안 위협에 대응하는 방법 (0) | 2023.06.14 |
---|---|
클라우드 컴퓨팅과 비즈니스 혁신 (0) | 2023.06.14 |
Java 기본 개념에 대해서 알고가세요! (0) | 2023.05.29 |
정적 메서드(static method )에 대한이해 (0) | 2023.05.29 |
클라우드 컴퓨팅(Cloud Computing)에 대한 이해,꼭 알고 가세요! (0) | 2023.05.28 |