본문 바로가기
내일배움캠프 스프링3기

내일배움캠프 - 자바 문법 종합반 1주차 강의

by 김공돌 2023. 10. 12.

*JVM(Java Virtual Machine) - 자바 가상 머신

 - 자바를 실행시킬 수 있는 가상의 기기를 만들어 주는 것

*Java Compiler

 - .java 파일을 운영체제가 읽을 수 있는 .class 파일로 변환해주는 변환기

 

*JRE(Java Runtime Environment) - 자바 실행 환경

 - .class 파일 실행,(.java 파일을 읽을 수 없음)

 

*JDK(Java Development Kit) - 자바 개발 도구

 - JRE 기능 포함

 - Java Compiler 기능 포함

 - 코드를 디버깅 해주는 jdb 기능

 * 디버깅

  - 중단점 일시정지 + 코드 라인단위 설정

 클래스 : .java를 .class로 바꿀때 기준이 되는 곳
 public : 접근 제어자, public(공고의, 공통의)
 메인 클래스의 이름은 .java 파일의 이름과 일치해야한다

 

* ( ) : 소괄호,  { } : 중괄호, [ ] : 대괄호
* main 메소드

 - 자바 프로젝트(앱)는 제일 먼저 클레스의 main 메소드를 실행 시킨다.  => JVM의 약속

 

* public static "~" 클래스명 : 메서드의 출력값의 데이터 타입

 

* 클래서명("~") : 매개변수 자리
* String[[ args : arg 문자열을 배열로 사용하겠다.

 

* 객체 : 특징(속성, 변수), 행동(매소드)

 

*변수 : 변하는 저장 공간

 - 저장공간의 선언과 값의 저장

  - 저장공간의 선언

   - int number

    타입, 이름

(값의 종류), (값의 이름)

 - 하나의 값을 저장할수 있는 공간

 

* 상수 : 변하지 않는, 않을 저장공간

 - 변하지 않을 값을 위한 저장공간

 -  final 타입 변수명

 

자료형(기본형)

- 논리형 : boolean = True/False 값만 저장

- 문자형 : char = 'A', '1' 과 같은 문자 하나만 저장

- 정수형 : byte,short,int,long = 1,2,3와 같은 정수형 숫자값 저장

- 실수형 : float, double = 0.1 등 소수점 실수 값 저장

 

자료형(참조형)

 - 문자열 : String = "Apple"와 같은 문장을 저장

 - Object, Array, List =  객체, 배열, 리스트 등 단일 저장공간에 담을 수 없는 값을 저장

 

래퍼 클래스(Wapper class)

 - 기본형 변수를 클래스로 한번 깜싸는 변수

 - 기본변수를 래퍼변수로 감싸는 것 : 박싱

 - 래퍼변수를 기본변수로 가져오는 것 : 언박싱

 

 

변수의 차이점

 - 기본형 변수 : 실제 값을 저장(원본값이 Stack 영역의 존재)

 - 참조형 변수 : 원본의 주소 값을 저장 (원본값이  Heap 영역의 존재)

 

*Bit, Byte

 - 1Byte = 8bit

 - Bit = 0,1형태의 2진수 데이터로 컴퓨터가 표현(저장) 가능한 최소 단위

10진수 2진수 16진수
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

* 형변환

* Double, Float to Int
double doubleNumber = 10.101010;
float floatNumber = 10.1010

int intNumber;
intNumber = (int)doubleNumber; // double -> int 형변환
intNumber = (int)floatNumber; // float -> int 형변환

* Int to Double, Float
int intNumber = 10;

double doubleNumber = (double)intNumber; // int -> double 형변환
float floatNumber = (float)intNumber;  // int -> float 형변환

 

- `작은 타입` > `큰 타입` 형변환시 (자동 형변환)
    - 더 큰 표현범위를 가진 타입으로 변환되는것이라 값의 손실이 없습니다.
    - 값의 손실없이 변환이 가능하기 때문에 컴파일러가 자동으로 형변환을 해줍니다.


- `큰 타입` > `작은 타입` 형변환시 (강제 형변환 = 캐스팅)
    - 더 작은 표현범위를 가진 타입으로 변환된는것이라 값의 손실이 생깁니다.
    - 값의 손실이 생기기 때문에 자동으로 형변환을 해주지 않고 개발자가 선택하여 형변환을 합니다.

1주차 숙제
- 입력값
    - 내가 좋아하는 요리 제목을 먼저 입력합니다.
    - 요리 별점을 1~5 사이의 소수점이 있는 실수로 입력해주세요. (ex. 3.5)
    - 이어서 내가 좋아하는 요리 레시피를 한 문장씩 10문장을 입력합니다.
- 출력값
    - 입력이 종료되면 요리 제목을 괄호로 감싸서 먼저 출력 해줍니다.
    - 이어서, 요리 별점을 소수점을 제외한 정수로만 출력해줍니다. (ex. 3)
    - 바로 뒤에 정수별점을 5점만점 퍼센트로 표현했을 때 값을 실수로 출력해줍니다. (ex. 60.0%)
    - 이어서, 입력한 모든 문장 앞에 번호를 붙여서 모두 출력 해줍니다.

입력 예시
백종원 돼지고기 김치찌개 만들기
4.5
돼지고기는 핏물을 빼주세요.
잘익은 김치 한포기를 꺼내서 잘라주세요.
냄비에 들기름 적당히 두르고 김치를 넣고 볶아주세요.
다진마늘 한스푼, 설탕 한스푼 넣어주세요.
종이컵으로 물 8컵 부어서 센불에 끓여주세요.
핏물 뺀 돼지고기를 넣어주세요.
된장 반스푼, 양파 반개, 청양고추 한개를 썰어서 넣어주세요.
간장 두스푼반, 새우젓 두스푼, 고춧가루 두스푼반 넣어주세요.
중불로 줄여서 오래 끓여주세요~!!
마지막에 파 쏭쏭 썰어서 마무리하면 돼요^^
출력 예시
[ 백종원 돼지고기 김치찌개 만들기 ]
별점 : 4 (80.0%)
1. 돼지고기는 핏물을 빼주세요.
2. 잘익은 김치 한포기를 꺼내서 잘라주세요.
3. 냄비에 들기름 적당히 두르고 김치를 넣고 볶아주세요.
4. 다진마늘 한스푼, 설탕 한스푼 넣어주세요.
5. 종이컵으로 물 8컵 부어서 센불에 끓여주세요.
6. 핏물 뺀 돼지고기를 넣어주세요.
7. 된장 반스푼, 양파 반개, 청양고추 한개를 썰어서 넣어주세요.
8. 간장 두스푼반, 새우젓 두스푼, 고춧가루 두스푼반 넣어주세요.
9. 중불로 줄여서 오래 끓여주세요~!!
10. 마지막에 파 쏭쏭 썰어서 마무리하면 돼요^^
public class test1 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String cook = sc.nextLine();
        double star = sc.nextDouble();
        sc.nextLine();
        int istar = (int)star;
        double per = ((double) istar/(double) 5)*100;
        String text1 = sc.nextLine();
        String text2 = sc.nextLine();
        String text3 = sc.nextLine();
        String text4 = sc.nextLine();
        String text5 = sc.nextLine();
        String text6 = sc.nextLine();
        String text7 = sc.nextLine();
        String text8 = sc.nextLine();
        String text9 = sc.nextLine();
        String text10 = sc.nextLine();

        System.out.println("["+cook+"]");
        System.out.println("별점은 : " + istar + "("+per+"%)" );
        System.out.println("1. "+text1);
        System.out.println("2. "+text2);
        System.out.println("3. "+text3);
        System.out.println("4. "+text4);
        System.out.println("5. "+text5);
        System.out.println("6. "+text6);
        System.out.println("7. "+text7);
        System.out.println("8. "+text8);
        System.out.println("9. "+text9);
        System.out.println("10. "+text10);
    }
}

 

 

 

 

 

 

 

 

'내일배움캠프 스프링3기' 카테고리의 다른 글

내배켐 JWT 에 대하여  (0) 2023.11.13
내배켐 TIL 3 번째 알고리즘 풀이  (0) 2023.11.09
새로 쓰는 TIL 2일차  (0) 2023.11.07
새롭게 다시쓰는 TIR  (1) 2023.11.06
TIL 임시  (0) 2023.10.12