처음부터 차근차근

[Java] Java 변수 선언, 데이터 타입 본문

Language/Java

[Java] Java 변수 선언, 데이터 타입

HangJu_95 2023. 12. 14. 22:37
728x90

변수

프로그래밍을 하다 보면 값을 저장해 둘 공간이 필요한데, 그 공간을 변수라고 합니다.

변수(variable)는 이름 그대로 변할 수 있다는 뜻을 의미하며, 공간에 들어간 값은 변할 수 있습니다.

변수 선언

저장공간, 즉 변수가 필요하다면 먼저 변수를 선언해야합니다.

// 변수를 선언하는 방법
// 변수타입 변수이름;
int a;

변수 선언

  • 숫자 정수( `integer` )를 보관할 수 있는 이름이 `a` 라는 데이터 저장소를 만든다. 이것을 변수라 한다.
  • 이렇게 변수를 만드는 것을 변수 선언이라 한다.
  • 이제 변수 `a` 에는 숫자 정수를 보관할 수 있다.
  • 정수 뿐만 아니라 문자, 소수와 같이 다양한 종류의 값을 저장할 수 있다.
  • 변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보되고, 변수 이름을 붙여서 이 이름을 통해 해당 저장공간을 사용할 수 있게 된다.

변수의 초기화

변수를 사용하기 전 처음으로 값을 저장하는 것을 의미합니다. (재할당과는 다르다!)

변수에 값을 대입하는 것이라고 봐도 무방하며, 대입 연산자를 통해 초기화를 진행합니다.

// 변수 초기화
a = 10;

변수에 값 대입

  • 숫자를 보관할 수 있는 데이터 저장소인 변수 a에 값 10을 저장한다.
  • 이처럼 선언한 변수에 처음으로 값을 대입해서 저장하는 것을 변수 초기화라 한다.
//1 변수 선언, 초기화 각각 따로
int a;
a = 1;
System.out.println(a);

// 2. 변수 선언과 초기화를 한번에
int b = 2;
System.out.println(b);

// 3. 여러 변수 선언과 초기화를 한번에
int c = 3, d = 4;
System.out.println(c);
System.out.println(d);

위 코드와 같이 선언과 초기화를 같이 할 수도 있으며, 여러 개를 동시에 선언과 초기화를 같이 할 수 있습니다.

int a;
a = 10;
System.out.println(a);
// 변수의 값을 바꾸기
a = 50;
System.out.println(a);

또한 변수의 값을 재 할당 할 수 있습니다.

리터럴

그 자체로 값을 의미하는 것을 의미합니다.

코드에서 개발자가 직접 적은 10010.5true'A'"Hello Java"와 같은 고정된 값을 프로그래밍 용어로 리터럴(literal)이라 한다.

리터럴의 정의

기본형 타입 종류

변수를 선언할 때 변수에 저장할 값의 종류에 따라 변수의 타입을 선언해줘야 합니다.

변수의 타입은 참조형과 기본형이 있는데, 먼저 기본형부터 알아보겠습니다.

 

정수형

  • byte : -128 ~ 127 (1byte, 2⁸)
  • short : -32,768 ~ 32,767 (2byte, 2.⁶)
  • int : -2,147,483,648 ~ 2,147,483,647 (약 20억) (4byte, 2..)
  • long : -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (8byte, 2⁶⁴)

실수형

  • float : 대략 -3.4E38 ~ 3.4E38, 7자리 정밀도 (4byte, 2..)
  • double : 대략 -1.7E308 ~ 1.7E308, 15자리 정밀도 (8byte, 2⁶⁴)

기타

  • boolean : true, false (1byte)
  • char : 문자 하나(2byte)
  • String : 문자열을 표현한다. 메모리 사용량은 문자 길이에 따라 동적으로 달라진다. (특별한 타입이다. 자세한 내용은 뒤에서 학습한다)
//정수
byte b = 127; //-128 ~ 127
short s = 32767; // -32,768 ~ 32,767
int i = 2147483647; //-2,147,483,648 ~ 2,147,483,647 (약 20억)
//-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
long l = 9223372036854775807L;
//실수
// float는 리터럴 접미사 뒤에 f를 붙여야 한다.
float f = 10.0f;
double d = 10.0;

실무에서 자주 쓰이는 변수 타입

  • 정수 - int, long : 자바는 정수에 기본으로 int를 사용한다. 만약 20억이 넘을 것 같으면 long을 쓰면 된다.
    • 파일을 다룰 때는 `byte` 를 사용한다.
  • 실수 - double : 실수는 고민하지 말고 `double` 을 쓰면 된다.
  • 불린형 - boolean : true, false 참 거짓을 표현한다. 이후 조건문에서 자주 사용된다.
  • 문자열 - String : 문자를 다룰 때는 문자 하나든 문자열이든 모두 `String` 을 사용하는 것이 편리하다.

참고: 메모리 용량은 매우 저렴하다. 따라서 메모리 용량을 약간 절약하기 보다는 개발 속도나 효율에 초첨을 맞추는 것이 더 효과적이다.

변수 명명 규칙

Javascript와 마찬가지로 Java에도 변수 명명규칙이 존재합니다.

  • 변수 이름은 숫자로 시작할 수 없다. (예: 1num, 1st )
    • 그러나 숫자를 이름에 포함하는 것은 가능하다 (예: myVar1, num1 ).
  • 이름에는 공백이 들어갈 수 없다.
  • 자바의 예약어를 변수 이름으로 사용할 수 없다. (예: int, class, public )
  • 변수 이름에는 영문자( `a-z` , `A-Z` ), 숫자( `0-9` ), 달러 기호( `$` ) 또는 밑줄( `_` )만 사용할 수 있다.

또한 Naming Convention이 존재합니다.

  • Camel Case를 사용한다.
  • 클래스 이름의 첫 글자는 무조건 대문자로 시작한다.
  • 나머지(변수, 메서드 등)는 모두 소문자로 시작한다.
  • 예외 사항이 딱 2개 존재합니다.
    • package는 무조건 모두 소문자입니다.
    • 상수는 모두 대문자를 사용하고 언더바로 구분합니다. (Ex: USER_LIMIT)

참고 : 변수 이름은 의미있고, 그 용도를 명확하게 설명해야 합니다.

참고

김영한의 자바입문

자바의 정석 기초편

https://catsbi.oopy.io/6541026f-1e19-4117-8fef-aea145e4fc1b

 

[2주차] 자바 데이터 타입, 변수 그리고 배열

목차

catsbi.oopy.io

 

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

[Java] 조건문, 반복문  (0) 2023.12.15
[Java] 연산자  (0) 2023.12.14
[Java] 자바 프로그램 실행해보기  (0) 2023.12.14
[Java] JVM?? JDK?? 용어 정리  (0) 2023.12.14
[Java] Java란?  (0) 2023.12.14