본문 바로가기
JAVA

JAVA (연산자)

by 글로리. 2020. 5. 28.

01. 대입 연산자(=)

  • 변수에 값이나 다른 연산 결과를 대입하기 위해 사용

  • 항상 우변이 좌변에 대입됨.

public class Swap {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;

        // 교환
        int c = a;
        a = b;
        b = c;
        System.out.println("a=" + a + ", b=" + b);
    }
}

// 결과
a=2, b=1

02. 사칙 연산자(산술 연산자) : 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/,%)

1) 연산의 결과 - 연산 결과는 다른 변수에 대입하거나 직접 출력 가능.

// 변수 간 연산결과 다른변수에 대입
int num1 = 100;
int num2 = 200;
int result = num1 + num2;

// 연산결과 'result'변수에 대입
System.out.println(result);

// 결과 
300

// 변수 간 연산결과 직접 출력
int num1 = 100;
int num2 = 200;
System.out.println(num1 - num2);

// 결과
-100

// 숫자 간의 연산결과 직접 출력
System.out.println(100 * 2)

// 결과
200

2) 나눗셈

// '/' 연산자 : 나눗셈의 몫을 반환(나머지 버림)
int a = 7;
int b = 3;
System.out.println(a / b);  

// 결과
2

// '%' 연산자 : 나머지반환
int a = 7;
int b = 3;
System.out.println(a % b);

// 결과
1

03. 문자열의 연산

1) 문자열 덧셈 : 문자열간에는 덧셈만 가능.

String a = "Hello";
String b = "World";
System.out.println(a + b);

// 결과
HelloWorld

2) 공백을 포함한 연산 : 공백 문자열(띄어쓰기)도 하나의 글자로 취급.

String a = "Hello";
String b = "World";
String c = " ";                // 띄어쓰기 한 칸
System.out.println(a + c + b);  

// 결과
Hello World

3) 빈 문자열 : 아무런 글자도 포함하지 않는 문자열, 큰따옴표를 열고 즉시 닫음

String a = ""; 
System.out.println(a); 

// 결과 

4) 문자열과 다른 데이터 타입간의 덧셈

  • 문자열과 연산 되는 모든 데이터 타입을 문자열로 변환시킨다
int number = 100;
String message = "HelloJava";

// "HelloJava" + 100 --> "HelloJava" + "100"으로 변환됨
System.out.println(message + number); 

// 결과
HelloJava100

03. 단항 연산자

1) 단항 연산자의 이해

/*
nt x = 1;
x = x + 2;
System.out.println(x);
*/

// 위 식을 축약해서 표현한 형태가 단항연산자
int x = 1;
x += 2;

// 결과
3

2) 단항 연산자의 종류 : 덧셈(+=), 뺄셈(-=), 곱셈(*=), 나눗셈(/=, %=)

// 덧셈
int a = 1;
a += 10;
System.out.println(a);

// 결과
11

==========================
// 뺄셈
int b = 10;
b -= 5;
System.out.println(b);

// 결과
5

==========================
// 곱셈
int c = 5;
c *= 2;
System.out.println(c);

// 결과
10

==========================
// 나눗셈(몫)
int d = 100;
d /= 2;
System.out.println(d);

// 결과
50

==========================
// 나눗셈(나머지)
int e = 5;
e %= 2;
System.out.println(e);

//결과
1

04. 증감 연산자(++,--)

1) 표현방법

// k스스로 1을 더함
int k = 100;
k++;

// 결과 
101 

int k = 100;
++k;

// 결과
101

=======================
// k스스로 1을 뺌
int k = 100;
k--; 

// 결과 
99 

int k = 100;
--k;

// 결과 
99 

2) 증감 연산자의 위치에 따른 차이

  • 전위 증감연산자 : ++, --가 앞에 적용된 경우
int x = 1;
int y = 100 + ++x;   // x가 먼저 1증가후 100을 더해 계산
System.out.println("x=" + x);
System.out.println("y=" + y);

// 결과
x=2
y=102

int x = 1;
int y = 100 + --x;   // x가 먼저 1감소후 100을 더해 계산
System.out.println("x=" + x);
System.out.println("y=" + y);

// 결과
x=0
y=100
  • 후위 증감연산자: ++, --가 뒤에 적용된 경우
int x = 1;  
int y = 100 + x++; // 100을 더해 계산후 x스스로 1증가  
System.out.println("x=" + x);  
System.out.println("y=" + y);

// 결과  
x=2  
y=101

int x = 1;  
int y = 100 + x--; // 100을 더해 계산후 x스스로 1  
System.out.println("x=" + x);  
System.out.println("y=" + y);

// 결과  
x=0  
y=101

05. 비교 연산자

1) 비교 연산자의 종류

연산자 의미
== 같다
!= 다르다
< 작다(미만)
<= 작거나 같다(이하)
> 크다(초과)
>= 크거나 같다(이상)

2) 비교 연산자의 결과


int x = 1;  
int y = 2;

// 결과값을 다른 변수에 저장 후 출력하는 경우  
boolean a = x == y; // false  
boolean b = x != y; // true  
System.out.println(a); // true  
System.out.println(b); // true

// 직접 출력하는 경우  
System.out.println(x < y); // true  
System.out.println(x <= y); // true  
System.out.println(x > y); // false  
System.out.println(x >= y); // false

06. 논리 연산자 : AND(&&), OR( || )

1) 논리 연산자의 결과값


// AND(&&) : 하나라도 false이면 false  
boolean a = true && true; // true  
boolean b = true && false; // false  
boolean c = false && true; // false  
boolean d = false && false; // false

// OR(||) : 하나라도 true이면 true  
boolean a = true || true; // true  
boolean b = true || false; // true  
boolean c = false || true; // true  
boolean d = false || false; // false

2) 비교식과의 연계


int x = 10;  
int y = 20;  
int z = 30;

boolean a = x < y && y > z; // true && false --> false  
boolean b = x >= y && x < z; // false && true --> false  
boolean c = z > y && z > x; // true && true --> true

boolean d = x < y || y > z; // true || false --> true  
boolean e = x >= y || x < z; // false || true --> true  
boolean f = z > y || z > x; // true || true --> true

3) NOT 연산 (!)


boolean a = !true; // false  
boolean b = !false; // true;  
boolean c = !a; // true;  
boolean d = !b; // false;  
boolean e = !!true; // true의 반대의 반대값 --> true;

07. 삼항 연산자

- 연산 방법 : (조건식) ? (참일 때 값) : (거짓일 때 값)


int a = 10;  
int b = 5;  
int c = a > b ? 1 : 2; // a > b가 참이므로 c에 1이 대입된다.

08. 연산자 우선순위

순위 연산자 설명
1 () 괄호
2 !, ++, -- 부정, 증감연산자
3 *, /, % 곱셈, 나눗셈
4 +, - 덧셈, 뺄셈
5 <, <=, >, >= 크기를 비교하기 위한 비교연산자
6 ==, != 같음을 비교하는 비교연산자
7 && AND를 위한 논리연산자
8    
9 =, +=, -=, *=, /=, %= 대입, 단항 연산자

'JAVA' 카테고리의 다른 글

JAVA(기본문법 활용)  (0) 2020.06.01
JAVA (조건문, 반복문)  (0) 2020.06.01
JAVA (기본_입출력)  (0) 2020.06.01
JAVA(에러 모음)  (0) 2020.05.29
JAVA(변수)  (0) 2020.05.28

댓글