변수(variable) : 값을 저장하기 위해 메모리에 붙인 이름
변수를 통해 프로그램은 메모리 번지에 값을 저장하고 읽을 수 있다.
하나의 변수에는 하나의 값만 저장할 수 있다.(값 변경 가능O)
상수(constant) : 한 번만 값을 저장할 수 있는 변수를 말한다. (값 변경 X)
final int MAX =100; //앞에 final을 붙여준다 => MAX:100
리터럴(literal) : 소스코드에서 프로그래머에 의해 직접 입력된 값
변수에 어떤 타입의 데이터를 저장할지, 변수 이름이 무엇인지를 결정한다
//변수 선언
int x;
double y;
//같은 타입의 변수는 ,를 이용해 한꺼번에 선언 가능
int x,y,z;
//변수 이름 생성 규칙*
//1.영문자, 숫자, 특수문자(_또는 $)만 사용하고 숫자로 시작해서는 안됨* (한글 사용은 권장X)
//2.영어 대소문자를 구분해 사용*
//3.첫 문자는 용어 소문자로 시작, 카멜 표기법을 사용
//카멜 표기법(CamelCase) : 첫번째 단어를 제외한, 모든 단어의 첫문자를 대문자로 표기하는 방법
//ex) firstName, carDisplay
//4.이미 선언된 식별자를 다시 사용할 수 없음
//5.자바 예약어는 변수 이름으로 사용할 수 없다*
//ex)boolean, int, double, void, return 등등
변수에서 값을 저장할 때는 대입연산자(=)를 사용한다.
정수타입 변수에는 정수값만 저장할 수 있고
실수타입변수에는 실수값만 저장할 수 있다.
변수에 값이 저장될 때 최초로 변수가 생성되며 이것을 변수초기화라 한다. 이 때 사용된 값이 초기값.
int score; //변수 선언
score = 90; //오른쪽 값 90을 왼쪽 변수 score에 저장, 초기값 90
변수를 선언하는 동시에 초기값을 만들어줄 수도 있다.
int score=90;
변수사용 : 변수값을 읽거나 변경하는 것
변수사용범위 : 변수는 자신이 선언된 위치에서 자신이 속한 블록 내부에서만 사용 가능함
출력문/연산식 내부에서 변수에 저장된 값을 출력하거나 연산할 때 사용한다.
int hour=3;
int minute=5;
System.out.println(hour+"시"+minute+"분"); //변수 hour, minute 값을 출력
//결과값 => 3시 5분
자바의 모든 변수는 중괄호 {}내에서 선언되고 사용된다.
변수는 블록 내 어디에서든 선언할 수 있지만, 변수 사용에는 제한이 따른다. 변수는 기본적으로 선언된 블록 내부에서만 사용할 수 있다.*
//로컬 변수(local variable) : 메소드 블록 내 선언된 변수, 메소드 블록 내부에서만 사용된다.
public class VariableScopeEx {
public static void main(String[]args) {
int v1=15;
if(v1>10) {
int v2;
v2=v1-10;
}
int v3=v1+v2+5; //v2가 선언된 블록 내부가 아니기 때문에 에러 발생
}
}