Skip to content

Latest commit

 

History

History
75 lines (57 loc) · 3 KB

2장.md

File metadata and controls

75 lines (57 loc) · 3 KB

변수와 타입

2-1 변수

2.1.1 변수란?

변수란, 하나의 값을 저장할 수 있는 메모리 공간이다.
변수에는 보통 하나의 값만 저장, 한 가지 타입의 값만 저장 가능

2.1.2 변수의 선언

변수를 사용하기 위해선, 타입과 변수 이름을 결정 후 선언 한다.

  • 변수 명명 규칙
    • 첫 번째 글자는 문자이거나 $, _ 이어야하고 숫자로 시작할 수 없다. (필수)
    • 영어 대소문자가 구분된다. (필수)
    • 첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 대문자로 한다. (관례)
    • 문자 수 제한 없다.
    • 자바 예약어는 사용 불가 (필수)
      • ex) 데이터 타입, 접근 지정자, 조건문, 객체-클래스 와 관련된 것 등

2.1.3 변수의 사용

변수 선언, 저장, 읽는 행위

  • 정수 리터럴 (byte, char, short, int, long)

    • 소수점이 없는 정수 리터럴은 10진수로 간주
    • 0으로 시작되는 리터럴은 8진수로 간주
    • 0X 또는 0x로 시작하고 0~9나 A, B, C, D, E, F 또는 같은 문자 소문자로 구성된 리터럴은 16진수로 간주
  • 실수 리터럴 (float, double)

    • 소수점이 있는 리터럴은 10진수 실수로 간주
    • E 또는 e가 있는 리터럴은 10진수 지수와 가수로 간주 (5E7 = 5 * 10^7)
  • 문자 리터럴 (char)

    • 작은 따옴표로 묶은 텍스트는 하나의 문자 리터럴로 간주
    • 여러 escape 문자 존재 ( \t, \n, \r, ... , \ 등 )
  • 문자열 리터럴 (String)

    • 큰 따옴표롤 묶은 텍스트는 문자열 리터럴로 간주
    • escape 문자를 문자열 내부에서도 사용 가능
  • 논리 리터럴 (boolean)

    • true, false

2.1.4 변수의 사용 범위

변수는 선언된 블록 내에서만 사용이 가능하며 선언 위치를 잘 고려

Public class example {
	public static void main(String[] args) {
		int v1 = 15;
		if (v1>10) {
			int v2 = v1 - 10;
		}
		int v3 = v1 + v2 + 5;  error!!!! V2 선언 위치 확인
	}
}	

2.2 데이터 타입

2.2.1~4 기본 타입

기본 타입이란 정수, 실수, 문자, 논리 리터널을 직접 저장하는 타입을 의미 대체텍스트

2.3 타입 변환

2.3.1 자동 타입 변환

큰 크기 타입 = 작은 크기 타입 : 자동으로 타입 변환이 일어난다. 너무 당연한...

2.3.2 강제 타입 변환

작은 크기 타입 = 큰 크기 타입 : 강제 타입 변환이 일어나지만, 큰 크기 타입이 작은 크기 타입으로 표현이 가능하다면 값이 유지될 수 있다.
즉, 강제 타입 변환이 진행될 때 변환한 값의 손실이 일어났는지, 아닌지를 주의
정수 type을 실수 type으로 변환활 때 정밀도 손실이 생길 수 있음에 주의(float인 경우, double은 손실x)

2.3.3 연산식에서의 자동 타입 변환

다른 타입의 피연산자가 존재할 경우, 크키가 큰 타입으로 자동 변환 후 연산 수행