*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 |