백엔드 과정/자바 예습
[혼공자]Chap 02-1 변수
mim
2021. 12. 14. 12:03
반응형

변수: 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름. 프로그램은 변수를 통해 메모리의 특정 번지에 값을 저장하고 읽을 수 있다.
변수 선언: 어떤 타입의 데이터를 저장할 것인지 변수이름이 무엇인지 결정한다.
int age; //정수(int)를 저장할 수 있는 age 변수 선언
같은 타입의 변수는 콤마(,)를 이용해 한꺼번에 선언할 수 있다.
- 변수 이름의 명명 규칙영어 대소문자를 구문한다. (필수)문자 수 길이의 제한은 없다.예약어: 이미 해당 프로그래밍 언어에서 의미를 갖고 사용되고 있는 단어.
- 자바 예약어는 사용할 수 없다.
- 첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 한다. (관례)
- 첫 번째 글자는 문자이거나 '$', '_' 이어야 하고, 숫자로 시작할 수 없다.
- exam 1) 변수 선언 후 값 저장
//변수 선언 후 초기값을 설정하지 않으면, 컴파일 에러가 발생한다. The local variable value may not have been initialized= 초기 내용을 설정하다package sec01.exam01; public class VariableInitilizationExample { public static void main(String[] args) { int value; //변수 value 선언 //변수 value 값을 읽고, 10을 대입 수행 //연산의 결과값을 변수 result의 초기값으로 저장 int result = value + 10; //변수 result 값을 읽고 콘솔에 출력 System.out.println(result); //단축키 syso + ctrl + space } }
- exam 2) 변수 사용
package sec01.exam01;
public class VariableUseExample {
public static void main(String[] args) {
int hour = 3;
int minute = 5;
System.out.println(hour + "시간" + minute + "분"); //변수 hour와 minute 값을 출력 : 3시간 5분
int totalMinute = (hour*60)+ minute;
System.out.println("총"+ totalMinute + "분");
}
}
- exam 3) 두 변수의 값을 교환하는 방법
//두 변수의 값을 교환하기 위해 temp 변수를 선언하여 사용한 코딩package sec01.exam01; public class VariableExchangeExample { public static void main(String[] args) { int x = 3; int y = 5; System.out.println("x:" +x +", y:" +y); int temp = x; x = y; y = temp; System.out.println("x:" +x +", y:" +y); } }
변수 사용 범위: 변수는 자신이 선언된 위치에서 자신이 속한 블록 내부까지만 사용이 가능하고 밖에서는 사용할 수 없다.
자바의 모든 변수는 중괄호 {} 블록 내에서 선언되고, 사용된다. 메소드 블록 내에서 선언된 변수를 로컬 변수라고 부른다.
로컬 변수는 메소드 블록 내부에서만 사용되고 메소드 실행이 끝나면 메모리에서 자동으로 없어진다.
- exam 4) 변수사용범위
- 변수가 어떤 범위에서 사용될 것인지를 생각하고, 선언 위치를 결정해야 한다.
- 메소드 블록 전체에서 사용하고 싶다면 메소드 블록 첫머리에 선언한다.
- 특정 블록 내부에서만 사용된다면 해당 블록 내에 선언한다.
// v2 cannot be resolved to a variable = 변수 v2를 해석할 수 없다는 뜻package sec01.exam01; public class VariableScopeExample { public static void main(String[] args) { int v1 = 15; if(v1>10) { int v2; v2 = v1-10; } int v3= v1+v2+5; // v2 변수를 사용할 수 없기 때문에 컴파일 에러 발생 } }
반응형