이항 연산자
ex) 다음의 예를 통해 피연산자와 연산자 다시 알아봅시다.
2 + 1 , 2 -1, 2 * 3, 3 / 4
- 피연산자 : 2, 1, 3, 4
- 연산자(사칙연산) : +(더하기), - (뺄셈), *(곱셈), /(나눗셈)
- 위의 예처럼 피연산자가 2개인 연산자들을 “이항 연산자”라고 부릅니다.
- 이항 연산자는 산술 연산자, 복합 연산자, 관계 연산자, 논리 연산자로 구분됩니다.
각각의 연산자는 사용하는 의미에 따라 구분되며 별도로 결합 방향과 굳이 우선 순위는 처음에는 외울 필요는 없습니다.
산술 연산자
- 사칙 연산(덧셈, 뺄셈, 나눗셈, 곱셈, 나머지)을 구하는데, 사용하는 연산자입니다.
- 다음의 예를 통해 먼저 산술 연산자를 살펴 봅시다.
💻 예시 코드
class ArithOp{
public static void main(String[] args){
int num1 = 8, num2 = 4;
//산술 연산자를 사용해 연산과정을 진행
System.out.println("+ 연산자에 의한 결과 : "+ (num1 + num2));
System.out.println("- 연산자에 의한 결과 : "+ (num1 - num2));
System.out.println("* 연산자에 의한 결과 : "+ (num1 * num2));
System.out.println("/ 연산자에 의한 결과 : "+ (num1 / num2));
System.out.println("% 연산자에 의한 결과 : "+ (num1 % num2));
}
}
📸 출력 결과
+ 연산자에 의한 결과 : 12
- 연산자에 의한 결과 : 4
* 연산자에 의한 결과 : 32
/ 연산자에 의한 결과 : 2
% 연산자에 의한 결과 : 0
복합 대입 연산자
- 대입 연산자가 다른 연산자와 묶여서 정의된 형태의 연산자를 의미합니다.
- 실제로 프로그래밍을 하면서 편리하여 자주 사용됩니다.
- 아래의 코드를 통해 복합 대입연산자를 살펴봅시다.
💻 예시 코드
class ComAssignOp{
public static void main(String[] args){
int num1 = 7, num2 = 7;
num1 = num1 - 3; //num1의 값 = 4
num2 -= 3; //num2 - 3이므로 num2의 값 = 4
System.out.println("- 연산자에 의한 결과 : "+ num1);
System.out.println("-= 연산자에 의한 결과 : "+ num2);
}
}
📸 출력 결과
4
4
관계 연산자
- 두 개의 피연산자 사잉에서 크기 및 동등 관계를 비교하는 연산자입니다.
- 이에 "비교 연산자"라고 불립니다.
- 관계 연산자를 통해, 비교함으로써 참이면 true,거짓이면 false를 출력합니다.
- 아래의 예를 통해서 관계 연산자를 살펴봅시다.
💻 예시 코드
class RelationOp{
public static void main(String[] args){
System.out.println("4 >= 3 " + (4 >= 3 ) ) ;
System.out.println("4 <= 3 " + (4 <= 3 ) ) ;
System.out.println("8 == 8.0 " + (8 == 8.0 ) ) ;
System.out.println("8.0 != 8 " + (8.0 != 8 ) ) ;
}
}
📸 출력 결과
4 >= 3 : true
4 <= 3 : false
8 == 8.0 : true
8.0 != 8 : false
👩🏻🏫 설명
- 출력 결과를 살펴보면 8.0과 8이 같다(참: true)라고 출력하고 있습니다.
- 이는 자동형 변환을 통해 8(int형)이 8.0(double 형)으로 변환되어 비교되기 때문입니다.
논리 연산자
- 논리 연산자 또한 피연산자 두개를 비교하여 참(true), 거짓(false)를 판단하여 출력하는 연산자입니다.
연산자 | 예시 | 기능 |
&& | A&&B | A와 B 모두 참이면 참이다. |
|| | A || B | A 혹은 B 둘 중 하나만 참이면 참이다. A와 B 모두 거짓이여야지 거짓이다. |
! | ! B | B가 아니라면 참이고 B라면 거짓이다. |
- 컴퓨터에는 논리 연산자의 연산 결과를 나타낸 표를 가리켜 ‘진리표’라고 하는데 이를 먼저 보고 논리 연산자를 알아봅시다.
진리표1)
피연산자(A) | 피연산자(B) | 논리 연산자의 &&의 결과 |
A | B | A && B |
true | true | true |
true | false | false |
false | true | false |
false | false | false |
진리표2)
피연산자(A) | 피연산자(B) | 논리 연산자의 ||의 결과 |
A | B | A || B |
true | true | true |
true | true | true |
true | true | true |
false | false | false |
진리표3)
피연산자(B) | 논리 연산자의 !B의 결과 |
B | ! B |
true | false |
false | true |
- 다음의 코드를 통해 논리 연산자를 살펴봅시다.
💻 예시 코드
class LogicalOp{
public static void main(String[] args){
char ch1 = 'b', ch2 = 'B';
boolean result1, result2;
result1 = (ch1 > 'a') && (ch1 < 'z') ;
result2 = (ch2 < 'A') || (ch2 < 'Z') ;
System.out.println("&& 연산자에 의한 결과 : "+ result1);
System.out.println("|| 연산자에 의한 결과 : "+ result2);
System.out.println("! 연산자에 의한 결과 : "+ !result2);
}
}
📸 출력 결과
&& 연산자에 의한 결과 : true
|| 연산자에 의한 결과 : true
! 연산자에 의한 결과 : false
단항 연산자
- 앞서 살펴본 이항 연산자와 다르게 피연산자가 하나인 연산자인 단항 연산자라고 부릅니다.
- 단항 연산자는 부호 연산자, 증감 및 감소연산자(Prefix, Postfix)로 구성되어 있습니다.
1.부호 연산자
부호 연산자는 덧셈과 뺄셈을 의미하는 +,-를 의미합니다.
- +는 자연수를 의미하고 -는 음수를 의미합니다.
ex)
int n = 5; ( 자연수의 + 는 보통 생략됩니다.)
int n. = -5;
- 다음의 코드를 통해 부호 연산자를 살펴 봅시다.
💻 예시 코드
class UnaryAddMin{
public static void main(String[] args){
int number1 = 5;
int number2 = 7;
System.out.println(number1);
System.out.println(number2);
int number3 = - number1;//number3에 -5가 대입
int number4 = - number2; //number4에 -7이 대입
System.out.println(number3);
System.out.prinltn(number4);
}
}
📸 출력 결과
5
7
-5
-7
증감 및 감소 연산자(Prefix,Postfix)
- 증감 및 감소 연산자(prefix,postfix)는 변수에 저장된 값을 하나 증가 하거나 감소시키는 기능을 가진 연산자입니다.
- ++과 - - 로 구성되어 있으며 변수에 먼저 증감과 감소를 반영하는 Prefix와 Postfix로 구별 됩니다.
증감 연산자: Prefix ++ , —
연산자 | 예시 | 의미 |
++ | val = ++a; | 변수 val에 저장된 값(피연산자)의 값에 1을 증가하여 바로 반영 |
-- | val = --a; | 변수 val에 저장된 값(피연산자)의 값에 1을 감소하여 바로 반영 |
- 다음의 코드를 통해 증감 연산자 Prefix를 살펴 봅시다.
💻 예시 코드
class PrefixOp{
public static void main(String[] args){
int number = 9;
System.out.println(++number);
System.out.println(++number);
System.out.println(++number);
}
}
📸 출력 결과
10
11
12
증감 연산자: Post ++ , —
연산자 | 예시 | 의미 |
++ | val = a++; | 변수 val에 저장된 값(피연산자)의 값을 다음의 줄의 실행에 1 증가 반영 |
-- | val = a--; | 변수 val에 저장된 값(피연산자)의 값을 다음의 줄의 실행에 1 감소 반영 |
- 다음의 예를 통해 증감 연산자 Postfix를 살펴 봅시다.
💻 예시 코드
class PostfiOp{
public static void main(String[]args){
int numer = 10;
System.out.println((numer++) + " ");
System.out.println((numer++) + " ");
System.out.println((numer++) + " ");
System.out.println((numer--) + " ");
System.out.println((numer--) + " ");
System.out.println((numer--) + " ");
}
}
📸 출력 결과
10 11 12
12 11 10
📒 Reference (참고 자료)
- 윤성우의 열혈 자바
- TCP 스쿨 코딩교육 티씨피스쿨
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
'프로그래밍 언어 > Java 문법 - 기본문법' 카테고리의 다른 글
8.Java 기본문법(7) - 반복문 (1) | 2022.10.19 |
---|---|
7.Java 기본문법(6) - 조건문 (0) | 2022.10.18 |
5. Java 기본문법(4) - 형 변환 (0) | 2022.10.13 |
4. Java 기본문법(3) - 상수 (0) | 2022.10.13 |
3. Java 기본문법(2) - 기본 자료형 (0) | 2022.10.12 |