큐범
Just do debug
큐범
전체 방문자
오늘
어제
  • 전체보기 (128)
    • 회고 (4)
    • JAVA (16)
      • JAVA 기초 (18)
      • JAVA Algorithm, Datastruct (13)
    • Spring (11)
    • Micro Service Architecture (3)
    • JPA (6)
    • gRPC (4)
    • Network (8)
    • Process (7)
    • Cloud (4)
    • Python (10)
    • Web(vue) (2)
    • UMC (1)
    • DB (9)
    • CS (1)
    • Clean Code (1)
    • TDD (9)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
큐범

Just do debug

JAVA/JAVA 기초

[JAVA 기초]연산자(operator)

2021. 7. 8. 17:12

연산자가 연산을 수행하려면 반드시 연산의 대상이 있어야한다. 이것을 '피연산자(operand)'라 일컫는다. 피연산자로 상수, 변수, 식 등을 사용할 수 있다.

연산자(operator) 연산을 수행하는 기호(+,-,*,)

피연산자(operand) 연산자의 작업 대상(변수, 상수, 리터럴, 수식)

 

연산자의 우선순위

  1. 산술 → 비교 → 논리 → 대입. 나열한 순서대로 우선순위가 정해진다.
  1. 단항(1) → 이항(2) → 삼항(3) 단항 연산자의 우선순위가 이항 연산자보다 높다.
  1. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.

산술 변환

이항 연산자는 두 피 연산자의 타입을 일치시켜야한다. 작은 타입을 큰 타입으로 변환시키는 것이 옳다. 그 이유는 값손실이 가능성이 존재하기 때문에 타입을 일치시킬 필요가 있다.

ex)

int i = 10;

float f = 20.0f;

float result = f + (float) i ;

public static void main(String[] args) {
		char a = 'a';
		char d = 'd';
		char zero = '0';
		char two = '2';
		
		System.out.printf(" '%c' - '%c' = %d%n", d, a, d-a);
		System.out.printf(" '%c' - '%c' = %d%n", two, zero, two-zero);
		System.out.printf(" '%c' = %d%n", a, (int)a);
		System.out.printf(" '%c' = %d%n", d, (int)d);
		System.out.printf(" '%c' = %d%n", zero, (int)zero);
		System.out.printf(" '%c' = %d%n", two, (int)two);
	}
//결과 
'd' - 'a' = 3
'2' - '0' = 2
'a' = 97
'd' = 100
'0' = 48
'2' = 50

 

산술변환 개념정리

  1. 두 연산자의 타입을 같게 일치시킨다. (작은 타입에서 큰 타입으로)
  1. 피연산자의 타입이 int보다 작을 경우 int로 통일 (ex byte, short)

단항연산자

증감 연산자 (++ --)

증가 연산자(++) 피연산자의 값을 1 증가시킨다.

감소 연산자(--) 피연산자의 값을 1 감소시킨다.

피연산자의 왼쪽에 위치 = 전위형(prefix)

피연산자의 오른쪽에 위치 = 후위형(postfix)

부호 연산자 (+ -)

부호 연산자는 -는 피연산자의 부호를 반대로 변경한 결과를 반환한다.

int i=-10; i=-i;

// i=10

public static void main(String[] args) {
		char c = 'a';
	//a ~ z 출력
		for(int i = 0; i<26; i++) {
			System.out.print(c++);
		}
		System.out.println();
		
		c= 'A';
	//A ~ Z 출력
		for(int i =0; i<26; i++) {
			System.out.print(c++);
		}
		System.out.println();
		
		c='0';
	//0부터 9 출력
		for(int i = 0; i<10; i++) {
			System.out.print(c++);
		}
	}
//결과
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789

 

 

출처 : JAVA의 정석 - (남궁성지음)

    'JAVA/JAVA 기초' 카테고리의 다른 글
    • [JAVA 기초]비교 연산자
    • [JAVA 기초]산술 연산자
    • [JAVA 기초]형변환(casting)
    • [JAVA 기초]기본형(primitive type)
    큐범
    큐범

    티스토리툴바