본문 바로가기
개발 공부/JAVA

변수(variable)란?

by sngynhy 2021. 6. 6.

하나의 값을 저장할 수 있는 메모리 공간. (한 가지 타입의 값만 저장)

변수를 선언하고 처음 저장한 값을 초기값이라고 하며, 변수에 초기값을 주는 행위를 변수의 초기화라고 한다.

변수는 초기화 되어야만 읽을 수 있다.

소스 코드 내에서 직접 입력된 값을 리터럴(literal) 이라고 부른다.

 

public class LiteralExample {

	public static void main(String[] args) {

		int var1 = 10;
		System.out.println(var1);
		
		int var2 = 010;
		System.out.println(var2);
		
		int var3 = 0x10;
		System.out.println(var3);
		
		double var4 = 0.25;
		System.out.println(var4);
		
		double var5 = 2E5;
		System.out.println(var5);
		
		char var6 = 'A';
		System.out.println(var6);
		
		char var11 = 65;  // A의 유니코드
		System.out.println(var11);
		
		char var7 = '한'; // char(문자)는 '작은' 따옴표로
		System.out.println(var7);
		
		String var8 = "한"; // string(문자열)은 "큰" 따옴표로
		System.out.println(var8);
		
		// 이스케이프문자 : \가 붙은 문자로, ''를 사용하여 묶어준다.
		// 문자 리터럴을 저장할 수 있는 타입은 char타입
		System.out.println('\t' + "한 탭만큼 띄어쓰기");
		System.out.println("\t한 탭만큼 띄어쓰기"); // 문자열 내에서는 작은 따옴표 없이 사용
		System.out.println("대한" + '\n' + "민국");
		System.out.println("this" + '\'' + "s JAVA" );
		System.out.println("이것은" + '\"' + "중요"+'\"'+"합니다.");
		System.out.println("가격이 \\300합니다.");
		
		boolean var9 = true;
		boolean var10 = false;
		
		System.out.println(var9);
		
	}

}

 

 

메소드 블록 내에서 선언된 변수를 로컬 변수(local variable)라고 부른다.

로컬 변수는 메소드 실행이 끝나면 자동으로 없어진다.

변수는 선언된 블록에서만 사용이 가능하다.

public class VariableScopeExample {

	public static void main(String[] args) {
		int var1;
		
		if(true) {
			int var2;
			
			var1 = 10;
			var2 = 20;
		}
		
		var1 = 10;
		
		for (int i=0; i<1; i++) {
			int var3;
			
			var1 = 10;
			var3 = 30;
		}
		
		var1 = 10;
		//var2 = 20; var2는 if문 내에서 선언됐기 때문에 if문 안에서만 사용 가능
		//var3 = 30; var3는 for문 내에서 선언됐기 때문에 for문 안에서만 사용 사능
		// 즉 변수는 선언된 블록 내에서만 사용이 가능하다!
		// 메소드 블럭 내에서 선언된 변수들을 "로컬변수"라고 하고
		// 로컬변수는 메소드 실행이 끝나면 메모리에서 자동으로 없어진다.
		
	}

}

'개발 공부 > JAVA' 카테고리의 다른 글

인터페이스 선언  (0) 2021.06.09
인터페이스(interface)의 역할  (0) 2021.06.09
열거 타입(enumeration type)  (0) 2021.06.06
자바 프로그램 개발 순서  (0) 2021.05.18
JAVA SE 구현체의 종류  (0) 2021.05.18