2-1. 변수

2024. 10. 5. 22:14·BackEnd/JAVA

(1) 변수

- 변수는 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름이다.

- 프로그램은 변수를 통해 메모리의 특정 번지에 값을 저장하고 읽을 수 있다.

 

1) 변수 선언과 값 저장

변수를 사용하기 위해서는 먼저 변수를 선언해야 하는데 변수에 어떤 타입의 데이터를 저장할 것인지,  그리고 변수 이름이 무엇인지를 결정한다.

 

변수 선언은 다음과 같이 합니다.

데이터타입 변수명;
변수명 = 값; // 변수 선언 이후 별도로 변수에 값을 저장하는 방법

데이터타입 변수명 = 값; // 변수 선언과 동시에 변수에 값을 저장하는 방법

데이터타입 변수명, 변수명, 변수명, ... ;  
// 같은 타입의 변수는 콤마를 이용하여 한꺼번에 선언할 수 있다

예)
int age;
double value;

int age = 20;

int x, y, z;

 

 

변수 이름은 자바 언어에서 정한 명명 규칙을 따라야 하는데 , 이는 다음과 같습니다.

작성 규칙 예
첫 번째 글자는 문자이거나 '$', '_' 이어야하고 숫자로 시작할 수 없으며, 특수 문자가 포함되면 안된다 가능: banana , $banana, _bananaName
불가능 : 1banana , @apple , $#mango
영어 대소문자를 구분한다 firstname 과 firstName은 다른 변수
첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫문자를 대문자로 한다 firstName , everyTime , whiteChocolateBar
문자 수(길이)의 제한은 없다  
자바 예약어는 사용할 수 없다  

 

 

자바 예약어란 이미 해당 프로그래밍 언어에서 의미를 갖고 사용되고있는 단어로, 변수 이름으로 사용할 수 없다

자바 예약어는 다음과 같다

 

분류 예약어
기본 타입 boolean, byte, char, short, int, long, float, double
접근 제한자 private, protected, public
클래스와 관련된 것 class, abstract, interface, extends, implements, enum
객체와 관련된 것 new, instanceof, this, super, null
메소드와 관련된 것 void, return
제어문과 관련된 것 if, else, switch, case, default, form do, while, break, continue
논리값 true, false
예외 처리와 관련된 것 try, catch, finally, throw, throws
기타 package, import, synchronized, final, static

 

 

2) 변수 사용 범위 (유효 범위)

변수 자신이 선언된 범위에서만 사용이 가능하다 (stack, 중괄호로 묶여진 범위 내에서만 사용 가능)

 

stack : 데이터를 저장하는 입구와 출구가 같아 데이터를 순서대로 저장하고 순서대로 꺼낸다

(LIFO 구조 : Last In First Out , 마지막에 들어온 것이 가장 먼저 나간다 > 임시로 변수를 저장할 때 주로 사용한다)

 

class Var2 {
	public static void main(String[] args) {
		int a = 10;
		{
			int b = 20; // 지역변수 : 이 변수는 선언된 블럭 안에서만 쓸 수 있다
			{
				int c = 30; // 가장 나중에 저장된 값 -> 가장 먼저 꺼냄
				java.lang.System.out.println(c);
				java.lang.System.out.println("-------------------");
			}
			//java.lang.System.out.println(c); // 여기서 꺼낼올수 없음 -> c가 선언된 블럭과 다른 블럭이기 때문
			java.lang.System.out.println(b);
			java.lang.System.out.println("-------------------");
		}
		java.lang.System.out.println(a);
	}
}

 

[출력 결과]

저작자표시 비영리 변경금지 (새창열림)

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

[MyBatis] MyBatis 란?  (2) 2024.11.08
2-2 데이터 타입과 타입 변환  (4) 2024.10.06
1. eclipse & jdk설치 및 환경 설정  (5) 2024.10.05
'BackEnd/JAVA' 카테고리의 다른 글
  • [MyBatis] MyBatis 란?
  • 2-2 데이터 타입과 타입 변환
  • 1. eclipse & jdk설치 및 환경 설정
hee-coding
hee-coding
  • hee-coding
    J의 코딩 일기
    hee-coding
  • 전체
    오늘
    어제
    • 분류 전체보기 (26)
      • FrontEnd (3)
        • HTML,CSS,Java Script (0)
        • React (3)
      • BackEnd (11)
        • DataBase (0)
        • JAVA (4)
        • Servlet & JSP (0)
        • Spring (7)
      • Project (1)
      • Error (1)
      • Git (0)
      • Coding Test Practice (4)
      • 일상~ (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    frontend
    it
    오블완
    react
    Coding
    티스토리챌린지
    코딩
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
hee-coding
2-1. 변수
상단으로

티스토리툴바