본문 바로가기
Java

3강 변수

by 보라코끼리 2021. 7. 30.
728x90
  • [인프런]자바 프로그래밍 입문강좌 3강 변수 정리입니다.
  • 메모리에 데이터를 저장해서 재활용하는 방법을 학습합니다.

3.1 변수란?

  • 데이터(자료)를 임시로 담을 수 있는 상자(메모리 공간)
    • 프로그래밍을 할 때에는 많은 데이터를 처리한다. 원격지에 있는 데이터를 가지고 올 수도 있고, 로컬에 있는 프로그램 안에 데이터를 가질 수도 있다.
    • ex) 학급의 성적을 관리하는 프로그램 - A라는 학생의 점수, B라는 학생의 점수, C라는 학생의 점수 모두 어딘가에는 저장을 해두어야 한다. 저장된 점수를 더하기도, 곱하기도, 나누기도 한다. 가장 큰 수를 구하기도, 낮은 수를 구하기도 한다. -> 여러가지 연산에 이용한다. 

  • int i = 10;
    • 캐시상에 메모리가 있고 메모리의 일정한 부분에 저장 공간을 지정해두고 그 공간의 이름을 i 라고 지정한다. 
    • i라는 공간에 데이터 10을 담는다.
    • 담겨있는 상자 : 변수
    • int : 상자 안에 담겨있는 데이터의 형태(자료형)

=> i 라는 상자 안에 10이라는 데이터가 담겨있는데 이 데이터는 자료형이 정수이다.

 

3.2 변수 선언과 초기화

  • 선언부
    • 변수를 선언했다. = 값은 아직 정해지지 않았지만 메모리 상에서 특정한 공간을 지정했다(확보했다).
    • int i : 메모리의 특정한 공간을 i라고 이름짓고 안의 데이터는 int 형으로 담기로 한다.
  • 대입연산자(할당연산자)
    • 오른쪽에 있는 값을 왼쪽으로 대입
    • 10을 i에 대입한다. = 10을 i라는 상자에 넣는다.
  • 변수선언과 초기화 방법
    1. 변수 선언 후 초기화 진행
    2. 변수 선언과 초기화를 동시에 진행
    // 선언과 초기화를 함께
    int i = 10;

    // 선언과 초기화를 따로
    int j;
    j=100;

    System.out.println("i + j = " + (i+j));
    
    결과 : i + j = 110

    

3.3 메모리 할당과 진법

 

  • 숫자(정수, 실수), 문자, 문자열 등의 자료형이 있다.
  • 자료형에 따라서 변수가 전체 메모리에서 차지하는 공간이 결정된다.
    • int 자료형은 메모리에서 4byte(32bit)를 차지한다.
      • int i; 라고 선언을 하게되면 4byte의 공간이 할당된다.
      • i = 10; 이라고 초기화하면 10진수인 10이 2진수인 1010으로 변환되어 저장된다.

3.4 변수 데이터 변경

  • 변수에 저장된 데이터는 언제든지 변경할 수 있다.
    • 변수는 변하는 수라는 뜻
    • 동일한 이름으로 선언은 불가. 하지만 초기화한 값은 언제든지 변경할 수 있다.
    int num = 0;
    System.out.println("num = " + num);

    num = 10;
    System.out.println("num = " + num);

    num = 100;
    System.out.println("num = " + num);

    num = 0;
    System.out.println("num = " + num);

    // 결과 
    //    num = 0
    //    num = 10
    //    num = 100
    //    num = 0
  • 변수를 사용하는 이유? 
    • 재활용을 하기 위해서 
      • ex) A, B, C 학생의 성적을 관리한다.
        1. A, B, C를 변수로 만들고 각각의 점수를 담는다. 
        2. 점수를 담은 후 나중에 재활용할 수 있다.
          • 총 점수 합계 : A + B + C 
          • 평균 : 합계 / 학생 수

 

728x90

'Java' 카테고리의 다른 글

6강 연산자  (0) 2021.07.31
5강 특수 문자와 서식 문자  (0) 2021.07.30
4강 기본자료형  (0) 2021.07.30
2강 Java 프로그램의 실행 구조  (0) 2021.07.28
1강 Java 프로그래밍이란?  (0) 2021.07.28