-
Variable초급 JAVA/a_Variable 2020. 2. 29. 19:33
변수
변수란?
- 하나의 데이터를 저장할 수 있는 메모리 상의 공간
- 타입(데이터의 종류) 와 변수명(변수의 이름) 으로 변수를 만들 수 있다.
사용 가능한 기본형 데이터의 종류
1byte 2btye 4byte 8byte 정수 byte short int long 실수 - - float double 문자 - - char - 논리 boolean - - - 데이터 표현 범위
명명규칙
- 블럭 안에서 변수명은 중복될 수 없다.
- 영문 대소문자, 한글, 숫자, 특수문자(' - ' , ' $ ')를 사용할 수 있다.
* 한글 사용은 지양
- 대소문자가 구분되며 길이에 제한이 없다.
- 숫자로 시작할 수 없다.
- 예약어는 사용할 수 없다.
- 기본적으로 변수는 소문자를 사용하고, 상수는 대문자를 사용한다.
- 여러 단어로 이루어진 경우 단어의 첫 글자를 대문자로 한다. (상수는 언더바로 구분)
- 클래스명의 첫 글자는 대문자로 한다.
- 패키지명은 모두 소문자로 한다.
변수 선언 방법
- 데이터 타입 + 변수이름
ex) byte _byte;
char_char;
- 선언한 이후 변수를 사용할 때는 변수의 이름으로 사용
- 변수에 값을 저장하지 않으면 변수의 값을 참조할 수 없다.
int a;
-> 선언만하고 초기화(변수에 값을 저장)를 하지 않으면 변수를 참조할 수 없다.
System.out.println(a); // 컴파일 에러 발생
대입연산자
- =(대입연산자) : 대입 연산자의 오른쪽의 값을 왼쪽(변수에) 저장한다.
ex) a = 10;
-> 변수에 값을 처음으로 저장하는 것 => 초기화
String
- 여러개의 문자를 편리하게 사용하기 위한 클래스
- 문자열 : " "(더블 쿼테이션)로 감싸진 글짜
- String _string = new String("abcd");
-> 선언과 초기화를 동시에 수행
-> String은 많이 사용하는 타입이기 때문에 new연산자를 생략해서 사용해도 됌
String stinrg = "abcd";
리터럴
1. 숫자 : 1, 10, -5, 3.14
2. 문자 : '가', ' a', '0'
3. 문자열 : "가나다", "abc", "1234"
4. 그 외 : true, false, null
참조형 타입
- 기본형 타입을 제외한 모든 데이터 타입(배열, 클래스 등)
ex) String, AboutClass, Variable 등
- 값이 변수에 저장되지 않고 따로 저장되며, 그 주소가 변수에 저장된다.
- 변수의 크기는 4byte이다.
기본 값
- 변수에 아무것도 저장하지 않았을 때 저장되어 있는 값
_byte = 0;
_short = 0;
_int = 0;
_long = 0;
_float = 0.0f;
_double = 0.0;
_char = '/u0000';
_boolean = false;
_String = null;
형 변환
- 데이터 타입을 변환하는 것
경우에 따라 변수에 타입이 다른 값을 저장하기도 한다.
_byte = 127;
_int = 128;
오버플로우가 발생하는 경우
_byte = (byte)_int; // 형 변환 발생
Sytem.our.println(_byte); // byte가 표현할 수 있는 범위를 넘은 값이 들어옴 128 -> -128
오버플로우 발생
언더플로우가 발생하는 경우
_byte = -128;
_int = -129
_byte = (byte) _ int;
System.out.println(_byte); // 마찬가지로 byte가 표현할 수 있는 범위를 넘은 값 -129 -> 127
언더플로우 발생
=> 표현 범위가 큰 타입에서 작은 타입으로 형 변환할 경우 데이터가 손실 될 수 있다.
=> 즉, 표현 범위가 큰 타입에서 작은 타입으로 형 변환시 형 변환을 생략할 수 없다.
형 변환을 생략할 수 있는 경우
- 표현범위가 작은 타입에서 큰 타입으로 형 변환할 경우
_int = _byte;
_long = _int;
_double = _int;
_double = _float;
상수
- 값을 한번 저장하면 변경할 수 없는 저장공간
- 선언방법 : final int MAX_NUMBER;
- 리터럴에 의미를 부여하기 위해 사용한다.
'초급 JAVA > a_Variable' 카테고리의 다른 글
클래스(Class) (0) 2020.02.29