[Java] 2주차 복습 - Chap03, 04

2022. 1. 3. 19:47·Java

이왕 시작한 김에 2주차까지만.. 끝내고 가자!

Chap 03. 상수와 형 변환

03-1 상수(constant)

▶자바에서 말하는 '상수'

- 변수에 값을 딱 한번만 할당할 수 있ㅇ면 그것은 상수!

- 한 번 할당된 값은 변경이 불가능하다.

- 키워드 final선언이 붙어있는 변수

 

▶final 기반의 상수 선언의 예

- 상수의 이름은 모두 대문자로 짓는 것이 관례(하나의 메소드 안에서만 사용하는 지역변수와 달리, 상수는 중복하여 사용할 경우에 문제가 발생하므로 대문자로 작성하는 것이 관례로 굳어짐)

- 이름이 둘 이상의 단어로 이뤄질 경우 단어를 언더바로 연결하는 것이 관례(스네이크형)

MAX_SIZE는 final로 선언되었기 때문에, 더이상 값을 바꿀 수 없다. (변수가 아닌 상수)
final 상수 선언의 예

final int CONST_ASSIGNED;
CONST_ASSIGNED = 12; 
할당 하지 않았던 상수를 나중에 할당하는 방법도 있다!

 

 03-2 리터럴(Literals) 에 대한 이해

더보기
더보기

리터럴

- 자료형을 기반으로 표현이 되는 상수를 의미한다.

 ex) int num1 = 5 + 7;

 ex) double 

▶정수형은 'int'형이 디폴트, 실수형은 'double'형이 디폴트

(정수는 무조건 int형으로, 실수형은 double형으로 인식하기로 약속되어있음. 따라서, 5와 7은 '정수형 리터럴'이며 3.3과 4.5는 '실수형 리터럴'이다.)

▶'리터럴'이라는 표현은 '상수'라는 표현으로 대신하는 경우가 많다.

 

정수형 상수(리터럴)의 표현 방법

정수형은 10진수, 8진수, 16진수를 입력해도 모두 int형으로 인식되기 때문에, 011+ 022 + 033의 결과가 066이 아니라 54이다( 8x1+1=9, 8x2+2=18, 8x3+3=27 / 8진수가 10진수로 변환되어 계산된다).

16진수인 0x11+0x22+0x33의 결과도 마찬가지로 int형으로 변환된 후 계산된다.

 

long형 상수(리터럴)의 표현 방법

integer는 4byte 크기만큼의 데이터를 표현할 수 있기 때문에, 그 범위(-2100000000~2100000000)가 넘어가면 integer로 표현이 불가능하며 오류가 발생한다. 따라서 long형(8byte)으로 표현해야 해당 오류를 피할 수 있다.

 

실수형리터럴도 마찬가지로, 실수는 기본 double형임을 명시하기 위해 d또는 D를 삽입가능하며, 실수형 상수를 float형으로 표현하려면 f또는 F를 삽입한다.  

 

이스케이프 시퀀스로, 화면상의 어떠한 상황 또는 상태를 표현하기 위해 약속된 문자.

 

이스케이프 시퀀스의 예

+) '\ㅜ'은 캐리지 리턴이기 때문에, 맨 앞자리인 A의 자리로 온 뒤, C로 바뀐다. 

 

03-3 형변환

int형(4byte)와 long형(8byte)를 계산한다면, 데이터손실을 방지하기 위해 int형을 long형으로 형변환 시킨 후에 계산된다.

  • 두 피연산자의 자료형이 일치해야 동일한 방법을 적용하여 연산을 진행할 수 있다.
  • 피연산자의 자료형이 일치하지 않을 때 형(Type)의 변환을 통해 일치를 시켜야한다.

차례대로 1byte→ 2byte→ 4byte→ 8byte(정수)→ 4byte(실수)→ 8byte(실수)

ex3의 경우, 정수형의 default형은 int형이기 때문에 short형 변수 num3에 저장하기 위해서는 명시적 형변환이 필요하다.


 

Chap 04. 연산자

연산자는 기존 파이썬, c, c++로 많이 단련되었기 때문에,,, 기본적인 부분과 헷갈리는 부분들만 짚고 넘어감

04-1 자바에서 제공하는 이항 연산자들

자바의 연산자들간의 우선순위

04-2 증가 감소 연산자

prefix와 postfix (증가 감소 연산자)

(1) Prefix 증가 감소 연산자 예제

int num = 7;
System.out.println(++num);	//num의 값 하나 증가 후 출력, 8
System.out.println(++num);	//num의 값 하나 증가 후 출력, 9
System.out.println(num);	//9

 

(2) Postfix 증가 감소 연산자 예제

int num = 5;
System.out.println((num++) + " ");	//출력 후에 값이 증가, 5출력
System.out.println((num++) + " ");	//출력 후에 값이 증가, 6출력
System.out.println((num + "\n");	//7출력

System.out.println((num--) + " ");	//출력 후에 값이 감소, 7출력
System.out.println((num--) + " ");	//출력 후에 값이 감소, 6출력
System.out.println((num + "\n");	//5출력

04-3 비트 연산자와 시프트 연산자

비트연산자 

 

 

<<은 값의 2배 증가, >>은 값을 2로 나눈 결과로 이어진다.

헤헤 연말에 약속이 많아서 잠깐 쉬다가 이제 다시 시작!

'Java' 카테고리의 다른 글

[Java] 6주차 복습 - chap 12, 13  (2) 2022.01.21
[Java] 5주차 복습 - Chap 10, 11  (0) 2022.01.13
[Java] 4주차 복습 - Chap 07, 08, 09  (0) 2022.01.06
[Java] 3주차 복습 - Chap 05, 06  (3) 2022.01.04
[Java] 1주차 복습 - Chap01, 02  (2) 2021.12.29
'Java' 카테고리의 다른 글
  • [Java] 5주차 복습 - Chap 10, 11
  • [Java] 4주차 복습 - Chap 07, 08, 09
  • [Java] 3주차 복습 - Chap 05, 06
  • [Java] 1주차 복습 - Chap01, 02
공부하는 나무꾼
공부하는 나무꾼
  • 공부하는 나무꾼
    헤맨 만큼 내 땅이다
    공부하는 나무꾼
  • 전체
    오늘
    어제
  • 글쓰기/관리
    • 분류 전체보기
      • AWS
      • SAA-C03
      • 네트워크 보안
      • 최신정보보안이론
      • 컴퓨터네트워크
      • OpenFaaS
      • C++
      • Java
      • HTML, CSS
      • 자료구조
      • 알고리즘
      • 정보보안인재양성
      • [MAC]트러블슈팅&Tip
      • 공부
      • Web(Django)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    web application server
    cloud
    WAS
    웹서버
    AWS
    웹클라이언트
    자격증
    java #자바 #객체지향프로그래밍 #복습
    aws-c03
    등록번호
    클라우드
    SAA-C03
    Web Server
    웹애플리케이션서버
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
공부하는 나무꾼
[Java] 2주차 복습 - Chap03, 04
상단으로

티스토리툴바