JAVA

[JAVA] 연산자(Operator)

기정님 2025. 4. 15. 09:18

연산자의 종류와 우선 순위 


> 논리 부정 연산자 (단항연산자에 해당한다):     

논리 값을 부정하여 반대 값으로 변경이 가능하다 / 제어문을 활용할 때 많이 쓴다

  • 논리적: Logical / 논리 (회로)의(형용사)
  • 부정: Negation / 부정, 부인; 취소(명사)
boolean bool1 = true;

boolean bool2 = !bool1;

System.out.println(bool2); //false

 

ex): 예시를 한번 들어보자 난 내가 좋아하는 사람과 싫어하는 사람을 구분짓고 싶다면 (서울살면서,능력있고,정이 많은친구)를 원한다고 하자 이와 반대로 정반대의 사람을 바로 찾고싶다면 그 앞에 느낌표 ! 를 추가하여 !(서울살면서,능력있고,정이 많은친구)가 아니게 되는거다

 


>증감 연산자 (단항연산자에 해당한다):  ++   --

피연산자의 값에 1을 더하거나 빼는 연산자 위치에 따라 출력 값이 다르게 나타난다

전위 연산: 먼저 연산 후 다른 연산 실행

후위 연산: 다른 연산 우선 실행 후 연산

 

  • 증가: increase
  • 감소: decrease

 

//전위 연산
int a = 10;
int b = ++a;
System.out.println(a + ", " + b); //11, 11

//후위 연산
int a = 10;
int b = a++;
System.out.println(a + ", " + b); //11, 10
	public void method3() {
		int num1 = 20;
		int result1 = num1++ * 3;
		System.out.println("result1 : " + result1); // 60
		System.out.println("num2 : " + num1);       // 21
		
		int num2 = 20;
		int result2 = ++num2 * 3;
		System.out.println("result1 : " + result2); // 63
		System.out.println("num2 : " + num2);       // 21
	}
}

>>산술 연산자:  + ,  -,   *,   /,    %

연산 방법과 우선 순위가 일반 수학과 동일하다

  • 산술: Arithmetic

int num1 = 8, num2 = 4;

 
System.out.println("+ 연산자에 의한 결과 : "+ (num1 + num2));//+ 연산자에 의한 결과 : 12
System.out.println("- 연산자에 의한 결과 : "+ (num1 - num2));//- 연산자에 의한 결과 : 4
System.out.println("* 연산자에 의한 결과 : "+ (num1 * num2));//* 연산자에 의한 결과 : 32
System.out.println("/ 연산자에 의한 결과 : "+ (num1 / num2));/// 연산자에 의한 결과 : 2
System.out.println("% 연산자에 의한 결과 : "+ (num1 % num2));//% 연산자에 의한 결과 : 0

 

 


>>비교연산자: ==,   !=,   [>,  >=, <=, <]

데이터가 같은지, 다른지 비교할 때 쓰이며,

비교 결과 값으로 항상 논리 값(true, false)이 나옴

피연산자로 모든 자료형(기본형, 참조형) 사용 가능

a == b : a와 b가 같으면 true

a != b : a와 b가 다르면 true

 

[두 피연산자의 값의 크기 비교 기본형 boolean, 참조형을 제외하고 나머지 자료형에 모두 사용 가능]

  • 비교: Comparison

 

if(a == b) {}
int result = a == b ? a++ : b--; 

if(a != b) {}
int result = a != b ? a++ : b--;

삼항 연산자는 밑에 따로 설명을 하도록 하겠다

 

> >= <= < 연산자 예시

if(a < b) {}
int result = a > b ? a++ : b--;
for(int a = 0; a <= b; a++) {}
while(a >= b) {}

 


논리연산자:  &&,   ||

논리 값 두 개를 비교하는 연산자

&& : 두 피연산자가 모두 true일 때 true 반환 (AND)

|| : 두 피연산자 중 하나만 true여도 true 반환 (OR)

 

		// 입력한 정수 값이 1~100사이의 숫자인지 확인
		Scanner sc =new Scanner(System.in);
		
		System.out.print("정수 하나 입력 : ");
		int num = sc.nextInt();
		
		System.out.println("1부터 100사이의 숫자인지 확인 : " + ( (num <= 100) && (num >= 1) ) );

 


복합 대입 연산자

다른 연산자와 대입 연산자가 결합한 것으로 자기 자신과 연산 후 연산 결과를 자기 자신에게 누적 대입

  • 합성의, 혼성의, 복합의 : Compound

 

 


삼항연산자

조건식이 참이면 식1을 반환하고 

조건식이 거짓이면 식2를 반환한다

삼항 연산자 안에 식1 또는 식2 위치에 삼항 연산자를 중첩하여 추가로 다시 넣을수도 있다


 

코딩 공부 및 연습 자료

논리부정연산자에 대한 코딩이다

 

전위, 후위 연산자에 대한 코딩이다

 

산술연산자에 대한 코딩이다

 

비교연산자에 대한 코딩이다

 

논리연산자에 대한 코딩이다
논리연산자에 대한 코딩이다

 

대입연산자에 대한 코딩이다

 

삼항연산자에 대한 코딩이다

 

'JAVA' 카테고리의 다른 글

[JAVA] 객체 OOP  (0) 2025.04.21
[JAVA] 배열(Array)  (0) 2025.04.18
[JAVA] 제어문  (0) 2025.04.16
[JAVA] 변수  (0) 2025.04.15
[JAVA] 프로그래밍 기초  (0) 2025.04.15