[TIL] 20231012_4

Xtraa·2023년 10월 12일
0

TIL

목록 보기
4/99

하루를 돌아보며, TMI

오늘부터 Java를 시작했다. 내배캠 강의와 Java의 정석 기초편을 같이 보면서 공부를 했다. 강의를 보고 정석을 보면서 추가적인 내용을 공부하면 될듯

공부한 내용

Java의 정석 chap1~2

변수

  • 변수, 상수, 리터럴
  • 기본형과 참조형
  • printf / %d(10진수), %x(16진수), %f(실수), %c(문자), %s(문자열)
  • Scanner 클래스
  • 오버플로우 <= 어제 공부했던 cpu 계산과 같은 원리의 내용
  • 형변환
  - 숫자를 문자로 변환 - 숫자에 '0'을 더한다.
  (char)(3 + '0') => '3'
  
  - 문자를 숫자로 변환 - 문자에서 '0'을 뺀다.
  '3' - '0' => 3
  
  - 숫자를 문자열로 변환 - 숫자에 빈 문자열("")을 더한다.
  3 + "" => "3"
  
  - 문자열을 숫자로 변환 - Integer.parselnt() 또는 Double.parseDouble()사용
  Integer.parseInt("3") => 3
  Double.parseDouble("3.14") => 3.14
  
  - 문자열을 문자로 변환 - charAt(0)을 사용한다.
  "3".charAt(0) => '3'
  
  - 문자를 문자열로 변환 - 빈 문자열("")을 더한다.
  '3' = "" => "3"

넓고 얕은 컴퓨터 구조

컴퓨터가 기억공간을 관리하는 방법

  • Register > Cache memory > RAM > disk(File system)

    • 레지스터는 개별 기억공간마다 고유 이름을 붙인다.
    • 주 기억장치는 일련번호를 붙인다.
    • 보조기억장치는 Track번호와 Sector번호를 붙여 관리한다.
  • HDD, SSD와 파일 시스템

    • FAT, NTFS - 파일 시스템
      • FAT - track, sector, 파일명 / 삭제시 실제 데이터를 지우는게 아닌 마킹만
    • MBR(Master Boot Record) - 부트로더(운영체제)
    • Format - 데이터삭제, 파일 시스템 초기화

활용 및 구현

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // 나중에 for문으로 만들어 보면 될듯
        Scanner sc    = new Scanner(System.in);
        String  title = sc.nextLine();
        float   rate  = sc.nextFloat();
        sc.nextLine();
        String input1  = sc.nextLine();
        String input2  ~~~
        

        System.out.println("[" + title + "]");
        // (int)rate를 새로운 변수에 넣어서 하면 재활용(?)이 더 좋을듯
        double per = (int) rate * 100 / 5.0;
        System.out.println("별점 : " + (int) rate + " (" + per + ")%");
        System.out.println("1. " + input1);
        System.out.println("2. ~~~

공부하면서 배운 것들, 힘들었던 것들

추가 학습

float   rate  = sc.nextFloat();
        sc.nextLine();
        String input1  = sc.nextLine();

next(), nextInt(), nextFloat() 등등
스페이스, 공백 전까지 입력받은 문자열을 리턴한다.
즉, 띄어쓰기 (= \s)을 기준으로 입력을 받는다.

nextLine()
엔터를 치기 전까지 쓴 문자열을 리턴한다.
즉, 줄바꿈(= \n)을 기준으로 입력을 받는다.

이것 때문에 조금 헤매다가 원인을 알고 해결!

참고자료

profile
https://xtraa.notion.site/Xtraa-ed48ac432d354d01b5bf5b0da5ec94a9?pvs=4

0개의 댓글