변수란 하나의 데이터를 담는 그릇과 같다.
변경 가능하며 그 반대 개념은 '상수'라고 부른다.
package kr.s02.variable;
public class VariableMain01 {
public static void main(String[] args) {
//변수(Variable)는 값을 저장할 수 있는 메모리의 공간
//변수 선언
int num;
//변수의 초기화
num = 17;
//변수의 값 출력
System.out.println(num);
System.out.println("=============");
//변수 선언, 초기화
int number = 20;
//출력
System.out.println(number);
//데이터 변경
number = 40;
//출력
System.out.println(number);
System.out.println("=============");
//주의사항
//동일한 변수명으로 변수를 선언하면 오류 발생
//int number = 30;
//동일한 자료형을 사용하기 때문에 두 번째 변수명 앞의 자료형은
//생략함.
int a = 10, b = 20;
int result = a + b; //변수에서 값을 호출해서 연산
//출력
System.out.printf("result = %d%n", result);
System.out.println("result = "+ result);
//변수 선언
int no;
//변수 선언 후 출력 또는 연산하기 전에 반드시 초기화를 해야 함
//System.out.println(no);
}
}
변수 선언
데이터에 메모리 공간을 할당하는 것
ex. int num;
변수 초기화
변수에 값을 대입하는 것
ex. num = 17;
num=17;에서 "="는 같다는 의미가 아닌 대입 연산자이다.
같다는 "=="로 표현한다.
변수 선언과 초기화를 한 번에 하는 것도 가능하다.
ex. int number = 20;
데이터 변경 시 이미 있는 변수명에 변경할 데이터를 대입하면 된다.
ex. number = 40;
주의) 변경 시에 다시 한 번 자료형(int)을 작성하면 변수명 중복으로 에러가 발생한다.
동일한 자료형을 사용하는 경우, 다음 변수명 앞의 자료형을 생략하고 초기화 할 수 있다.
ex. int a = 10, b = 20;
변수 선언 후 초기화를 해주지 않으면 에러가 발생한다.
ex. int no;
System.out.println(no);
→ 출력 불가
+: 연산
숫자 + 숫자+: 연결
문자열 + 숫자 -> 문자열과 숫자를 연결해서 새로운 문자열
숫자 + 문자열
문자열 + 문자열
주의) int a = 10, b = 20; 일 때
System.out.println("결과 : " + a + b);
→ 1020 출력
System.out.println("결과 : " + (a+b));
→ 30 출력
위와 같은 결과가 출력되므로 최우선 연산자()를 넣어 우선순위를 제거한다.
위 내용을 바탕으로 아래와 같이 실습을 진행하였다.
package kr.s02.variable;
public class VariableMain02 {
public static void main(String[] args) {
/*
* [실습]
* 정수를 담을 수 있는 변수를 3개 지정한다.
* 변수명은 각각 a,b,c라고 지정하고 원하는 정수로 초기화 한다.
* a+b 연산 후 출력할 때
* (예) "결과 = 50" 형식으로 출력한다.
* c에 저장된 데이터를 80으로 변경해서
* (예) "c = 80" 형식으로 출력하시오.
*/
int a = 920402, b = 970208, c = 230402;
int result = a+b;
System.out.println("결과 = " + (a+b));
System.out.printf("결과 = %,d%n", result);
c = 80;
System.out.printf("c = %d%n", c);
System.out.println("c = " + c);
}
}