24.07.23

윤지현·2024년 7월 23일

TIL

목록 보기
22/75
- 🍽️ 변수(그릇에 값 담기)
    - 저장 공간 선언
       - 값의 타입 : 접시 종류
       - 값의 이름 : 접시 이름
       - 초기화 : 선언과 동시에 저장
       - 덮어쓰기 : 선언 이후 값을 저장

- 🧷 상수
    - 변하지 않은 저장공간
	------------------------------------------
	final int number = 10; // 1. 상수로 선언 (데이터 타입 앞에 final 을 붙이면 됩니다.)
	number = 11; // e2. 변수의 값을 바꾸려고하면 에러가 납니다!
- ❓ 기본형 변수란?
    - 논리형 변수 : boolean
        - True/False 만 저장
    - 문자형 변수 : char
        - 'A', '1', 'a' 등 한 글자만 저장
    - 정수형 변수 : byte, short, int, long
        - 0,1,2,3 같은 정수형 숫자만 저장
    - 실수형 변수 : float, double
        - 0.123, 0.99999 와 같은 소수점 실숫값을 저장
        - 실수는 표현 범위가 매우 넓어서 정수형 변수에서 담지 못할 수 있습니다.
- 📑 참조형 변수
    - 문자열 변수 : String
        - “Apple”, “텍스트” 와 같은 문장을 저장합니다.
        ------------------------------------------
        ex - String message = "Hello World"; // 문자열을 저장합니다.
- 그 외 : Object, Array, List …
    - 단일 저장공간에 담을 수 없는 값을 저장
    ------------------------------------------
    List<int> alphabet = [0,1,2,3]; // 기본형 변수 여러개를 저장합니다.
 - 🎁 래퍼 클래스 변수
    - “기본형 변수를 클래스로 한번 랩핑(감싸는) 변수”
        - 박싱 : 기본형 변수 -> 래퍼 클래스 변수
        - 언박싱 : 래퍼 클래스 변수 -> 기본형 변수
        ------------------------------------------
// 박싱
// Integer 래퍼 클래스 num 에 21 의 값을 저장
int number = 21;
Integer num = new Integet(number);
// 언박싱
int n = num.intValue(); // 래퍼 클래스들은 inValue() 같은 	언박싱 메서드들을 제공해줍니다.
- 🔢숫자와 🔠문자
    - 숫자(int)를 문자(char)로 매핑해서 표현
        - Java에서는 기본적으로 아스키코드라는 규칙으로 문자를 저장(표현) 
- 문자와 문자열
    - 선언 관점에서 차이점
        - 문자 (char)
        	- char alphabet = 'A'; // 문자 하나를 저장합니다. (''따옴표 사용)
        - 문자열 (String)
        	- String message = "Hello World"; // 문자열을 저장합니다. (""쌍따옴표 사용)
    - 저장 관점에서 차이점
        - 문자 (char)
        	- 문자 뒤에 \0(널문자) X
        	- (1 byte만 쓰기 때문에 끝을 알아서 데이터만 저장)(''따옴표 사용)
        - 문자열 (String)
        	- 문장의 끝에 \0(널문자) O
            - (몇 개의 byte를 쓸지 모르기 때문에 끝을 표시)
    - 참조형
        - 문자 (char) - 기본형
        - 문자열 (String) - 참조형
- 참조형
    - 참조형 변수 = 주솟값을 저장하는 '주소형 변수'
    - 저장 관점에서 차이점
        - 기본형 변수 : 원본 값이 Stack 영역에 있습니다.
		- 참조형 변수 : 원본 값이 Heap 영역에 있습니다.

	- Stack과 Heap
    	-  Stack : 정적으로 할당된 메모리 영역
        -  Heap : 동적으로 할당된 메모리 영역
- ⌨ 입력 & 💻 출력
    - ⌨ 입력
    ------------------------------------------
	Scanner sc = new Scanner(System.in); // Scanner 객체를 new 명령어로 생성합니다.
	String input = sc.next();  // sc(Scanner)의 .next(); 를 실행하면 input 변수에 입력한 글자를 받을 수 있습니다.
    - 💻 출력
    ------------------------------------------
    System.out.println("입력값 : " + input);  // 입력한 글자를 출력합니다.
- 변수 타입 바꾸기(형변환)
    - 정수 ↔ 실수 ↔ 문자
	- 자동 형변환
    	- 큰 크기로 형변환 : 작은 크기 타입 -> 큰 크기의 타입
        - 공통 실행환경🗺️이 있어서 여러 기기에서 실행 가능

HW. 1주차 숙제

💁‍♀️ 요리 레시피 메모장 만들기

- 입력값
    - 내가 좋아하는 요리 제목을 먼저 입력합니다.
    - 요리 별점을 1~5 사이의 소수점이 있는 실수로 입력해 주세요. (ex. 3.5)
    - 이어서 내가 좋아하는 요리 레시피를 한 문장씩 10문장을 입력합니다.
- 출력값
    - 입력이 종료되면 요리 제목을 괄호로 감싸서 먼저 출력해 줍니다.
    - 이어서, 요리 별점을 소수점을 제외한 정수로만 출력해 줍니다. (ex. 3)
    - 바로 뒤에 정수 별점을 5점 만점 퍼센트로 표현했을 때 값을 실수로 출력해 줍니다. (ex. 60.0%)
    - 이어서, 입력한 모든 문장 앞에 번호를 붙여서 모두 출력해 줍니다.
----------------------------------------------------------------
ex) 입력 예시
백종원 돼지고기 김치찌개 만들기
4.5
돼지고기는 핏물을 빼주세요.
잘익은 김치 한포기를 꺼내서 잘라주세요.
냄비에 들기름 적당히 두르고 김치를 넣고 볶아주세요.
다진마늘 한스푼, 설탕 한스푼 넣어주세요.
종이컵으로 물 8컵 부어서 센불에 끓여주세요.
핏물 뺀 돼지고기를 넣어주세요.
된장 반스푼, 양파 반개, 청양고추 한개를 썰어서 넣어주세요.
간장 두스푼반, 새우젓 두스푼, 고춧가루 두스푼반 넣어주세요.
중불로 줄여서 오래 끓여주세요~!!	
마지막에 파 쏭쏭 썰어서 마무리하면 돼요^^
----------------------------------------------------------------
[ 백종원 돼지고기 김치찌개 만들기 ]
별점 : 4 (80.0%)
1. 돼지고기는 핏물을 빼주세요.
2. 잘익은 김치 한포기를 꺼내서 잘라주세요.
3. 냄비에 들기름 적당히 두르고 김치를 넣고 볶아주세요.
4. 다진마늘 한스푼, 설탕 한스푼 넣어주세요.
5. 종이컵으로 물 8컵 부어서 센불에 끓여주세요.
6. 핏물 뺀 돼지고기를 넣어주세요.
7. 된장 반스푼, 양파 반개, 청양고추 한개를 썰어서 넣어주세요.
8. 간장 두스푼반, 새우젓 두스푼, 고춧가루 두스푼반 넣어주세요.
9. 중불로 줄여서 오래 끓여주세요~!!	
10. 마지막에 파 쏭쏭 썰어서 마무리하면 돼요^^

  • 결과
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String title = scan.nextLine();
        float score = scan.nextFloat();
        String input1 = scan.nextLine();
        String input2 = scan.nextLine();
        String input3 = scan.nextLine();
        String input4 = scan.nextLine();
        String input5 = scan.nextLine();
        String input6 = scan.nextLine();
        String input7 = scan.nextLine();
        String input8 = scan.nextLine();
        String input9 = scan.nextLine();
        String input10 = scan.nextLine();
        double percentage = (double) ((int) score * 100) / 5;
        System.out.println("[ " + title + " ]");
        System.out.println("별점 : " + (int)score + " (" + percentage + "%)");
        System.out.println("1. " + input1);
        System.out.println("2. " + input2);
        System.out.println("3. " + input3);
        System.out.println("4. " + input4);
        System.out.println("5. " + input5);
        System.out.println("6. " + input6);
        System.out.println("7. " + input7);
        System.out.println("8. " + input8);
        System.out.println("9. " + input9);
        System.out.println("10. " + input10);
        scan.close();
    }
}
profile
첫 시작

0개의 댓글