IT world

Java - 변수 본문

코딩/Java

Java - 변수

엄킹 2019. 3. 14. 17:39

변수는 변할 수 있는 값으로 variable이라 읽으며 데이터를 가리키는 것이다.



변수의 선언과 할당


1. 변수 선언

int a; 처럼 변수를 만드는 구문을 작성 할 수 있다. 

int는 데이터의 형식이며 a는 변수의 이름이다.(변수의 이름은 사용자가 임의로 지정이 가능하다.)


int라는 타입을 통해 a라는 변수에 담길 수 있는 값은 정수라는 것을 명시한 것이다. 따라서 a라는 변수에 다른 타입이 입력되면 에러가 발생한다. 강제로 int형을 지정하였기 때문에 정수를 입력해야한다.


변수는 초기화가 되어야 읽을 수 있고 초기화 되지않은 변수는 읽을 수 없다.

 

2. 변수 할당

a = 1; 처럼 a라는 변수에 1이라는 값을 대입하여서 값을 할당 할 수 있다.

a라는 변수는 1이라는 값을 가리키고 있기 때문에 a + 1은 2가 출력된다.


public class Variable {


public static void main(String[] args) {

int a;

a = 1;

System.out.println(a + 1); //2

a = 2;

System.out.println(a + 1); //3

}


}


위에 코드에서 처음 a라는 변수에 1을 할당하여 첫번 째 출력 값은 2가 출력되고 그 후에 a에 2라는 값을 재할당하여서 두번 째 출력 값은 3이 출력된다.


즉 사용자가 변수를 선언하고 할당할 때에는 변수 선언 시 타입 + 변수이름을 작성하여 선언한 변수가 어떠한 타입을 가지는 지 결정을 하고 변수의 값을 타입에 맞는 형태로 할당하여야한다. 







변수의 초기값은 코드에서 직접 입력하는 경우가 많은데 소스코드 내에서 직접 입력된 값을 리터럴(literal)이라고 한다.


사실 리터럴은 상수(constant)와 같은 의미지만, 프로그램에서는 상수를 "값을 한 번 저장하면 변경할 수 없는 변수"로 정의하기 때문에 이와 구분하기위해 "리터럴"이라는 용어를 사용한다.


- 정수 리터럴 : 0,75,-100 .. 과 같이 소수점이 없는 정수 리터럴은 10진수로 간주

   02 , -04 .. 과 같이 0으로 시작되는 리터럴은 8진수로 간주

   0x5, 0xA, 0xB3 .. 과 같이 0x또는 0X로 시작하고 0~9 숫자나 A,B,C,D,E,F또는 a,b,c,d,f로 구성된 리터럴은 16진수로 간주

   

  정수 리터럴을 저장할 수 있는 타입은 byte, char, short, int, long과 같이 5개가 있다.


- 실수 리터럴 : 0.25, -3.14 .. 과 같이 소수점이 있는 리터럴은 10진수로 간주

   5E7(5 * 10^7), 0.12E-5(0.12 * 10^-5) .. 과 같이 대문자 E 또는 소문자 e가 있는 리터럴은 10진수 지수와 가수로 간주


   실수 리터럴을 저장할  수 인쓴 타입은 float, double이 있다.


- 문자 리터럴 : 'A', '한' .. 과 같이 작은 따옴표로 묶은 텍스트는 하나의 문자 리터럴로 간주

   역슬래쉬(\)가 붙은 문자 리터럴은 이스케이프(escape)문자라고 하며 특수한 용도로 사용된다.

       1. \t : 수평 탭

 2. \n : 줄 바꿈

 3. \r : 리턴 

 4. \" : 큰 따옴표

 5. \' : 작은 따옴표

 6. \\ : \


  문자 리터럴을 저장할 수 있는 타입은 char 하나 뿐이다.


- 문자열 리터럴 : "안녕하세요" .. 과 같은큰따옴표로 묶는 텍스트는 문자열 리터럴로 간주

문자열 리터럴 내부에서도 이스케이프 문자를 사용할 수 있다.


문자열 리터럴을 저장할 수 있는 타입은 string뿐이다.


- 논리 리터럴 : true, false

   타입은 boolean 뿐이다.






'코딩 > Java' 카테고리의 다른 글

Java - 참조타입1  (0) 2019.11.27
Java란  (0) 2019.11.25
Java - 정수와 실수  (0) 2019.03.14
Java - 문자와 문자열  (0) 2019.03.14
Java - 숫자의 연산  (0) 2019.03.14
Comments