본문 바로가기
  • Coding & Book
학습단/JAVA 학습단

3. 혼공자 3일차(연산자 + 연산식)

by 루이3 2023. 7. 5.

3일차

 

1. 연산자와 연산식

-연산에 사용하는(+ , - 등) 기호나 표시들을 연산자라고 합니다.

-연산자에 의해 연산되어지는 데이터들을 피연산자라고 합니다.

---연산자의 종류---


산술 연산자(+, -, *, /, %)
증감 연산자(++, +-)
비교 연산자(>, <, <=, >=, ==, !=)
논리연산자(&&, ||, &, |, ^, !)
조건연산자(?, :)

 

& 우선순위

- 어느 연산이 먼저 처리되는지를 알 수 있습니다. 

- 연산이 복잡한 경우 괄호를 이용하여 우선순위를 정할수 있습니다.

 

---우선순위---


조건 연산자 < 논리 연산자 < 비교 연산자 < 산술 연산자 < 증감 연산자

 

 

 

2. 연산자의 종류

- 단항 , 이항, 삼항 연산자로 구분이 됩니다.(피연산자의 개수에 따라 분류가 됩니다.) 

 

 

& 단항 연산자

- 피연산자가 하나입니다.

- 부호를 나타내는 연산자(+, -) ,증감연산자(++,--), 논리 부정연산자(!) 가 있습니다.

 

TIP)  num++ 과 ++num 차이

num++는 연산을 하고 num 값을 증가시킵니다.

++num은 num 값을 증가시키고 연산을 하는것입니다.

 

package sec03.exam01;

public class OperatorExample {

	public static void main(String[] args) {
		int num = 100;
		int result1 = +num;
		int result2 = -num;
		System.out.println(result1 + "\n");
		System.out.println(result2 + "\n");
		
		num++;
		num--;
		++num;
		System.out.println(num);
		

	}

}

결과

 

 

& 이항 연산자

- 피연산자가 두개입니다.

- 산술 연산자, 비교연산자, 논리연산자, 대입연산자(+=,-=,*=,&=) 등이 있습니다.

 

- char 타입 산술연산(리터럴 문자 간의 연산입니다.)

package sec03.exam01;

public class CharOperationExample {

	public static void main(String[] args) {
		char c1 = 'D' + 1;
		char c2 = 'A';
		System.out.println(c1);
		System.out.println(c2);

	}

}

결과

 

 

 

- 문자열 결합연산

package sec03;

public class StringConcatExample {

	public static void main(String[] args) {
		String str1 = "혼공학습단" + "10기";
		String str2 = str1 + " Java";
		System.out.println(str2);

	}

}

결과

 

 

 

 

- 비교 연산

> 왼쪽이 오른쪽보다 크면 참 아니면 거짓.
< 왼쪽이 오른쪽보다 작으면 참 아니면 거짓.
>= 왼쪽이 오른쪽보다 크거나 같으면 참 아니면 거짓.
<= 왼쪽이 오른쪽보다 작거나 같으면 참 아니면 거짓.
== 왼쪽과 오른쪽이 값이 같으면 참 아니면 거짓.
!= 왼쪽과 오른쪽이 다를경우 참 아니면 거짓.

 

package sec03.exam01;

public class CompareOperatorExample {

	public static void main(String[] args) {
		int x = 10;
		int y = 10;
		boolean result1 = (x == y);
		System.out.println(result1);
		
		boolean result2 = (x >= y);
		System.out.println(result2);
		
		boolean result3 = (x != y);
		System.out.println(result3);

	}

}

결과

 

 

 

- 논리 연산

AND( && 또는 & ) 왼쪽과 오른쪽이 모두 참이면 참이다.
OR( || 또는| ) 왼쪽과 오른쪽 하나라도 참이면 참이다.
XOR( ^ ) 한쪽은 참 다른쪽은 거짓일경우면 참이다.
not( ! ) 값이 참이면 거짓 ,거짓이면 참이다.
package sec03.exam01;

public class LogicalOperatorExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int x = 10;
		int y = 20;
		if((x == 10) && (y == 20)) {
			System.out.println("(x == 10) && (y == 20) 구문은 맞습니다.");
		}
		
		if((x == 10) || (y == 10)) {
			System.out.println("(x == 10) || (y == 10) 구문은 맞습니다.");
		}
	}

}

결과

 

& 삼항 연산자

- 피연산자가 세개입니다.

- (조건문) ? 참: 거짓 문법을 사용합니다.

package sec03.exam01;

public class ConditionalOperationExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int score = 80;
		char grade = (score > 90) ? 'A' : ((score >80) ? 'b':'c');
		System.out.println(score + "점수는" + grade + "등급입니다.");
	}

}

결과