1

myminimin·2024년 2월 5일
0

JAVA

목록 보기
19/21

변수와 타입

  • 변수의 개념과 명명 규칙: 변수는 값을 저장할 수 있는 메모리 공간에 부여된 이름.
    변수명은 첫 글자를 소문자로 시작하는 캐멀 스타일을 권장하며, 클래스명은 대문자로 시작한다.
    예시: int age;, double salary;, boolean isEmployed;
  • 변수 타입: 타입에 따라 변수가 저장할 수 있는 값의 종류와 범위가 다르다.
    - 정수형(int, long), 실수형(float, double), 논리형(boolean) 등이 있다.

  • 자바 프로그램 개발 과정
    1. 소스 파일 작성: .java 확장자를 가진 파일에 자바 소스 코드를 작성
    예시: HelloWorld.java
    2. 컴파일: javac 명령어를 사용하여 소스 파일을 바이트코드를 포함한 .class 파일로 컴파일
    명령어: javac HelloWorld.java
    3. 실행: java 명령어로 JVM을 구동하고 컴파일된 파일을 실행
    명령어: java HelloWorld
    4. 메인 메소드 실행: JVM은 main() 메소드를 찾아 프로그램을 시작
    public static void main(String[] args) { ... }

  • 변수 초기화와 메모리 할당
    - 초기화와 메모리 할당: 변수에 값을 대입하는 것을 초기화라고 하며, 초기화 시 메모리에 공간이 할당
    - 초기화되지 않은 변수는 값을 읽거나 사용할 수 없다
    예시: 초기화되지 않은 변수 int value; vs 초기화된 변수 int value = 10;
    - 초기값의 중요성: 초기화되지 않은 변수를 사용하려고 하면 컴파일 에러가 발생
    예시: int value; int result = value + 10; (초기화되지 않은 value 사용)

  • 자동 및 강제 타입 변환
    - 자동 타입 변환: 작은 허용 범위 타입에서 큰 허용 범위 타입으로 자동 변환될 수 있다.
    - 예외: char와 byte는 자동으로 변환되지 않는다 (byte는 음수를 포함할 수 있지만 char는 음수를 포함할 수 없기 때문).
    예시: int num = 10; long bigNum = num; (자동 변환)
    - 강제 타입 변환 (Casting): 큰 허용 범위 타입을 작은 허용 범위 타입으로 변환할 때 명시적으로 캐스팅 연산자를 사용.
    예시: double pi = 3.14159; int approxPi = (int) pi; (캐스팅)

  • 연산과 타입 변환
    - 연산과 타입 변환의 복잡성: 리터럴 연산은 컴파일 시점에 계산되어 문제가 없지만, 변수를 사용한 연산은 런타임에 수행된다.
    - 변수 연산 결과는 int 타입으로 자동 변환되므로, 작은 타입 변수에 할당하려면 명시적으로 캐스팅해야 한다.

    	예시:
    	java
    	Copy code
    	byte x = 10;
    	byte y = 20;
    	// byte result = x + y; // 컴파일 에러
    	int result = x + y; // 올바른 사용

0개의 댓글