반응형

 

이번 포스팅 주제는 자바 연산자에 대해 알아보도록 할게요.

 

연산자 우선순위

종류

연산자

1

최우선 연산자

[ ], (), ....

2

단항 연산자

!, ~, +, -, ++, --, ..

3

산술 연산자

+, -, *, /, %

4

쉬프트 연산자

>>, <<, >>>

5

비교 연산자

<, >, >=, <=, ==, !=

6

논리 연산자

&&, ||, ^

7

삼항 연산자

(조건) ? 참 : 거짓

8

대입 연산자

=, +=, -=, *= 등(산술과 조합)

1. 산술 연산자

+, -, *, /, % : 사칙연산과 나머지 연산

% => 나머지 계산

ex) 10%3 = 1

package blog;

public class Example1 {
	
public static void main(String[] args) {
	
	int a = 10;
	int b = 3;
	
	System.out.println(a+b);
	System.out.println(a-b);
	System.out.println(a*b);
	System.out.println(a/b);
	System.out.println(a%b);
		
	}
}

출력 값

2. 단항 연산자

+, -, ++, --,!

1) 부호 연산자(+, -) :변수 앞에 붙어서 피연산자의 부호를 결정하거나 바꿔주는 연산자.

2) 증감 연산자(++, --) : 변수에 저장된 값을 1 증가시키거나 1 감소시키는 연산자

3) 논리 부정 연산자(!) : 참(true)을 거짓(False)으로, 거짓(False)을 참(true)으로 바꾸는 연산자.

package blog;

public class Example1 {
	
public static void main(String[] args) {
	
	int a = 10;
	boolean b = true;
	
	System.out.println(+a);
	System.out.println(-a);
	System.out.println(++a);
	System.out.println(--a);
	System.out.println(!b);

		
	}
}

출력 값

단항 연산자에서

(1) System.out.println(a++);

(2) System.out.println(++a);

의 차이점은

(1) a 값을 출력 후 ++ 연산

(2) a 값 ++연산 후 출력

즉,

++변수명 : 변수가 사용되기 전에 값 증가

변수명++ : 변수가 사용된 후 값 증가

--변수명 : 변수가 사용되기 전에 값 감소

변수명-- : 변수가 사용된 후 값 감소

3. 비교 연산자

참 또는 거짓으로 주로 반복문이나 조건문 같은 제어문에 사용된다.

종류

연산자

연산자 사용법

설명

같다

==

a == b

a와 b가 같으면 참

작다

<

a < b

a가 b보다 작으면 참

크다

>

a > b

a가 b보다 크면 참

작거나 같다

<=

a <= b

a가 b보다 작거나 같으면 참

크거나 같다

>=

a >= b

a가 b보다 크거나 같으면 참

같지 않다

!=

a != b

a와 b가 같지 않으면 참

1) 대소 비교 연산자(<, >, <=, >=)

2) 등가 비교 연산자(==,!=)

package blog;

public class Example1 {
	
public static void main(String[] args) {
	
	int a = 10;
	int b = 5;
	//대소비교연산자
	System.out.println(a < b);
	System.out.println(a > b);
	System.out.println(a <= b);
	System.out.println(a >= b);
    //등가비교 연산자
	System.out.println(a == b);
	System.out.println(a != b);
	}
}

출력 값

4. 논리 연산자

논리 연산자에는 AND(&&), OR(||), XOR(^) 연산자가 있으며

AND(&&) : 두 항 모두 참일 경우 참

OR(||) : 두 항 중 하나라도 참이면 참

XOR(^) : 두 항이 서로 다를 경우 참 같으면 거짓

종류

연산자

사용 예

설명

AND

&&

A && B

A, B 둘 다 참이면 참

OR

||

A || B

A, B 둘 중 하나면 참이면 참

NOT

!

!A

A가 참이면 거짓, 거짓이면 참

 

 

package blog;

public class Example1 {
	
public static void main(String[] args) {
	
	int a = 10;
	
	System.out.println(5 < a && a%2==0); //T
	System.out.println(15 < a && a%2==0); //F
	System.out.println(5 < a || a%2==0); //T
	System.out.println(15 < a || a%2==0); //T
	System.out.println(15 < a || a%2==1); //F
	System.out.println(15 < a ^ a%2==1); //F
	}
}

출력 값

5. 비트 연산자 & 쉬프트 연산

비트 연산자는 연산하는 값을 이진수로 표현했을 때 규칙에 따라 알맞은 결과를 반환합니다.

종류

연산자

사용방법

설명

비트 AND

&

A & B

둘 다 1이면 1로

비트 OR

|

A | B

둘 중 하나라도 1이면 1로

비트 XOR

^

A ^ B

서로 다를 때 1로

비트 NOT

~

~A

비트 반전

LEFT SHIFT

<<

A << 2

왼쪽으로 숫자만큼 밀기(빈 공간 0으로 채움)

RIGHT SHIFT

>>

A >> 2

오른쪽으로 숫자만큼 밀기(빈 공간은 부호값으로 채움)

논리 RIGHT SHIFT

>>>

A >>> 2

오른쪽으로 숫자만큼 밀기(빈공간은 0으로 채움)

2진수 => 10진수

1111 = 15

0101 = 5

조건 = 2진수 = 10진수

A | B = 1111 = 15

A & B = 0101 = 5

A ^ B = 1010 = 10

~B = 1010 = -6 // 2의 보수법 개념 정리 필요

A>>2 = 0011 = 3

A<<2 = 11 1100 = 60

B>>>2 = 0001 = 1

package blog;

public class Example1 {
	
public static void main(String[] args) {
	
	int a = 15;
	int b = 5;
	
	System.out.println(a|b); 
	System.out.println(a&b); 
	System.out.println(a^b); 
	System.out.println(~b); 
	System.out.println(a>>2); 
	System.out.println(a<<2); 
	System.out.println(b>>>2);  

	}
}

출력 값

6. 삼항 연산자

<형식>

조건 ? 항목1 : 항목2

조건이 참일 경우 항목1 실행

조건의 거짓일 경우 항목 2 실행

package day5;

import java.util.Scanner;

public class Quiz {
public static void main(String[] args) {
	
	String q = "Q. 다음 중 프로그래밍 언어가 아닌것은?\n"
			+ "1. 자바\n"
			+ "2. 파이썬\n"
			+ "3. C언어\n"
			+ "4. 망둥어";
	
	Scanner sc = new Scanner(System.in);
	int choice = 0; // 변수 초기화
	int answer = 4; // 실제 정답
	String result = "";
	
	System.out.println(q);
	choice = sc.nextInt(); // 답 받음
	
	result = choice == answer ? "정답입니다." : "오답입니다." //정답 판별
	System.out.println(result);
	
	
	}
}

출력 값

choice == answer ? "정답입니다." : "오답입니다."

실제 정답은 4번이고 스캐너를 통해 choice의 값이 4일 경우 "정답입니다."

아닐 경우 "오답입니다."를 출력한다.

7. 대입 연산자

연산자

풀어쓴 형식

=

A =1

A =1

+=

A += 2

A = A + 2

-=

A -= 3

A = A - 3

*=

A *= 7

A = A * 7

/=

A /= 3

A = A / 3

%=

A %= 5

A = A % 5

반응형

+ Recent posts