[Java] 상수 / 변수 / 기본데이터타입

2021. 1. 12. 19:12Dev.Program/Java & Spring

728x90

◎ 용어정리

1. 현재 배우는 언어 : 자바(JAVA)

2. 자바 개발을 위한 필수 프로그램 : JDK(Java Development Kit)

3. 운영체제 독립적이기 위한 자바의 특징(모토) : WORA(Write Once Run Anywhere)

4. 이클립스 실행 단축키 : Ctrl + F11

5. 프로그램 실행 시 프로그램이 적재되는 공간 : RAM

6. 프로그램이 설치되는 공간 : 보조기억장치

7. 프로그램 코드 작성, 번역, 실행 등 종합적인 기능을 하나로 묶어 제공하는 도구

   : IDE(Integrated Development Environment)

 

◎ 식별자 작성 규칙 # ID(IDentifier)

1. 중복불가

2. 대소문자 구분

3. 길이제한없음

4. 공백사용불가

5. 숫자로 시작 불가

6. 특수문자는 _(언더스코어)와 $(달러)만을 허용

7. 예약어(키워드) 사용불가

※ 권장사항

1. 의미있는 단어 사용

2. 클래스, 인터페이스 등은 첫글자 대문자, 변수, 메서드 등은 첫글자 소문자 사용

3. 두 단어 이상의 조합은 Camel-case 표기법 사용(두번째 단어부터 첫글자를 대문자로 표기)

4. 상수는 모두 대문자로 표기하며 단어와 단어 사이를 _(언더스코어)로 구분함

 

◎ 파일크기

Bit - Byte(=8Bit) - KB(Kilo) - MB(Mega) - GB(Giga) - TB(Tera) - PB(Peta) - EB(Exa) - ZB(Zeta) - YB(Yotta)

 

◎ 속도크기

ms(milli밀리) - μs(micro마이크로) - ns(nano나노) - ps(pico피코) - fs(femto펨토) - as(atto아토)

 

2진법 (0,1) : 컴퓨터가 사용하는 기본적인 진법

8진법 (0~7) : 잘 사용안함.

10진법 (0~9) : 우리가 일상적으로 사용하는 진법

16진법 (0~9,A~F) : 10~15까지는 알파벳 사용

 

< 상수(Constant) >

  • 변수의 반대 개념으로 항상 고정된 데이터(변하지 않는 데이터)
  • 실제 사용하는 데이터(상수)를 리터럴(Literal)이라고도 한다
  • ex) 정수형 리터럴 1, 실수형 리터럴 3.14 등

======== Ex.java 만들기

- syso 적고 Ctrl + Space ⇒ 자동완성

- true(화면에서 주황색) ⇒ 예약어 : 무조건 소문자로 써야됨. 대문자 TRUE는 예약어X

- Ctrl + N → Java 들어가면 Class 있음

- 체크확인

 

======== Ex2.java 만들기

p.54

< 변수(Variable) >

  • 자바에서 사용되는 데이터를 저장하는 메모리 공간
  • 한 번에 하나의 데이터만 저장 가능 언제든 다른 데이터로 대체될 수 있다(변할 수 있다)
  • 변수를 사용하기 위해서는 변수 선언이 먼저 진행되어야 함
  • 변수에 데이터를 저장하는 것을 변수 초기화라고 함

< 변수 선언 기본 문법 >

데이터타입 변수명;

⇒ 데이터타입 : 기본형 또는 참조형 타입명 명시 →  int double String ...

⇒ 변수명 : 식별자 작성 규칙에 따른 변수명 지정

< 변수 초기화 기본 문법 >

변수명 = 데이터(또는 변수명); 

⇒ 우변의 데이터를 좌변의 변수에 저장(대입, 초기화)

⇒ 한번에 하나의 데이터만 저장한다. A 저장 후 B를 저장하면 A는 사라지기 때문에 변수 초기화라고도 함.

 

int a를 주석처리하면 이렇게 오류(a에 밑줄)뜸.

컴퓨터가 나는 a라는 변수를 받은 적이 없다(김치통을 받은적이 없닼ㅋㅋ)- 라고 하는거.

 

a=1을 주석처리하면 이렇게 오류뜸. 초기화를 안 한 상태.

→ 김치통은 잇는데 김장을 한적이 없닼ㅋㅋㅋ

⇒ 변수를 사용하려면 선언과 초기화를 거쳐야함

 

< 변수 선언 및 초기화 동시 수행 문법 >

데이터타입 변수명 = 데이터;

동시 수행 할 경우 오류 날 일이 적어진다.

 

======== Ex3.java 만들기

책 p.59

< 기본 데이터타입(기본형, Primitive Type) >

  • 메모리의 효율적인 사용을 위해 사이즈별로 나누어놓음
  • 자바에서 기본적으로 사용하는 데이터타입 8가지
구분 1byte 2byte 4byte 8byte
논리형 boolean      
문자형   char    
정수형 byte short int long
실수형     float double


정수형 데이터타입 변수에 저장 가능한 정수 범위 : -2n ~ 2(n-1)-1

  • byte 타입 : -27  ~ 27-1 = -128 ~ 127 까지 표현 가능
  • short 타입 :  -215 ~ 215-1 = -32768 ~ 32767 까지 표현 가능
  • int 타입 : -231 ~ 231-1 = -21억 ~ 21억 까지 표현 가능
  • long 타입 :  -263 ~ 263-1 = -922경 ~ 922경 까지 표현 가능

 

책 p.60 (이거 두개는 외울 필요 없음 정수 타입 보다 큰 표현이 가능하단것만 알기)

 

실수형 데이터타입

  • float 타입(4Byte) : 약 ±1038 까지 표현 가능(long 보다 큰 정수 표현도 가능)
  • double 타입(8Byte) : 약 ±10308 까지 표현 가능

⇒ 결론! 실수형 데이터타입은 정수형 데이터타입보다 큰 타입으로 취급됨

 

오류 발생! byte 타입 변수에는 -128 ~ 127 까지의 정수만 저장 가능
쇼트 타입은 오류 안뜨고 정상적으로 들어감.
쇼트타입도 32768 오류

 

그 다음 int는 또 가능!
int 타입을 벗어났습니다. 오류뜸

i = 2147483648;
  • 정수 리터럴에 접미사가 없을 경우 int형 정수로 취급되며 최대 표현 가능한 숫자가 2147483647 까지이다! 따라서, 그 이상의 숫자를 표현하려면 접미사 L을 붙여서 long 타입을 사용해야한다!

 

L을 붙여야함. 근데 다시 오류가 뜬다! 잘 보면 나오는 메세지가 다름

  • int가 담을수없는 숫자를 담아서 문제가 생김 ⇒ long 타입으로 가야됨.

 

long 타입에서는 다시 오류가 안뜸.
L을 지우면 또 이런 오류 뜸.

  • 2147483647이 넘어가면 무조건 L을 붙여야함!

 

근데 접미사 L이 붙으면 int 타입으로 저장 가능한 숫자라하더라도 저장 불가!



728x90