2swan

변수와 자료(2) 본문

Programming/Java

변수와 자료(2)

2swan 2022. 3. 1. 22:03

● 변수

  •  프로그램에서 사용되는 자료를 저장하기 위한 공간
  • 할당받은 메모리의 주소 대신 부르는 이름
  • 프로그램 실행 중에 값 변경 가능
  • 사용되기 이전에 선언되어야 한다.
  • varialbe이라고 한다

● 변수의 선언과 초기화

int num;         //num 이름의 변수 선언

int num = 0;   //num 변수 선언과 동시에 0으로 초기화

 

int의 역할 : number 변수의 데이터 타입을 정의

int의 의미 : number는 정수이며 4바이트 메모리 공간을 사용한다.

 

 

● 변수 선언 시 유의점

  • 변수의 이름은 알파벳, 숫자, _, $로 구성된다.
  • 대소문자를 구분한다
  • 변수의 이름은 숫자로 시작할 수 없고, 키워드도 변수의 이름으로 사용할 수 없다.
  • 이름 사이에 공백이 있을 수 없다.

변수의 이름을 정할 때는 변수의 역할에 어울리는, 의미 있는 이름을 지어야 한다.

 

 

  정수형 문자형 실수형 논리형
1바이트 byte     boolean
2바이트 short char    
4바이트 int   float  
8바이트 long   double  

변수가 사용할 공간의 크기와 특성에 따라 자료형을 사용하여 변수를 선언한다.

ex) int num;

 

● int

  • 자바에서 사용하는 정수에 대한 기본 자료 형
  • 4바이트 단위의 자료 형
  • 프로그램에서 사용하는 모든 숫자(리터럴)는 기본적으로 int(4바이트)로 저장된다
  • 32 비트를 초과하는 숫자는 long 형으로 처리해야 한다

● long

  • 8바이트 자료형
  • 가장 큰 정수 자료 형
  • 숫자의 뒤에 L 또는 l 을 사용해서 long 형임을 표시해야 한다

ex) int num =123123123123;       // 오류!! int의 범위 넘은 값

     long num = 123123123123;   // 오류!!

     숫자(리터럴) 123123123123은 기본형이 int인데 int의 범위가 넘는 수

 =>숫자(리터럴) 123123123123을 long으로 처리하도록 명시

     long num = 123123123123L;      // 1과 구분하기 위해서 되도록 대문자 L 사용

 

● char(문자 자료형)

  • 컴퓨터에서는 문자도 내부적으로는 비트의 조합으로 표현
  • 자바에서는 문자를 2 바이트로 처리
  • 인코딩 : 각 문자에 따른 특정한 숫자 값(코드 값)을 부여
  • 디코딩 : 숫자 값을 원래의 문자로 변환

 

● 문자 세트

  • 문자 세트 : 문자를 위한 코드 값(숫자 값)들을 정해 놓은 세트
  • 아스키(ASCII) : 1바이트로 영문자, 숫자, 특수문자 등을 표현한다.
  • 유니코드(Unicode) : 한글과 같은 복잡한 언어를 표현하기 위한 표준 인코딩 UTF-8, UTF-16 이 대표적
  • 문자를 변수에 저장하면 문자에 해당하는 코드 값이 저장됨
  • 자바는 유니코드 UTF-16 인코딩 사용한다.

 

● float, double(실수 자료형)

  • 실수는 기본적으로 long으로 처리한다
  • float 형으로 사용하는 경우에 숫자에 f, F 를 명시한다.

 

● 자료형 없이 변수 사용하기 (자바 10)

  • 자료형이 필요한 이유 : 변수를 선언 할 때는 변수가 사용할 메모리 크기와 타입을 구분하기 위해 자료형을 사용
  • 지역 변수 자료형 추론(local variable type inference) : 변수에 대입되는 값을 보고 컴파일러가 추론
var num = 10;                       int num = 10;
var dNum = 10,0;        →      double dNum = 10.0;                      
var str = "Hello";                   String str = "Hello"                         

 

'Programming > Java' 카테고리의 다른 글

연산자(1)  (0) 2022.03.03
변수와 자료(3)  (0) 2022.03.03
변수와 자료(1)  (0) 2022.03.01
반복문  (0) 2022.02.27
switch 구문  (0) 2022.02.27