티스토리 뷰
JAVA - 변수
각 프로그램 언어들의 변수는 비슷 비슷 합니다.
java의 변수에는 c언어에 없는 변수가 몇개 있습니다.
지금은 JAVA의 변수에 대해 알아보겠습니다.
변수란?
변수란, 단하나의 값을 저장할수있는 공간이다.
변수의 선언
int number; - 변수타입 변수명;
변수를 선언한뒤 초기화하는 방법역시 쉽다.
number = 1;
이때 주의할점은 반드시 세미콜론(;)을 붙여줘야 한다.
이것은 이문장을 끝내겠다는 표시이므로 붙이지 않게되면
컴파일이 되지않거나 오류가 발생할수도 있다.
명명규칙
변수명, 메서드의 이름, 클래스의 이름등 모든 이름을 짓는데 꼭 지켜야할 규칙이 있다.
1. 대 소문자가 구분되며 길이에 제한은 없다.
2. 예약어를 사용해서는 안된다(true는 x True는 o)
3. 숫자로 시작해서는 안된다.
4.특수문자는 '_'와 '$'만 허용한다.
예약어란?
프로그래밍언어의 구문에 사용되는 단어를 뜻한다.
예약어 목록
예약어를 사용하여 오류가 나게될시 대부분 컴파일러가
오류를 나타내주기때문에 꼭 외울필요는 없을것같다.
기본형 변수
논리형 - boolean (true와 false 만을 값으로 가지며, 조건식과 논리적 계산에 사용)
문자형 - char (문자를 저장하는데 사용되지만, 단하나의 문자만 저장이 가능)
정수형 - byte,short,int,long (정수값을 저장하는데 사용된다. 주로 사용되는 것은 int,long이며,
byte는 2진 데이터를 다루는데 사용되고, short는 c언어와의 호환을 위해 추가된것이다.)
실수형 - float,double (실수값을 저장하는데에 사용된다.)
자료형 |
범위 |
크기 |
boolean |
false, true |
8bit, 1byte |
char |
\u0000~\uffff (0~6^16-1, 0~65535) |
16bit, 2byte |
byte |
-128~127 |
8bit, 1byte |
short |
-32,768~32,767 |
16bit, 2byte |
int |
-2147483648~2147483647 |
32bit, 4byte |
long |
-9223372036854775808~9223372036854775807 |
64bit, 8byte |
float |
1.4E-45~3.4028235E38 |
32bit, 4byte |
double |
4.9E-324~1.7976931348623157E308 |
64bit, 8byte |
정수형의 오버플로우
오버플로우란 최대값,최소값을 넘어섰을때,
최소값,최대값으로 돌아가는 정수형 변수의 특성을 말하는 것이다.
byte 형은 -128~127까지의 범위를 담을수 있다.
byte형을 1씩 증가시키며 127에 도달하였다.
그다음숫자는 몇이 될것일까?
바로 -128이 되게된다.
그럼 그반대의 상황은 어떻게 될지 예상이 되지않은가?
-128에서 1을 감소시키면 127이 되게된다.
이것이 바로 오버플로우 이다.
float,Long형
float와 Long형을 선언할때는 중요한것이 있다.
변수를 초기화할때
리터럴 표현을 해줘야한다.
float test = 123.241f;
long tests = 100000000000L;
형변환
형변환 이란?
어떤 변수를 다른형의 변수로 변환하는것을 말한다.
형변환은 기본형변수와, 참조형 변수 모두 가능하다.
하지만 형변환에는 제약이 걸려있다.
기본형과 참조형 사이에는 형변환이 불가능하고,
boolean형은 형변환이 불가능하다.
각 자료형에는 담을수있는 값의 범위가 다르기 때문에
큰형에서 작은형으로 형변환을 하게될때 값이 손실될수가 있다.
형변환 방법
형변환을 하는 방법은 쉽다,
int test = (int)85.4;
변환하고자 하는 타입을 괄호와 함께 붙여주기만 하면된다.
형변환에 대해서는
직접 테스트 해보는게 더욱더 공부에 도움이 될것이다.
'프로그래밍 > java' 카테고리의 다른 글
Java - 객체지향(2) (403) | 2015.03.30 |
---|---|
JAVA - 객채지향(1) (374) | 2015.03.25 |
java - 연습문제 (0) | 2015.03.21 |
java 기초 - System.out.print(ln) (0) | 2015.03.16 |
Java - java 개발준비 (0) | 2015.03.12 |