[Java] 4. 변수

psj98·2023년 1월 1일
0

생활코딩 JAVA

목록 보기
4/41
post-custom-banner

1. 변수의 선언과 할당

1. 변수란?

영어로는 Variable로 (문자나 숫자 같은) 데이터를 담는 컨테이너다. 여기에 담겨진 데이터는 다른 데이터로 바꿀 수 있다. 변수는 마치 자연어에서 대명사와 비슷한 역할을 한다.

2. 정수

int a; // 변수 선언
a=1; // 값 할당
System.out.println(a+1); // 2
 
a=2; // 값 할당
System.out.println(a+1); // 3

int a;

위는 변수 a를 지금부터 사용하겠다고 변수를 선언한 것이다. 변수 a 앞에는 int라는 키워드가 있다. 이 키워드는 integer의 약자정수라는 뜻이다.

정수는 0을 중심으로 -1, -2, -3과 같은 음수와 1, 2, 3과 같은 양수를 통틀어서 정수라고 한다. 위의 코드는 변수 a가 정수를 담는 그릇임을 명시한 것이다. 이 변수를 사용하는 입장에서 변수 안에 들어있는 데이터가 틀림 없이 정수라는 것을 확신할 수 있게 된다.

a=1;

좌항의 변수 a의 데이터가 1이라는 뜻이다. a에 숫자 1을 대입한 것이다. 이제부터 a 안에는 1이 들어있다. 이러한 것을 변수 a에 숫자 1을 할당했다고 한다.

위의 실습 결과는 각각 2와 3이 출력될 것이다. 첫 번째 결과는 변수 a의 값이 1일 때는 a+1의 결과가 2가 된다. 두번째 결과는 변수 a의 값이 2일 때는 a+1의 결과가 3이 된다.

추가 내용

  • 주석 (//)
    주석(comment)은 코드에 부가적인 설명을 쓰거나 사용하지 않는 코드를 비활성화시키기 위해서 사용한다. 뒤에 따라오는 내용은 해석되지 않는다.

  • 세미콜론 (;)
    세미콜론(;)은 하나의 구문이 끝났음을 명시적으로 나타내는 기호이다. 다음처럼 한 줄에 여러 구문을 사용하고 싶을 때 세미콜론이 유용하다.

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

3. 실수

double a=1.1; // 변수 선언과 동시에 값 할당
System.out.println(a+1.1); // 2.2
 
a=2.1; // 값 할당
System.out.println(a+1.1); // 3.2

변수 a 앞에 double이 붙었다. double이 붙으면 변수가 실수를 담는 그릇이라는 의미다. 실수와 정수를 구분하기 어렵다면 정수는 소수점이 없는 수, 실수는 소수점이 있는 수라고 생각하자.

  • ex) 1은 정수이고, 1.1은 실수이다.
int a=1.1; // ERROR
System.out.println(a+1.1);

위의 코드에서 에러가 발생하는 이유는 변수 a는 정수인데 값으로 1.1이라는 실수를 대입하려고 했기 때문이다. 형식에 맞지 않는 값을 변수에 대입하려고 했기 때문에 오류가 난 것이다. 즉 자바에서 변수는 어떤 값을 저장하는 컨테이너인데, 컨테이너를 생성할 때 지정한 데이터 형식(int, double)에 맞는 데이터를 입력해야 한다.

4. 문자열

프로그래밍에서의 변수는 다양한 데이터 형이 담길 수 있다. 다음 예제는 변수의 값이 꼭 숫자가 와야 하는 것이 아니라는 것을 보여주기 위해 만든 예제이다.

String first="Hello";
System.out.println(Hello+" "+"Java"); // Hello Java

문자열을 변수에 담을 때는 변수의 이름 앞에 String을 붙여준다.

아래와 같이 여러 개의 변수(a,b)를 동시에 선언할 수 있다.

String a, b; // 여러 개의 변수 동시 선언
a="Hello";
b=" Java";
System.out.println(a+b); // Hello Java

2. 변수가 없다면

변수는 코드의 재활용성을 높여준다. 예를 들어, 100에 10을 더하고, 10을 나눈 후에 다시 10을 빼고 거기에 10을 곱한다고 하자. 그리고 각 단계마다 그 결과를 출력해야 한다면 코드는 아래와 같을 것이다.

System.out.println(100+10);
System.out.println((100+10)/10);
System.out.println(((100+10)/10)-10);
System.out.println((((100+10)/10)-10)*10);

그런데 계산해야 할 값을 100이 아니라 1000으로 바꿔야 한다면 위의 코드를 모두 수정해야 할 것이다. 이 때, 변수를 사용해야 하는 이유가 좀 더 분명해진다. 아래의 코드를 보자.

int a=100; // 변수 선언 및 값 할당
System.out.println(a+10);
System.out.println((a+10)/10);
System.out.println(((a+10)/10)-10);
System.out.println((((a+10)/10)-10)*10);

위의 코드에서 첫 번째 줄의 100을 다른 숫자로 바꾸면 나머지 로직에 대입되는 변수의 값이 모두 바뀐다. 수정해야 할 코드가 적다는 것은 그만큼 해야 할 일이 줄어든다는 의미고, 그 과정에서 버그가 발생할 가능성을 낮출 수 있다. 변수의 효용은 뒤에서 배우게 될 반복문, 조건문, 함수와 결합되면 더욱 더 중요해진다.


3. 참고

생활코딩

profile
SSAFY 9기
post-custom-banner

0개의 댓글