산술 연산자(2)

2021. 1. 2. 10:09·자바/기본적인 개념

- 예제(1)

(이 예제를 보면, 당연히 제대로 된 값이 나와야 된다.)

(그러나 마이너스 값이 나오게 되었다. 그러한 이유는 int * int = int가 나오기 때문이다.)

(즉, int는 2x10^9까지만 저장이 되지만, 위의 결과 값은 오버플로우가 되어버린다.)

(그래서 우리는 a나 b 앞에 L이나 (long)을 명시적으로 적어줘야 한다.)

 

 

- 예제(2)

(이 예제는 연산 순서에 의미가 있다.)

(즉, 먼저 연산하는 곱하기 또는 나누기에 따라 int 범위에 넘어가는지 안 넘어가는지 체크를 해야한다.)

 

 

- 예제(3)

(이 예제에서는 char도 연산을 수행할 때, 정수형 값이 나오게 된다.)

(대신 b-a를 통해 char를 얻을려면 형변환을 명시적으로 해주어야 한다.)

(또한 아래의 예제(4)의 변수 c2 또는 c3처럼 해도 된다.)

 

 

- 예제(4) - 중요 ✔✔✔✔✔

( c2에서는 컴파일이 잘 되지만 c4에서는 컴파일 에러가 나온다. )

( 그 이유는 바로 'a' + 1은 리터럴 간의 연산이기 때문이다. )

( 즉, 컴파일러는 이 연산을 "미리 계산" 하여 상수로 저장하기 때문에 이 c2에서의 덧셈은 수행하지 않는다. )

( 그래서 형변환 명시 에러가 없었던 것이다. )

 

( 그러나, c4는 다르다. )

( 그 이유는 바로 c1변수를 사용한 연산은 리터럴 연산이 아니므로 미리 계산할 수 없다. )

 

 

 

- 예제(5)

( 두 변수의 값이 다른 이유는 반올림 유무 때문이다. )

( 즉, shortpi1은 float -> int로 변환되기 때문에 반올림 되지 않는다. )

( 그러나 shortpi2는 Math.round() 함수가 직접적으로 반올림을 해주기 때문에 가능하다. )

'자바 > 기본적인 개념' 카테고리의 다른 글

쉬프트 연산자  (0) 2021.01.02
등가 비교 연산  (0) 2021.01.02
산술 연산자(1)  (0) 2021.01.01
연산자의 우선순위와 결합 규칙  (0) 2021.01.01
자동 형변환  (0) 2021.01.01
'자바/기본적인 개념' 카테고리의 다른 글
  • 쉬프트 연산자
  • 등가 비교 연산
  • 산술 연산자(1)
  • 연산자의 우선순위와 결합 규칙
백_곰
백_곰
  • 백_곰
    친절한 코딩
    백_곰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘 (with JAVA)
        • 기본 알고리즘
        • 완전 탐색
        • 분할 정복 알고리즘
        • 동적 계획법
        • 탐욕법
        • 코딩 테스트 기출 문제
        • 코드트리 조별과제
      • 백준 (with JAVA)
        • 완전 탐색
        • 분할 정복
        • 그 외
      • 자바
        • 개발 환경 구축하기
        • 팁
        • 기본적인 개념
        • 컬렉션 프레임워크
        • 프로세스와 쓰레드
        • 지네릭스
        • 람다식
        • 스트림
        • 입출력 IO
        • 네트워킹
        • 열거형(enums)
        • java.lang 패키지
        • java.time 패키지
        • 유용한 클래스들
        • 형식화 클래스들
      • 안드로이드 with 자바
        • 응용 문제들
        • 자잘한 문제들
        • 오류 보고서
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      snail
      java.lang패키지
      ServerSocket
      스트림
      소켓 프로그래밍
      중간연산
      다형성
      TCP 소켓 프로그래밍
      java.time 패키지
      serializable
      outputstream
      코딩트리조별과제
      제자리 정렬
      불안정 정렬
      람다식
      file
      코드트리
      선택 정렬
      Arrays
      알고스팟
      자바 개념
      유용한 클래스
      역직렬화
      InputStream
      map()
      Collections Framework
      코딩테스트
      안드로이드 스튜디오
      안정 정렬
      문자 기반 스트림
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    백_곰
    산술 연산자(2)
    상단으로

    티스토리툴바