[Java] 변수와 타입
[ 변수 ]
변수(
Variable
)란 하나의 값을 저장할 수 있는 메모리 공간이다.
- 변수에는 다양한 타입의 값을 저장할 수 없고, 한 가지 타입의 값만 저장할 수 있다.
- 정수 타입 변수에는 정수값만, 실수 타입 변수에는 실수값만!
- 변수에 저장된 값은 변경될 수 있다.
[ 변수의 이름 생성 규칙 (naming convention
) ]
첫 번째 글자는 문자이거나,
$
,_
이어야 하며 숫자로 시작할 수 없다. (필수)
- ⭕ :
age
,$price
,_name
- ❌ :
1v
,@tag
,#value
영어 대소문자가 구분된다.
→ firstname
과 firstName
은 다른 변수이다!
첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 한다. (
Camel Case
) (관례)
예) firstName
, studentId
자바 예약어(미리 정의된 키워드)는 사용할 수 없다. (필수)
[ 변수의 종류 ]
- 기본형 (
primitive type
) 변수- 참조형 (
reference type
) 변수
1. 기본형 변수
실제 연산에 사용되는 변수
- 정수 -
byte
,char
,short
,int
,long
- 실수 -
float
,double
- 논리 -
boolean
2. 참조형 변수
기본형 변수를 사용하여 사용자가 직접 만들어서 사용하는 변수
[ 변수의 선언 ]
자바에서는 변수를 사용하기 전에 반드시 변수를 선언하고 초기화해야 한다.
📌 변수를 선언하는 방법
- 변수의 선언만 하는 방법
- 변수의 선언과 동시에 초기화하는 방법
1. 선언만 하는 방법
변수를 선언하여 메모리 공간을 할당받고, 나중에 변수를 초기화하는 방법
문법
타입 변수이름;
예제
int age;
char name;
위와 같이 하나씩 선언할 수 있지만, 같은 타입의 경우 ,
로 구분하여 한꺼번에 선언할 수도 있다.
int x, y, z;
2. 선언과 동시에 초기화하는 방법
문법
타입 변수이름[, 변수이름];
타입 변수이름=초깃값[, 변수이름=초기값];
예제
double num1 = 3.14;
double num2 = 1.23, num3 = 4.56;
[ 리터럴 ]
리터럴(
literal
)이란 소스 코드 내에서 직접 입력된 값을 말한다.
리터럴은 값의 종류에 따라 정수 리터럴, 실수 리터럴, 문자 리터럴, 논리 리터럴로 구분된다.
1. 정수 리터럴
소수점이 없는 정수 리터럴은 10진수로 간주한다.
예) 0
, 75
, -100
0
으로 시작되는 리터럴은 8진수로 간주한다.
예) 02
, -04
0x
또는0X
로 시작하고
0~9 숫자나 A, B, C, D, E, F 또는 a, b, c, d, e, f로 구성된 리터럴은 16진수로 간주한다.
예) 0x5
, 0xA
, 0xB3
, 0xAC08
2. 실수 리터럴
소수점이 있는 리터럴은 10진수 실수로 간주한다.
예) 0.25
, -3.14
대문자
E
또는 소문자e
가 있는 리터럴은 10진수 지수와 가수로 간주한다.
예) 5E7
→ 5 X 10^7
0.12E-5
→ 0.12 X 10^-5
3. 문자 리터럴
작은 따옴표
'
로 묶은 텍스트는 하나의 문자 리터럴로 간주한다.
예) 'A'
, '한'
, '\t'
, '\n'
역슬래쉬(
\
)가 붙은 문자 리터럴은 이스케이프(escape
) 문자라고도 하는데, 다음과 같이 특수한 용도로 사용된다.
4. 문자열 리터럴
큰 따옴표
"
로 묶은 텍스트는 문자열 리터럴로 간주한다.
문자열 리터럴 내부에서도 이스케이프 문자를 사용할 수 있다.
예) "자바"
, "탭 만큼 이동 \t"
, "줄 바꿈 \n 해보기"
5. 논리 리터럴
true
와false
는 논리 리터럴로 간주한다.
[ 참고자료 ]
이것이 자바다 책
http://tcpschool.com/java/java_datatype_variable
Author And Source
이 문제에 관하여([Java] 변수와 타입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mmy789/Java-변수와-타입저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)