본문 바로가기

JAVA

[JAVA] 기초문법 - 변수와 자료형(2)

변수:변하는 값

프로그래밍에서 값(data)을 사용하기 위해 선언하는 것입니다.

변수: 프로그램에서 사용되는 자료를 저장하기 위한 공간.

할당 받은 메모리의 주소 대신 부르는 이름.

프로그램 실행 중에 값 변경 가능.

사용되기 이전에 선언되어야 함.

variable이라 함.

ex)

int num;//int는 자료형 num은 변수 이름

num=10; //대입(초기화)

int level=20;//선언과 동시에 초기화 가능

변수 선언 시 유의점

변수의 이름은 알파벳,숫자,_,$로 구성.

대소문자를 구분합니다.

변수의 이름은 숫자로 시작할 수 없고, 키워드도 변수의 이름으로 사용할 수 없습니다.

이름 사이에 공백이 있을 수 없습니다.

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

자료형: 메모리를 얼마나 어떻게 사용할 건지 지정하는 것 입니다..

정수형:byte(1바이트),short(2바이트),int(4바이트),long(8바이트)

문자형:char(2바이트)

실수형:float(4바이트),double(8바이트)

논리형:boolean(1바이트)

int는 -2^31~2^31-1 만큼의 범위를 갖습니다.

32비트인데 31인 이유는 맨 앞 비트는 부호비트이기 때문입니다.

이과 같은 방법으로 다른 자료형의 범위로 구 할 수 있습니다.

정수 자료형

int num=10;

어딘가에 10이란 값이 있고 그것을 num이란 메모리에 복사합니다.

자바에서 정수는 기본적으로 4바이트=32비트로 저장합니다.

long num=12345678900 //에러

num은 8바이트까지 저장 가능하지만 숫자(리터럴)는 기본적으로 4바이트로 저장 되기 때문

ㅡ> 명시 필요

long num=12345678900L //에러X

L의 의미: 8바이트로 저장해라

문자형 char

자바에서는 문자를 2바이트로 처리

인코딩: 문자에 특정 숫자 부여

디코딩: 숫자 값을 원래의 문자로 변환

문자세트: 문자를 위한 코드값 모음.

ex) 아스키(1바이트로 영문자,숫자,특수문자 등 표현), 유니코드(한글과 같은 족잡한 언어를 표현하기 위한 표준 인코딩, UTF-8,UTF-16) 자바는 유니코드 UTF-16인코딩 사용

char ch='A';

System.out.println(ch);//A출력

System.out.println(int(ch));//65출력(형변환)

ch=66;

System.out.println(ch);//B출력 char형 이기 때문

int num=67;

System.out.println(num);//67출력

System.out.println(char(num));//C출력

실수자료형(float,double)

부동 소수점 방식:실수를 지수부와 가수부로 표현 무한의 실수를 표현하기 위한 방식

1.0(가수)x10(밑수)^-1(지수)

실수는 기본적으로 double로처리하고

float로 처리하는 경우 숫자에 f,F를 명시함.

double dNum=3.14;

float fNum=3.14f;//f는 식별자

논리형 boolean(참 거짓)

true false를 표현하는 자료형

boolean a=true;

자바 10 부터 자료형 없이 변수 사용 가능합니다.

변수를 선언 할때 변수가 사용할 메모리 크기와 타입을 구분하기 위해 자료형을 사용합니다.

변수에 대입되는 값을 보고 컴파일러가 알아서 추론해줍니다.

ㅡ>한번 정해진 추론을 변경 할 수 없습니다. 지역 변수에만 사용 가능합니다.

var num=10;//컴파일러가 추론

var dNum=10.0;//컴파일러가 추론

num=3.14;//에러