자바의 변수와 자료형
1. 자바의 식별자
(1) 식별자란?
자바코드내에서 개발자가 사용한 이름을 식별자라고 한다. 클래스이름, 변수이름, 메서드이름 등을 지정할 때 사용
(2) 식별자 명명규칙
1) 영문자(A~Z,a~z)와 숫자(0~9)와 ‘_’,’$’의 조합
2) 첫글자는 반드시 영문자나 ‘_’로 시작.숫자로 시작 불허
3) 식별자는 대소문자를 철저히 구분
4) 자바에서 사용되는 예약어는 식별자로 사용할 수 없다.
5) 상수 값을 표현하는 단어 true, false, null은 식별자로 사용할 수 없다.
(3) 세부 식별자 정의 규칙
구분 | 정의 규칙 | 사용 예 |
클래스 | - 첫 문자는 항상 대문자로 표현 - 하나 이상의 단어가 합쳐질 때는 각 단어의 첫 문자들만 대문자로 표현 | public class JavaTest{ …; } |
변수와 메서드 | - 첫 문자는 항상 소문자로 표현 -하나 이상의 단어가 합쳐질 때는 두 번째부터 오는 단어의 첫 문자들만 대문자로 표현 | String name; public void setName(){ …; } |
상수 | -모든 문자를 대문자로 표현 -하나 이상의 단어가 합쳐질 때 공백 필요 시 under score(_)를 사용하여 연결한다 | final int JAVATEST = 10; final int JAVA_TEST = 20; |
(4) 예약어
-자바 프로그래밍을 하는데 있어 특정한 의미가 부여되어 이미 만들어진 식별자를 말한다.
-예약어에 등록되어 있는 것을 프로그래밍에서 식별자로 사용할 수 없다.
(const와 goto는 예약어로 등록만 되어 있을 뿐 사용되지 않는 예약어이다.)
abstract | continue | goto | package | this |
assert | default | if | private | throw |
boolean | do | implements | protected | throws |
break | double | import | public | transient |
byte | else | instanceof | return | try |
case | extends | int | short | void |
catch | finally | long | super | class |
float | native | switch | const | for |
new | synchronized | final | interface | static |
while | char |
|
|
|
2. 변수
- 값을 담아두는 기억 공간(메모리 공간)
- 데이터를 저장할 수 있는 그릇과 같음
- 하나의 데이터 값을 저장할 수 있음
- 정해진 값은 고정되어 있지 않고 계속 변할 수 있음
- 저장되는 데이터에 따라 변수의 자료형(Data Type)이 결정됨
public class Hello { public static void main(String[] args){ int num; //변수의 선언 num = 3; //변수의 초기화 System.out.println(num); //출력 } } |
3. 자료형
(1) 기본 자료형 (primitive data type)
자바 컴파일러에 의해서 해석되는 자료형
(2) 참조 자료형 (reference data type)
자바 API에서 제공되거나 프로그래머에 의해서 만들어진 클래스를 자료형으로 선언하는 경우
클래스 타입, 인터페이스 타입, 배열 타입, 열거 타입
(3) 기본 자료형의 종류
자료형 | 키워드 | 크기 | 기본값 | 표현범위 |
논리형 | boolean | 1byte | false | true 또는 false (0과1로 대체할 수 없음) |
문자형 | char | 2byte | \u0000 | 0 ~ 65,535 |
정수형 | byte | 1byte | 0 | -128 ~ 127 |
| short | 2byte | 0 | -32,768 ~ 32,767 |
| int | 4byte | 0 | -2,147,483,648 ~ 2,147,483,647 |
| long | 8byte | 0 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
실수형 | flot | 4byte | 0.0 | -3.4E38 ~ + 3.4E38 |
| double | 8byte | 0.0 | -1.7E308 ~ + 1.7E308 |
(4) 확장 특수 출력 문자(escape sequence)
종류 | 의미 |
\a | 경고음이 난다 |
\n | 엔터 키의 기능을 갖는다. 줄을 바꾼다.(new line) |
\t | 수평 탭으로 일정한 간격을 띄운다.(tab) |
\b | 백스페이스로 뒤로 한 칸 후진한다.(backspace) |
\r | 동일한 줄의 맨 앞 칸으로 커서만 옮긴다(carriage return) |
\f | 출력 용지를 한 페이지 넘긴다.(form feed) |
\\ | \문자를 의미 |
\' | '문자를 의미(single quote) |
\" | "문자를 의미(double quote) |
\0 | 널문자를 의미(null) |
\u16진수 | 16진수에 해당하는 유니코드 |
(5) 리터럴(literal)
소스 코드 내에 데이터 값 그대로 쓴 상수
public class LiteralEx{ public static void main(String[] args){ int num = 1; -------------> 소수점이 없는 수치 리터럴은 기본적으로 int 타입 double sum = num + 0.5; ---------------> 소수점이 있는 수치 리터럴은 기본적으로 double 타입 System.out.println("sum = " + sum); ->큰 따옴표로 묶은 문자열은 String 타입 System.out.println('끝'); --------> 작은 따옴표로 묶은 하나의 문자는 char 타입 } } |
4. 형변환
- 데이터나 변수의 자료형을 다른 자료형으로 변환 시키는 것
- 자바의 데이터는 서로 같은 자료형일 때 연산이 가능하다.
- 서로 다른 자료형들은 같은 타입으로 변경시킨 후 연산 가능하다
- 기본형과 참조형 모두 형변환이 가능하다.
(기본형은 기본형끼리만, 참조형은 참조형끼리만 형변환 가능)
- boolean은 false와 true만을 저장하기 위해 특별히 만들어진 데이터 타입이므로 형변환이 불가 능하다.
- 명시적 형변환과 묵시적 형변환으로 나뉜다.
(1) 묵시적 형변환(자동 형변환)
- 프로그램 실행 도중 자동으로 일어나는 형변환
- 작은 타입을 큰 타입으로 변수에 할당하면 자동으로 변환된다.
- 자동 형변환이 발생하면 변환 이전의 값과 변환 이후 값이 동일하다.
(주의)
char는 2byte이지만표현범위가 0~65535이므로 음수를 저장할 수 없다. 음수가 저장될 수 있는 byte타입을char타입으로 자동 형변환할 수 없다.
(2) 명시적 형변환(강제 형변환)
- [데이터타입] [데이터 또는 변수]
- 넓은 범위를 표현가능 한 큰 타입의 데이터를 좁은 범위를 표현가능 한 작은 타입으로 형변환 할 때에는 명시적으로 형변환을 해야 한다.
'자바강좌' 카테고리의 다른 글
자바의 제어문 (0) | 2019.01.09 |
---|---|
자바의 연산자 (0) | 2019.01.08 |
자바의 주석 및 출력문 사용하기 (0) | 2019.01.08 |
Eclipse 다운로드 및 설치하기 (0) | 2019.01.08 |
자바 JDK 다운로드 및 설치하기 (0) | 2019.01.08 |