Posts ☕️ [Java] 30일 안에 기초 떼기/ DAY-03
Post
Cancel

☕️ [Java] 30일 안에 기초 떼기/ DAY-03

◻️ DAY-03


챕터자료형
2-3변수가 저장되는 공간의 특성, 자료형
2-4상수 선언하기



◻️ 변수와 메모리


  • 변수는 컴퓨터 내부의 메모리 공간에 저장된다.
  • int level; 문장을 선언하면, 메모리에 4바이트 크기의 공간이 level이란 이름으로 할당된다.
  • 이후에 level 변수를 연산에 사용하거나 값을 출력할 일이 있으면, 이 공간의 값을 가져와서 사용한다.
  • 이때 변수 이름을 사용해서 값을 가져온다.

즉, 선언한 변수 이름으로 어떤 위치에 있는 메모리를 얼마만큼의 크기로 사용하겠다는 뜻이다.



◻️ 기본 자료형


  • 기본자료형 : 자바 라이브러리에서 기본적으로 제공하는 자료형

    기본 자료형은 각 자료형이 사용할 공간의 크기, 즉 바이트 수가 정해져있다.


 정수형문자형실수형논리형
1바이트byte--boolean
2바이트shortchar--
4바이트int-float-
8바이트long-double-


🧙‍♂️ 정수 자료형의 특징


  • byte 형으로 표현할 수 있는 수의 범위: (-128~-127)
  • short 형으로 표현할 수 있는 유효 범위: (-32,768 ~ -32,767)
  • int 형으로 표현할 수 있는 유효 범위: (-2,147,483,648 ~ 2,147,483,647)

정수 자료형으로 int를 가장 많이 사용하는 이유는 컴퓨터에서 정수로 연산을 할 때 4바이트 단위의 처리방식이 가장 효율적이기 때문이다. 따라서 byte 형이나 short 형의 연산은 내부적으로 int 형으로 변환된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

    // 아래의 두 문장은 모두 오류가 난다

    int num1 = 12345678900;
    long num2 = 12345678900;

    /*

    1) num1은 int로 표현할 수 있는 범위를 넘어서기 때문에 오류 발생
    2) long은 int로 변환되어 처리되기 때문에 오류 발생

    해결방법: long 형을 나타내는 식별자인 L이나 l을 사용하려는 숫자 뒤에 붙인다
    */

    long num = 12345678900L;


🚩Commit Link: 2929776



🧙‍♂️ 문자 자료형의 특징


  • 문자 인코딩 문자를 정해진 코드값으로 변환하는 것
  • 문자 디코딩 코드값을 다시 문자로 변환하는 것
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    /*
    * Date: 2021-05-09
    * Author: 이오니
    * Project: [자바 초보탈출 30일]
    * Section: 03일차
    * Subject: "문자형 변수 선언"
    */

    package chapter2_3;

    public class CharacterEx1{
        puplic static void main(String[] args){
            char ch1 = 'A';
            System.out.println(ch1);    // 문자 출력
            System.out.println((int)ch1;)   // 문자에 해당하는 정수값(ASCII) 출력

            char ch2 = '66';
            System.out.println((char)ch2);  // 정수값(ASCII)에 해당하는 문자 출력
        }
    }

👀 ‘A’와 “A”는 전혀 다른 자료형이다. 👀 문자열을 다룰 땐 String 클래스를 사용한다. 👀 String 클래스는 기본 자료형으로 표현할 수 없다.

기본자료형: byte,boolean,short,char,int,float,long,double

🚩Commit Link: c596e62



🧙‍♂️ 실수 자료형


  • double Java의 기본 실수 자료형
  • float 식별자 F로 구분해서 사용하는 실수 자료형
1
2
3
4
5
6
7
8
9
10
11
12
13
    package section_02.float_n_double1;

        public class float_n_double1_0 {
            public static void main(String[] arg) {
                double dnum = 3.14; // Java에서 실수는 double 형을 기본으로 사용
                float fnum = 3.14F; // Float은 식별자 F로 구분

                System.out.println(dnum);
                System.out.println(fnum);
            }
    }

🚩Commit Link: 00a73dd



🧙‍♂️ 논리 자료형


  • true 또는 false만 대입, 출력 가능한 자료형
1
2
3
4
5
6
7
8
9
10
11
12
13
    package section_02.boolean1;

    public class boolean1_0 {
        public static void main(String[] args){
            boolean isMarried = true;       // boolean 변수를 선언하고 초기화
            System.out.println(isMarried);  // 결과 값은 true, false로만 출력

            boolean isMarried2 = false;
            System.out.println(isMarried2);
        }
    }

🚩Commit Link: 02d7891



🧙‍♂️ 상수 선언하기


  • 항상 변하지 않는 값을 상수(Constant) 라고 함
  • 예약어 final을 사용하여 선언
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    package section_02.constant1;

    public class constant1_0 {
        public static void main(String[] args) {
            
            final int MAX_DOG_NUM = 30; // 선언과 동시에 초기화
            
            System.out.print(MAX_DOG_NUM);
        }
    }

    /*
    * 상수 사용이 편리한 이유는, 나중에 소스코드를 작성할 때
    * 특정 소스코드의 상수값이 ex. 30에서 35로 늘어난다면(변경될 경우), 
    * 해당 값이 사용된 모든 구문을 수정해줄 필요 없이
    * 상수를 선언한 부분의 값만 변경해주면 됨
    */

🚩Commit Link: d4bb1ab

This post is licensed under CC BY 4.0 by the author.