Java : Scanner, 변수타입 심화

커비·2024년 11월 10일
0

Java

목록 보기
24/55
post-thumbnail

🕘 지난 시간 배운 내용에 대한 몇가지 정리

String : 문자열은 문장의 끝에 \0(널문자)가 함께 저장이 된다. (몇개의 byte를 쓸지 모르기에 끝을 표시해야 함)

참조형 변수 = 주소형 변수
: 다른 기본형 변수가 실제 값을 저장하는 저장공간이라면, 참조형 변수는 실제 값이 아닌 원본값의 주소값을 저장함
: 참조형 변수는 주소값을 저장하는 주소형 변수라고 불러도 됨


🔄 숫자와 문자 변환

숫자를 문자로 변환하고, 문자를 숫자로 변환하는 방법을 적어보았다.

❗ 숫자를 문자로 변환

import java.util.Scanner;

public class JavaScanner {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int asciiNumber = sc.nextInt();
        char ch = (char)asciiNumber; // 문자로 형변환을 해주면 숫자에 맞는 문자로 표현됨

        System.out.println(ch);
    }
}

❗ 문자를 숫자로 변환

import java.util.Scanner;

public class JavaScanner2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        char letter = sc.nextLine().charAt(0); // 첫번째 글자만 받아오기위해 charAt(0) 메서드를 사용
        int asciiNumber = (int)letter; // 숫자로 형변환을 해주면 저장되어있던 아스키 숫자값으로 표현됨

        System.out.println(asciiNumber);
    }
}

🚥 Stack영역과 Heap영역

Stack영역

: 정적으로 할당된 메모리 영역

  • 크기가 몇 byte인지 정해져있는 기본형 변수를 저장
  • 크기가 정해져있는 참조형 변수의 주소값도 저장

Heap영역

: 동적으로 할당된 메모리 영역

  • 크기가 계속 늘어날 수 있는 참조형 변수의 원본을 저장

🖨️ 입력과 출력

입력

Java프로그램에서 기본적으로 Scanner.in 객체의 next() 명령을 사용해서 입력받음


// Scanner 객체를 new 명령어로 생성
Scanner sc = new Scanner(System.in);

// sc(Scanner)의 .next(); 를 실행하면 input 변수에 입력한 글자를 받을 수 있음
String input = sc.next();

출력

Java 프로그램에서 기본적으로 System.out 객체의 println() 명령을 사용해서 출력함


Scanner sc = new Scanner(System.in);
String input = sc.next();

// 입력한 글자 출력
System.out.println("입력값 : " + input);

// 실행결과
{입력}
입력값 : {입력}

🔌 비트와 바이트

비트

  • 비트는 0, 1 형태의 2진수 데이터로서 컴퓨터가 저장할 수 있는 최소 단위
  • 정수형 값은 10진수 숫자(0~10 범위의 숫자)이며 2진수(0~1범위)Bit로 저장함
  • 4개의 Bit로 16진수 숫자(0~F(16)범위의 숫자)를 2진수(0~1범위)로 저장함

바이트

  • 바이트는 8개의 비트로 구성되어 있음
  • 1Byte 내에서 숫자 변수는 Bit 2진수를 10진수로 저장함
    - 10진수로는 0~255(2의 8승)까지 저장함
  • 1Byte 내에서 문자 변수의 경우만 Bit 2진수를 16진수로 저장함
profile
전공은 컴퓨터공학, 복수전공은 해킹보안학, 직장은 방학(파워 구직중)

0개의 댓글