☕Java/☕입문편

[Java 3강] 변수와 데이터 타입

itstory(Booho) 2024. 12. 6. 23:57
728x90

2025.02.22 - [☕Java/☕입문편] - [Java 2강] 자바 프로그래밍 기초 (JVM, JDK, JRE 개념 + 코드 구성 요소 설명)

자바에서 변수는 데이터를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미합니다.
변수는 다음과 같은 특징을 가집니다
데이터를 저장할 수 있는 메모리 공간입니다.
저장된 값은 변경될 수 있습니다.
변수는 선언된 위치에 따라 클래스변수, 인스턴스변수, 지역변수, 매개변수로 나눌 수 있습니다

 

변수의 특징:

  • 값을 저장하는 공간: 데이터를 메모리에 저장하고 필요할 때 접근 가능
  • 이름(식별자) 부여: 각 변수는 특정한 이름을 가짐
  • 유형 지정: 저장할 데이터의 타입을 미리 선언해야 함
  • 값 변경 가능: 필요에 따라 새로운 값으로 업데이트 가능

🔍 자바의 데이터 타입

자바에서 변수는 크게 기본 데이터 타입(Primitive Type)과 참조 데이터 타입(Reference Type)으로 나뉩니다.

 

1️⃣ 기본 데이터 타입 (Primitive Type)

기본 데이터 타입은 값 자체를 저장하며, 자바의 가장 기본적인 데이터 구조입니다.

  • 기본형(primitive type) 변수: 실제 연산에 사용되는 변수
  타입 기본값 용도
정수형

byte      -128 ~ 127 작은 크기의 정수를 저장 할때
short       -32,768 ~ 32,767 byte 보다 큰 정수를 저장할때
int       -2,147,483,648 ~ 2,147,483,647 일반적인 정수를 저장하는 가장 흔한 타입
long       -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 큰 숫자를 저장할때 사용(예: 금융계산)
실수형
float       약 ±3.4 × 10^-38 ~ ±3.4 × 10^38 부동 소수점 숫자를 저장할 때 사용
double       약 ±1.7 × 10^-308 ~ ±1.7 × 10^308 정밀한 소수 계산이 필요할 대 사용
문자형 char       유니코드 문자를 저장 하나의 문자(문자코드)를 저장
논리형 boolean       값: true 또는 false 참 또는 거짓 값을 저장

 

2️⃣ 참조 데이터 타입 (Reference Type)

  • 클래스(Class), 배열(Array), 인터페이스(Interface)
  • 참조 타입은 값이 아니라 메모리 주소를 저장합니다.
  • null 값을 가질 수 있으며, 객체를 가리킵니다.

기본 데이터 타입은 값을 직접 저장하지만, 참조 타입은 객체의 메모리 주소를 저장합니다

 

기본형 변수의 특징

  • 소문자로 시작합니다
  • 변수 선언과 동시에 메모리가 할당됩니다
  • 스택(stack) 메모리에 저장됩니다
  • null 값을 가질 수 없습니다
  • 산술 연산이 가능합니다

기본형 변수는 실제 연산에 필요한 값을 직접 저장하므로, 계산기의 사칙연산과 같은 기본적인 연산에 주로 사용됩니다

 

2️⃣ 변수 선언 + 초기화 예제


변수 선언만 하는 방법

public class Test {
    public static void main(String[] args) {
        String a;
        a = "떡볶이";

 

변수 선언과 동시에 초기화하는 방법

public class Test {
    public static void main(String[] args) {
        String a = "떡볶이";

 

변수 명명 규칙

  • 영문자(대소문자), 숫자, 언더스코어(_), 달러($)만 사용 가능합니다.
  • 숫자로 시작할 수 없습니다.
  • 변수명 사이에 공백을 포함할 수 없습니다.
  • 자바의 예약어(키워드)는 사용할 수 없습니다.

 

실습 내용 

        System.out.println(price * 3);

        String name = "떡볶이";

        System.out.println(name);
//        System.out.println( product );


        // price 변수 , "price" 문자열
        // int << 정수
        // string << 문자열

//  자바에서 실수를 저장하는 방법
//  1.float(잘안쓴다)  2. double(더 큰 실수 이기에 가장 많이 쓴다)
       float rate = 0.9f;
       double rate2 = 0.9;
        System.out.println(price * rate2);

//  떡볶이 3인분의 가격을, totalprice 라고 저장 하겠습니다.
       int totalprice = price * 3;
        System.out.println("떡볶이 3인분의 가격은");
        System.out.println(totalprice);
        System.out.println("이다" );

        int level; // 변수선언 (과자봉지만 먼저 만든 것)
        level = 10; // 데이터 저장 (과자봉지안에 과자 넣은것)
        System.out.println(level);

        int level1= 20;
        System.out.println(level1);
        
        level = 15;
        System.out.println(level);


        System.out.println("떡볶이 3인분의 가격은" + totalprice + "이다");

        double dnum = 3.14;
        float fnum = 3.14f;

        System.out.println(dnum); //(더 큰 실수 이기에 가장 많이 쓴다)
        System.out.println(fnum); //float(잘안쓴다)
    // Java 에서는 _ 를 사용하지 않는다. C언어에서 _ 사용한다.
//        is_married 스테이크방식(뱀같다 띄어쓰기를 할때 언더바를 쓴다)
//        isMarried 카멜방식 (낙타같다 띄어쓰기를 하고 싶으면 문장에 대문자를 넣는다.)
        boolean isMarried= true;
        System.out.println(isMarried);

//        isMarried 를 플스로 바꾸고 싶다.
        isMarried = false;
        System.out.println(isMarried);
        System.out.println("isMarried");

변수를 처음 생성 할 경우 

  int a = 1 인트를 쓰고 

내용을 수정 하고 싶은 경우 

  a = 1

인트를 안쓴다

public class VarTest {
    public static void main(String[] args) {
        int a = 12; // 메모리에 정수 a 과자봉지를 만들고 내용물은 12를 넣었다
        int b = 13; // 메모리에 정수 b 과자봉지를 만들고 내용물은 12를 넣었다
        float c = 3f; // 메모리에 실수 c 과자봉지를 만들고 내용물은 12를 넣었다
        //연산! = > 숫자 데이터를 가공
        // a와 b의 평균을 구하세요
        System.out.println( (a + b) / 2);
        // 컴퓨터는 정수+정수+2(정수)로 계산하기 떄문에 결과 값이 12로 나온다
        System.out.println( (a + b) / 2.);
        // 그래서 소수점을 표현하기 위해 나누기 숫자를 실수로 변경해서 표현하면 12.5 의 정확한 값이 나온다

        System.out.println( a * b);
        System.out.println( a * c);
        System.out.println(a/b);
        // 정수 / 정수를 하는 방법
        // 정수를 실수로 만들어야 한다.
        // 3을 실수로 만들면 3.0
        // 실수를 정수로 만들면 ??
        // 3.14 => 3을 하면 절대 안된다 ( 데이터 소실)
        // 오른쪽에 변수를 왼쪽 괄호안의 데이터 타입으로 바꿔라
        //casting(캐스팅)
        System.out.println((double)a/b);

        // a를 b 로 나누었을때, 나머지를 구하라.
        // 7을 2로 나눴을대, 나머지는?
        System.out.println(7 % 2 );
        System.out.println(30 % 5 );
        System.out.println(30 % 7 );
        System.out.println(3. % 7.);
    }
}

⚠️ 변수 사용 시 주의할 점

  1. 변수명은 의미 있게 짓는 것이 좋습니다.
    • 예: int x; (X) → int studentAge; (O)
  2. 숫자로 시작할 수 없습니다. (int 1number; ❌)
  3. 공백을 포함할 수 없습니다. (int my number; ❌)
  4. 예약어(public, class 등)는 사용할 수 없습니다.
  5. 한 번 선언한 변수는 같은 범위 내에서 다시 선언할 수 없습니다.

자바의 변수명은 camelCase 스타일을 따르는 것이 일반적입니다.


🎯 정리 및 다음 강의 예고

✅ 이번 강의에서 배운 내용:

  1. 변수란 무엇인가?
  2. 자바의 기본 데이터 타입과 참조 데이터 타입
  3. 변수 선언과 초기화
  4. 변수 사용 예제 및 실행 결과 확인
  5. 변수 사용 시 주의할 점

📌 다음 강의: [Java 4강] 연산자와 제어문 (산술, 비교, 논리 연산자 및 if, switch, 반복문)

728x90
반응형