티스토리 뷰

Java

JAVA - 기본형과 참조형

장진혁 2023. 2. 13. 17:00

자료형은 기본형과 참조형이 있다.

기본형은 변수의 실제 값을 저장한다.

기본형은 논리, 문자, 정수, 실수형으로 분리된다.

기본형

  • 논리형 : true, false
  • 문자형 : char(문자), String(문자열)
  • 정수형 : int, long
  • 실수형 : float, double

 

1bit 에는 0과 1이 들어간다. 1bit공간의 개수는 2개이다.

1byte는 8bit이다. 1byte의 공간의 2^8이므로 256개 이다. 즉 범위는 -128~127이다. 

 

실수형 표현 범위

float 정밀도 소수점 7자리, 크기는 4byte-> 8bit x 4 = 32bit

double 정밀도 소수점15자리 크기는 8byte-> 8bit x 8 = 64bit

 

메모리에 값이 저장되는 과정

  • byte b;
  • b = 3;

----- 한 줄로 쓰면 밑에꺼임 위랑 동일함 -----

  • byte b = 3;
  • 1byte는 8bit이기 때문에 0000 0000 공간이 생기고 3이라는숫자는 0000 0011이기 때문이다.

 

아스키코드 

  • A는 아스키코드로 65이다.      0000 0000 ===== 128 64 32 16  8 4 2 1 
  • char c = 'A';                        0100 0001 ===== 64+1

 

정수형 오버플로우

  • 각 타입의 범위를 넘어서면 값을 순환한다.
  • short 범위는 -32768~32787 이다. 
  • -32768 -1 을 하면 23767이 된다.
  • 32787 +1 을 하면 -32768 이 된다.

 

타입간의 변환방법

문자와 숫자간의 변환

  • 숫자를 문자로 (숫자 + '0' = 문자)
  • 문자를 숫자로 (문자 - '0' = 숫자)

 

문자, 숫자 문자열로 변환

  • 숫자를 문자열 (숫자 + "" = 문자열)
  • 문자를 문자열 (문자 + "" = 문자열)

 

문자열을 숫자, 문자로 변환

  • 문자열을 숫자로 Integer.parseInt("문자열")    
public class ex01 {
    public static void main(String[] args) {
        String num1 = "1234";
        String num1_2 = "4321";
        String sum1 = num1+num1_2;

        System.out.println("num1+num1_2 = "+sum1);

        int num2 = Integer.parseInt(num1);
        int num2_2 = Integer.parseInt(num1_2);
        int sum2 = num2+num2_2;

        System.out.println("num2+num2_2 = "+sum2);
    }
}

//출력결과
//num1+num1_2 = 12344321
//num2+num2_2 = 5555

문자열을 문자로 변환

  • "문자열".charAt(0)       
  • 숫자 0은 문자열 문자별 위치 인덱스이다.
  • 문자열 123일때 1이다.
public class ex4 {
    public static void main(String[] args) {
        String str1 = "123";
        System.out.println(str1.charAt(0));
        System.out.println(str1.charAt(1));
        System.out.println(str1.charAt(2));
        System.out.println("str.charAt() = " + str1.charAt(0) + str1.charAt(1) + str1.charAt(2));
    }
}

//출력결과
//1
//2
//3
//123

참조형

기본형을 제외한 나머지 타입을 뜻한다.

 

'Java' 카테고리의 다른 글

JAVA - 형변환과 자동 형변환  (0) 2023.02.13
JAVA - 문자와 문자열  (0) 2023.02.13
JAVA - 상수(constant)와 리터럴(literal)  (0) 2023.02.13
Java - 인터페이스  (0) 2023.01.28
Java - 추상메서드  (0) 2023.01.28
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함