본문 바로가기
Programming Languages/Java

Chapter 4. 변수

by 더 이프 2023. 1. 8.
728x90

목차

    1. 변수

    ■ 변수

    • 변수는 자료형 + 변수명으로 구성
    • 변수명은 영문자나 숫자를 사용
      • 대문자, 소문자 구분
    • 특수 문자는 $, _를 사용
    • 변수명은 숫자로 시작 불가
    • 자바에서 이미 사용중인 예약어는 사용 불가
    • 변수면은 무조건 소문자로 시작
    • 변수 선언
      • 원하는 자료형의 변수명으로 지정하는 것
      • 원래 데이터가 어떤 것이 있든 포맷하여 사용하는 것
    // 원하는 자료형의 변수명으로 지정하는 것
    int age;
    // 원래 데이터가 어떤 것이 있든 포맷하여 사용하는 것
    age = 10;

    ■ 표기법

    • 카멜 표기법
      • 변수명의 처음은 소문자로 시작하지만 단어의 시작 문자는 대문자로 쓰기 때문에 중간에 낙타의 혹처럼 보인다고 하여 카멜 표기법이라고 함
      • myName
    • 헝가리안 표기법
      • 변수의 자료형을 접두어에 붙이는 표기법이며_를 활용하여 사용함
      • i_age

    ■ 자료형

    • 논리형
      • boolean으로 표기하며 크기는 1bit, 기본값은 false
    • 문자형
      • char로 표기하며 크기는 2byte, 기본값은 \u0000
      • char는 한 글자만 들어갈 수 있음
    • 정수형
      • byte, short, int, long으로 표기하며 각각 1, 2, 4, 8byte의 크기이며, 기본값은 모두 0
      • 기본형은 int
      • long은 표기할 때 뒤에 L을 붙여서 사용
    • 실수형
      • float, double로 표기하며 각각 크기가 4, 8byte이며, 기본값은 모두 0.0
      • float는 표기할 때 뒤에 F를 붙여서 사용
    자료형 키워드 크기 기본값 표현 범위
    논리형 boolean 1bit false true 또는 false(0과 1이 아니다)
    문자형 char 2byte \u0000 0 ~ 65,535
    정수형 byte 1byte 0 -128 ~ 127
    short 2byte 0 -32,768 ~ 32,767
    int 4byte 0  
    long 8byte 0 -9.,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
    실수형 float 4byte 0.0 -3.4E38 ~ 3.4E38
    double 8byte .0.0 -1.7E308 ~ 1.7E308

    ■ 상수

    • 항상 변하지 않는 변수
    • 상수는 자료형 앞에 final을 붙임
    • 메모리 값 변경 불가
    • 상수 선언 시 무조건 초기화 해야함
    • 변수의 값이 변하지 않는 데이터를 리터럴 상수라고 함

     

    2. 예시

    ■ Variable1

    package j02_변수;
    
    public class Variable1 {
    
    	public static void main(String[] args) {
    		// 선언과 초기화를 동시에 명시
    		int num = 0;
    		
    		// 4byte의 메모리 공간을 할당할 것이고 그 공간의 이름을 num2라고 함(선언)
    		int num2;
            
    		// num2변수명을 가진 메모리 공간의 데이터를 비우고 10의 값을 대입(초기화)
    		num2 = 10; 
    		
    		System.out.println(num + 1);
    	}
    }

    ■ Variable2

    package j02_변수;
    
    public class Variable2 {
    
    	public static void main(String[] args) {
    		char firstName1 = '가';
    		char firstName2 = '일';
            
    		char alphabetA = 'A';
            
    		long l = 1L;
    		float f = 1.0F;
    		
    		System.out.println(l + f);
    		
    		System.out.println("김" + firstName1 + firstName2);
    		System.out.println("알파벳A : " + alphabetA);
            
    		// 연산자는 숫자로 표현되기 때문에 문자형을 더하면 숫자로 표현됨
    		System.out.println(alphabetA + 'B'); 
    		System.out.println(alphabetA);
    		System.out.println("\uAC00");
    		System.out.println(firstName1 + 0);
    	}
    }

    ■ Variable3

    package j02_변수;
    
    public class Variable3 {
    
    	public static void main(String[] args) {
    		// 상수는 자료형 앞에 final이 붙음
    		// 상수는 상수명을 무조건 대문자로 사용을 함
    		final int NOW_AGE = 0;
    		
    		System.out.println(NOW_AGE);
    	}
    }