[자바 무료 강의] 변수는 상자이다 - 코드라떼
Lesson List button
코스자바로 배우는 프로그래밍
hamburger button
강의변수는 상자이다최종수정일 2021-09-05
아이콘약 4분

자바 언어를 배울 때 가장 먼저 배우는 것은 변수입니다 변수라는 것은 변할 수 있는 수를 뜻하며, 프로그래밍을 할 때 가장 많이 사용하는 것도 변수입니다 변수라는 것을 배우며 자바 언어의 기초를 시작해봅시다

추가 노트

목차


  1. 변수란?
  2. [실습해보기] 변수를 만들어 봅시다
  3. 변수의 자료형 정리




1. 변수란?


변수는 수학적으로는 변할 수 있는 수로써 다양한 값이 대입될 수 있는 수를 말합니다.
컴퓨터의 세계에서도 변수는 정수 또는 실수 또는 그 외의 다양한 값을 대입할 수 있으나 이렇게 얘기하면 어렵고 헷갈릴 수 있기 때문에 코드라떼에서는 변수는 하나의 값을 저장할 수 있는 상자로 설명합니다.

변수의 구문

[자료형(종류)] [변수명(상자명)] = [값];
copy

만약에 하나의 정수값을 저장하는 변수는 이렇게 작성할 수 있습니다.

int number;
copy

그리고 변수에 100이라는 값을 저장하려면 다음과 같이 합니다.

int number; number = 100;
copy

처음부터 100의 값을 저장하도록 하는 변수는 이렇게 작성할 수 있습니다.

int number = 100;
copy

변수는 자료형에 맞는 하나의 값만 저장할 수 있으며 값이 자료형이 맞지 않으면 저장할 수 없습니다.

// 틀린 구문, 정수형 자료형에 실수를 저장할 수 없다. int number = 100.1;
copy

큰 상자에 작은 물건을 넣을 수 있어도 작은 상자에 큰 물건을 못 넣듯이
값이 자료형의 종류뿐만 아니라 크기에 맞지 않으면 저장할 수 없습니다.

// 틀린 구문, short 자료형은 -32,768 ~ +32,767 범위의 값만 저장할 수 있다 short number = 100000000;
copy




2. [실습해보기] 변수를 만들어봅시다


천 리 길도 한 걸음부터, 실습도구에 해당 코드를 작성해 봅시다.

image


1. 값을 출력해보기

1.1 정수를 출력하기

코드 작성

System.out.println(20000);
copy

출력

20000
copy


1.2 문자열을 출력하기

코드 작성

System.out.println("Hello Codelatte!");
copy

출력

Hello Codelatte!
copy


2. 정수를 저장하는 변수

2.1 byte 변수

byte 변수는 -128 ~ 128의 범위의 정수를 저장할 수 있는 변수입니다.

코드 작성

byte num = 100; System.out.println(num);
copy

출력

100
copy


2.2 short 변수

short 변수는 -32,768 ~ 32,767 범위의 정수를 저장할 수 있는 변수입니다.

코드 작성

short num = 10000; System.out.println(num);
copy

출력

10000
copy


2.3 int 변수

int 변수는 -2,147,483,648 ~ 2,147,483,647 범위의 정수를 저장할 수 있는 변수입니다

코드 작성

int num = 2100000; System.out.println(num);
copy

출력

2100000
copy


2.4 long 변수

long 변수는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 범위의 정수를 저장할 수 있는 변수입니다.

-2,147,483,648 ~ 2,147,483,647의 범위가 넘어가는 정수를 저장할 경우 접미사 L을 붙여야 합니다.

코드 작성

long num = 10000000000L; System.out.println(num);
copy

출력

10000000000
copy


3. 실수를 저장하는 변수

3.1 float 변수

작은 범위의 실수를 저장할 때 사용하는 변수이며 float 변수에 저장할 때 접미사 F를 붙여야 합니다

코드 작성

float num = 21.3123F; System.out.println(num);
copy

출력

21.3123
copy


3.2 double 변수

더 많은 표현 범위의 실수를 저장할 때 사용하는 변수이며 double 변수에 저장할 때 접미사를 붙이지 않아도 됩니다.

코드 작성

double num = 21.312312312; System.out.println(num);
copy

출력

21.312312312
copy


4. 문자 하나를 저장하는 변수

char 변수

char 변수는 문자 하나를 저장하는 변수를 만들 때 사용하는 변수입니다.

코드 작성

char alphabet = 'A'; System.out.println(alphabet);
copy

출력

A
copy


5. 문자열을 저장하는 변수

String 변수

String 변수는 문자열을 저장하는 변수를 만들 때 사용하는 변수입니다. 문자 하나를 저장할 때는 따옴표(')를 사용한다면 문자열을 표기할 때는 쌍따옴표(")를 사용합니다.

코드 작성

String text = "오늘 하루도 힘차게!"; System.out.println(text);
copy

출력

오늘 하루도 힘차게!
copy


6. 참과 거짓을 저장하는 변수

boolean 변수

boolean 변수는 true 또는 false 값을 저장하는 변수입니다.

코드 작성

boolean isSunday = true; System.out.println(isSunday);
copy

출력

true
copy




변수의 자료형 정리


자바 변수의 기본 자료형(Primitive Type) 은 다음과 같습니다.

자료형 키워드 기본값 크기 범위
정수 byte 0 1 byte -128 ~+127
정수 short 0 2 byte -32,768 ~ +32,767
정수 int 0 4 byte -2,147,483,648 ~
+ 2,147,483,647
정수 long 0 8 byte -9,223,372,036,854,775,808 ~
+9,223,372,036,854,775,807
실수 float 0.0 4 byte 1.4E-045 ~ 3.4E+038
실수 double 0.0 8 byte 4.9E-324 ~ 1.8E+308
문자 char \u0000 2 byte 0 ~ 65,535 (유니코드문자)
논리 boolean JVM dependent
컴퓨팅 시는 1 byte
true(1)또는false(0)

정수형 자료형을 사용한다면 int를 선언하는 것을 권장드립니다.

그 이유는 다음과 같습니다.

  1. 일반적으로 사용하는 CPU는 int형 정수 연산을 가상 고속으로 처리하게끔 설계되어 있습니다.
  2. 일반적인 상황에서는 약 21억이 넘어가는 수를 사용하는 경우가 많이 없습니다.
  3. byte, short 자료형은 int로 암시적 형변환이 발생하기 때문입니다. (암시적 형변환은 '형변환' 강의에서 설명)
도전자 질문
아이콘ky1875(2021-10-05 04:28 작성됨)
println과 byte 모두 제가 직접 타이핑을 하면 에디터가 인식을 못합니다.
복붙하면 인식이 되네요 무슨 차이일까요 바이트입력을 못해서 못넘어가네요 ㅠㅠ
아이콘코드라떼(2021-10-05 13:07 작성됨)
안녕하세요. 코드라떼입니다 :)

에디터라 하심은 사이트 내의 에디터를 말씀하시는 걸까요
아니면 인텔리제이라는 에디터를 말씀하시는 걸까요.

바이트 입력을 못하신다는 부분을 좀 더 자세히 설명 부탁드려도 될까요?

혹시 라이브로 질문/답변을 받고 싶으신 경우 
코스 '도전하기'를 하시면 질문을 할 수 있는 오픈채팅 주소가 노출됩니다.

감사합니다 :)
아이콘iydo09(2021-08-26 00:28 작성됨)
문자를 문자열로 쓰면 2byte를 할당하나요?

String text = "A";

System.out.println(text);
아이콘코드라떼(2021-08-26 15:10 작성됨)
안녕하세요. 코드라떼입니다.

변수(String text)와 리터럴("A")을 분리해서 생각해야 합니다. 일단 String은 참조 자료형 변수로 이후에 객체에 대해서 배우면 아시게 됩니다. 그리고 참조 자료형 변수는 64bit 컴퓨팅 환경에서 8byte의 메모리를 점유합니다. 그리고 문자열 리터럴은 자바 가상 머신에서 관리하는 것으로 특정한 메모리 공간(이후에 배웁니다)에 저장되며 2byte라고 확답할 수 없습니다. 문자 'A'는 2byte로 표현이 가능하나 문자열 "A"는 조금 다르게 관리합니다. 그래서 문자를 저장할 때는 2byte의 메모리 공간을 가지는 기본 자료형 char 변수에 저장하고, 문자열은 참조 자료형 String 변수에 저장합니다.

감사합니다.^^
이용약관|개인정보취급방침
알유티씨클래스|대표, 개인정보보호책임자 : 이병록
이메일 : cs@codelatte.io
사업자등록번호 : 824-06-01921
통신판매업신고 : 2021-성남분당C-0740
주소 : 경기도 성남시 분당구 대왕판교로645번길 12, 9층 24호
파일
파일파일
Root
파일

Output
root$
Lesson List button
코스자바로 배우는 프로그래밍
hamburger button
강의변수는 상자이다최종수정일 2021-09-05
아이콘약 4분

자바 언어를 배울 때 가장 먼저 배우는 것은 변수입니다 변수라는 것은 변할 수 있는 수를 뜻하며, 프로그래밍을 할 때 가장 많이 사용하는 것도 변수입니다 변수라는 것을 배우며 자바 언어의 기초를 시작해봅시다

추가 노트

목차


  1. 변수란?
  2. [실습해보기] 변수를 만들어 봅시다
  3. 변수의 자료형 정리




1. 변수란?


변수는 수학적으로는 변할 수 있는 수로써 다양한 값이 대입될 수 있는 수를 말합니다.
컴퓨터의 세계에서도 변수는 정수 또는 실수 또는 그 외의 다양한 값을 대입할 수 있으나 이렇게 얘기하면 어렵고 헷갈릴 수 있기 때문에 코드라떼에서는 변수는 하나의 값을 저장할 수 있는 상자로 설명합니다.

변수의 구문

[자료형(종류)] [변수명(상자명)] = [값];
copy

만약에 하나의 정수값을 저장하는 변수는 이렇게 작성할 수 있습니다.

int number;
copy

그리고 변수에 100이라는 값을 저장하려면 다음과 같이 합니다.

int number; number = 100;
copy

처음부터 100의 값을 저장하도록 하는 변수는 이렇게 작성할 수 있습니다.

int number = 100;
copy

변수는 자료형에 맞는 하나의 값만 저장할 수 있으며 값이 자료형이 맞지 않으면 저장할 수 없습니다.

// 틀린 구문, 정수형 자료형에 실수를 저장할 수 없다. int number = 100.1;
copy

큰 상자에 작은 물건을 넣을 수 있어도 작은 상자에 큰 물건을 못 넣듯이
값이 자료형의 종류뿐만 아니라 크기에 맞지 않으면 저장할 수 없습니다.

// 틀린 구문, short 자료형은 -32,768 ~ +32,767 범위의 값만 저장할 수 있다 short number = 100000000;
copy




2. [실습해보기] 변수를 만들어봅시다


천 리 길도 한 걸음부터, 실습도구에 해당 코드를 작성해 봅시다.

image


1. 값을 출력해보기

1.1 정수를 출력하기

코드 작성

System.out.println(20000);
copy

출력

20000
copy


1.2 문자열을 출력하기

코드 작성

System.out.println("Hello Codelatte!");
copy

출력

Hello Codelatte!
copy


2. 정수를 저장하는 변수

2.1 byte 변수

byte 변수는 -128 ~ 128의 범위의 정수를 저장할 수 있는 변수입니다.

코드 작성

byte num = 100; System.out.println(num);
copy

출력

100
copy


2.2 short 변수

short 변수는 -32,768 ~ 32,767 범위의 정수를 저장할 수 있는 변수입니다.

코드 작성

short num = 10000; System.out.println(num);
copy

출력

10000
copy


2.3 int 변수

int 변수는 -2,147,483,648 ~ 2,147,483,647 범위의 정수를 저장할 수 있는 변수입니다

코드 작성

int num = 2100000; System.out.println(num);
copy

출력

2100000
copy


2.4 long 변수

long 변수는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 범위의 정수를 저장할 수 있는 변수입니다.

-2,147,483,648 ~ 2,147,483,647의 범위가 넘어가는 정수를 저장할 경우 접미사 L을 붙여야 합니다.

코드 작성

long num = 10000000000L; System.out.println(num);
copy

출력

10000000000
copy


3. 실수를 저장하는 변수

3.1 float 변수

작은 범위의 실수를 저장할 때 사용하는 변수이며 float 변수에 저장할 때 접미사 F를 붙여야 합니다

코드 작성

float num = 21.3123F; System.out.println(num);
copy

출력

21.3123
copy


3.2 double 변수

더 많은 표현 범위의 실수를 저장할 때 사용하는 변수이며 double 변수에 저장할 때 접미사를 붙이지 않아도 됩니다.

코드 작성

double num = 21.312312312; System.out.println(num);
copy

출력

21.312312312
copy


4. 문자 하나를 저장하는 변수

char 변수

char 변수는 문자 하나를 저장하는 변수를 만들 때 사용하는 변수입니다.

코드 작성

char alphabet = 'A'; System.out.println(alphabet);
copy

출력

A
copy


5. 문자열을 저장하는 변수

String 변수

String 변수는 문자열을 저장하는 변수를 만들 때 사용하는 변수입니다. 문자 하나를 저장할 때는 따옴표(')를 사용한다면 문자열을 표기할 때는 쌍따옴표(")를 사용합니다.

코드 작성

String text = "오늘 하루도 힘차게!"; System.out.println(text);
copy

출력

오늘 하루도 힘차게!
copy


6. 참과 거짓을 저장하는 변수

boolean 변수

boolean 변수는 true 또는 false 값을 저장하는 변수입니다.

코드 작성

boolean isSunday = true; System.out.println(isSunday);
copy

출력

true
copy




변수의 자료형 정리


자바 변수의 기본 자료형(Primitive Type) 은 다음과 같습니다.

자료형 키워드 기본값 크기 범위
정수 byte 0 1 byte -128 ~+127
정수 short 0 2 byte -32,768 ~ +32,767
정수 int 0 4 byte -2,147,483,648 ~
+ 2,147,483,647
정수 long 0 8 byte -9,223,372,036,854,775,808 ~
+9,223,372,036,854,775,807
실수 float 0.0 4 byte 1.4E-045 ~ 3.4E+038
실수 double 0.0 8 byte 4.9E-324 ~ 1.8E+308
문자 char \u0000 2 byte 0 ~ 65,535 (유니코드문자)
논리 boolean JVM dependent
컴퓨팅 시는 1 byte
true(1)또는false(0)

정수형 자료형을 사용한다면 int를 선언하는 것을 권장드립니다.

그 이유는 다음과 같습니다.

  1. 일반적으로 사용하는 CPU는 int형 정수 연산을 가상 고속으로 처리하게끔 설계되어 있습니다.
  2. 일반적인 상황에서는 약 21억이 넘어가는 수를 사용하는 경우가 많이 없습니다.
  3. byte, short 자료형은 int로 암시적 형변환이 발생하기 때문입니다. (암시적 형변환은 '형변환' 강의에서 설명)
도전자 질문
아이콘ky1875(2021-10-05 04:28 작성됨)
println과 byte 모두 제가 직접 타이핑을 하면 에디터가 인식을 못합니다.
복붙하면 인식이 되네요 무슨 차이일까요 바이트입력을 못해서 못넘어가네요 ㅠㅠ
아이콘코드라떼(2021-10-05 13:07 작성됨)
안녕하세요. 코드라떼입니다 :)

에디터라 하심은 사이트 내의 에디터를 말씀하시는 걸까요
아니면 인텔리제이라는 에디터를 말씀하시는 걸까요.

바이트 입력을 못하신다는 부분을 좀 더 자세히 설명 부탁드려도 될까요?

혹시 라이브로 질문/답변을 받고 싶으신 경우 
코스 '도전하기'를 하시면 질문을 할 수 있는 오픈채팅 주소가 노출됩니다.

감사합니다 :)
아이콘iydo09(2021-08-26 00:28 작성됨)
문자를 문자열로 쓰면 2byte를 할당하나요?

String text = "A";

System.out.println(text);
아이콘코드라떼(2021-08-26 15:10 작성됨)
안녕하세요. 코드라떼입니다.

변수(String text)와 리터럴("A")을 분리해서 생각해야 합니다. 일단 String은 참조 자료형 변수로 이후에 객체에 대해서 배우면 아시게 됩니다. 그리고 참조 자료형 변수는 64bit 컴퓨팅 환경에서 8byte의 메모리를 점유합니다. 그리고 문자열 리터럴은 자바 가상 머신에서 관리하는 것으로 특정한 메모리 공간(이후에 배웁니다)에 저장되며 2byte라고 확답할 수 없습니다. 문자 'A'는 2byte로 표현이 가능하나 문자열 "A"는 조금 다르게 관리합니다. 그래서 문자를 저장할 때는 2byte의 메모리 공간을 가지는 기본 자료형 char 변수에 저장하고, 문자열은 참조 자료형 String 변수에 저장합니다.

감사합니다.^^
이용약관|개인정보취급방침
알유티씨클래스|대표, 개인정보보호책임자 : 이병록
이메일 : cs@codelatte.io|운영시간 09:00 - 18:00(평일)
사업자등록번호 : 824-06-01921|통신판매업신고 : 2021-성남분당C-0740
주소 : 경기도 성남시 분당구 대왕판교로645번길 12, 9층 24호(경기창조혁신센터)
파일
파일파일
Root
파일

Output
root$