Java 변수

NasK!m_311·2022년 8월 5일
0

Java

목록 보기
8/39
post-thumbnail

💡 변수 (variable)

값을 저장하는 저장공간. 값을 재사용하기 위해서 사용한다.


💡 변수의 선언

-> 자료형 변수명;

ex) int number;		
	->	int형의 값을 넣은 number라는 저장공간(변수)을 만든다.

💡 변수의 값 대입 (초기화)

-> 변수명 =; 
(대입연산자(=)를 사용한다.)

ex) number = 10;		
	->	number라는 저장공간(변수)10이라는 값을 넣는다.

💡 변수의 선언과 초기화를 동시에

-> 자료형 변수명 =;

ex) int number = 10; 	
	-> int형의 number라는 저장공간(변수)10이라는 값을 넣는다.

💡 변수의 해석 ★★★

변수는 선언 혹은 대입연산자 앞(왼쪽) 에서는 저장공간이라고 해석한다.
그 외 (오른쪽) 에서는 저장된 값이라고 해석한다.


💡 변수명 주의사항

1. 숫자로 시작하면 안된다.

ex) int 1num;		->	x
	int num1;		-> 	o
    int a2b;		->	o
    
-------------------------------------------------------------
2. 띄어쓰기는 불가능하다.

ex) int my age;		->	x
	int myage;		->	o
    int my_age		->	o	(팟홀 표기법, 스네이크 표기법)
    int myAge;		->	o	(카멜 표기법)
    
-------------------------------------------------------------
3. 특수문자는 사용이 불가능하다.

ex) int !@#!		->	x	(, 언더바(_) 만 사용 가능하다.)

-------------------------------------------------------------
4. 이미 존재하는 키워드는 사용이 불가능하다. (예약어를 사용 불가능)

ex) int double		->	x

👀 예약어


💡 변수명 권고사항

1. 웬만하면 의미있는 단어를 쓰자.

ex) int afsda;		->	x
	int age;		->	o
    
-------------------------------------------------------------
2. 웬만하면 소문자로 시작하자.

	-> class가 대문자로 시작하기 때문.

-------------------------------------------------------------
3. 한글보다는 영어로 짓자.
	
    -> 호환성 문제 때문.
    
-------------------------------------------------------------
4. 상수는 모두 대문자로 표시한다.(상수 = 변하지 않는 수)

ex) final double PI;
	final int COLOR;

💡 변수 사용의 제약

1. 반복해서 다른 값이 할당될 수 있지만, 선언은 중복 불가.

ex) int num1 = 100;				(변수 선언과 값 할당)
		num1 = 200;		->	o
    int num1 = 300;		->	x	(이미 선언된 변수이므로 에러발생)
    
-------------------------------------------------------------
2. 선언되지 않은 변수는 사용할 수 없다.

ex) int num1 = 100;				(변수 선언과 값 할당)
		num1 = 200;		->	o
        num2 = 300;		->	x	(선언되지 않은 변수이므로 에러발생)
        
-------------------------------------------------------------
3. 값이 대입되지 않은 변수는 다른 변수에 대입하거나 출력할 수 없다.

ex) int num1;					(변수 선언)
	int num2 = num1;	->	x	(할당되지 않은 변수를 대입하였으므로 에러발생)
    System.out.println(num1);	->	x	
    							(할당되지 않은 변수를 출력하였으므로 에러발생)

💡 변수의 범위(=변수의 스코프)

1. 자신보다 하위 블록으로는 침투할 수 있다.
	
    int num = 100;
    
    if(num ==100){
    	System.out.println(num);
    }
    
		-> 변수 num이 현재 블록 밖에서 생성되었으므로 사용가능.

---------------------------------------------------------------------
2. 자신이 선언된 블록 밖으로는 빠져나갈 수 없다.

	int num = 100;
    
	if(num == 100){
		int result = num + 100;
	}
	System.out.println(result);
    
		-> 변수 result가 if문 안에서 생성되었으므로, if문 밖에서는 사용 불가.  
        
---------------------------------------------------------------------
3. 블록 안에서 선언된 변수는 블록 밖에서 존재하는 동일한 이름의 변수와는 이름만 동일할 뿐, 
	다른 값으로 인식된다.
    
    int target = 100;
    
	if(target == 100){
		int num = target + 100;
	}else{
		int num = target - 100;
	}
    	-> 오류 발생 x.

💡 변수의 종류(클래스)

1. 멤버변수(전역변수)

	: 클래스 안에서 선언된 변수로서, 클래스 블록범위 안에서 유효하다.
    
-------------------------------------------------------------------------------    
2. 지역변수

	: 메소드 안에서 선언된 변수로서, 메소드의 블록을 빠져나가지 못한다. 
    	그러므로 다른 메소드는 해당 변수를 인식하지 못한다.
        
     이 규칙은 조건,반복문과 같은 블록{}을 형성하는 모든 경우에 해당한다.   
profile
메리아빠, 먹다가 죽어도 되는 개발자.(살뺴자....)

0개의 댓글