변수

프로그램은 작업을 처리하는 과정에서 필요에 따라 데이터를 메모리에 저장한다.
이때 변수를 사용하는데, 
변수(Variable)는 하나의 값을 저장할 수 있는 메모리의 공간을 의미한다.
변수 이름은 메모리 주소에 붙여진 이름이다.
개발자는 변수 이름을 보고, 이변수가 어떤 값을 저장하고 있는지 쉽게 알 수 있도록 의미있는 변수 이름을 지어 주는 것이 좋다.
ex
타입       변수
int         age;
String    name;

작성규칙

 규칙

예 

첫 번째 글자는 문자 이거나 $ , _ 이어야 하고 숫자로 시작할 수 없다.  (필수)

가능: price, $price, _companyName

불가능: 1v, @price, $#value 

 영어 대소문자가 구분된다. (필수)

firstname과 firstName은  다른 변수 

 첫 문자는 영어 소문자로 시작하되, 

다른 단어가 붙을 경우 첫 문자를 대문자로 한다.

(관례)

maxSpeed, firstName, carBodyColor

 문자 수(길이)의 제한은 없다.

 

 자바 예약어를 변수명으로 사용 할 수 없다. (필수

아래 표 참조! 




변수의 사용

변수에 값을 저장할 때에는 대입 연산자(=)를 사용

int age;   //나이를 저장하는 변수를 선언   

age = 18;   // 나이를 저장하는 변수 age에  초기값으로 18이라는 정수타입을 저장   (변수의 초기화)

int age = 20;    //변수의 선언과 동시에 초기값을 저장


변수값 읽기

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

int age  ;                            //변수 age를 선언   (초기화 X)

int result  = age + 10 ;       //변수 age 값을 읽고 10을 더한 결과값을   변수 result에 저장

변수 age가 선언되었비만, 초기화가 되지 않았기 때문에    age + 10은 사용이 불가능하다.  컴파일에러 발생!  

int age = 10 ;                            //변수 age를 10으로 초기화

int result  = age + 10 ;       //변수 age 값을 읽고 10을 더한 결과값을   변수 result에 저장


public class java {
public static void main(String[] args) {
//10을 변수 age의 초기값으로 저장
int age = 10;

//변수 age의 값을 읽고 10을 더하는 산술 연산수행
//연산의 결과값을 변수 result의 초기값으로 저장

int result = age + 10;

//변수 result 의 값을 읽고 콘솔에 출력
System.out.println(result);
}
}




변수의 사용범위

변수는 선언된 { } 블록 내에서 선언되고 사용된다.      중괄호 블록을 사용하는 곳은 클래스, 생성자, 메소드

메소드 블록내에서 선언된 별수를 로컬 변수(local variable) 라고 부른다.  
로컬 변수는 메소드 실행이 끝나면 메모리에서 자동으로 없어진다.

public class variable {//클래스블록
public static void main(String[] args) { //메소드블록
int apple = 1; //main 메서드 의 로컬변수
int fruit = 0; //main 메서드 의 로컬변수
//-------------------------------------------------------------------
if (apple == 1) { //if문 블록
int banana = 2; //if문 안에만 사용가능한 로컬변수(local variable) banana
fruit = banana + apple; //if문 밖의 변수 apple과 fruit를 사용
}
//-------------------------------------------------------------------

System.out.println(fruit); //출력값 3
System.out.println(apple); //출력값
// System.out.println(banana); // banana변수는 if문 안에서만 사용가능 에러 발생
}
}



'JAVA > JAVA' 카테고리의 다른 글

제네릭(Generic) 타입의 상속과 구현  (0) 2018.06.09
제네릭(Generic) 와일드카드 타입  (0) 2018.06.09
제네릭(Generic) 메소드  (0) 2018.06.08
제네릭(Generic)이란 ? 제네릭 타입이란?  (0) 2018.06.08
Thread 정리..??  (0) 2018.06.08

+ Recent posts