오랜만에 알고리즘강의 말고 JAVA강의를 듣는데...너무 행복했다. 자바가 쉽다는게 아니라 알고리즘이 어려웠어서ㅋㅋㅋㅋ
JAVA진도를 다 듣고 백준이나 프로그래머스 문제를 풀어보려고 한다. 백준은 코딩 배우고 일주일도 안됬을때 해보겠답시고 들어갔다가 1단계 겨우 풀고 계속 틀리니까 꺼버렸는데 과연 어느정도까지 풀수 있을지 기대된다. 한두단계만 더 풀어도 오늘은 기분 좋을듯.
3-7. 해쉬 함수
: 임의의 길이를 갖는 메시지를 입력하여 고정된 길이의 해쉬값을 출력하는 함수
-python 콘솔이라는 창을 사용하여
hash("fast") / hash("slow")를 입력하면 임의의 값이 출력된다.(강사님이랑 값이 달라서 놀라지 말기)
[None, None, None, None, None, None]
hash("fast") % 8
7
hash("slow") % 8
1
items = [None] * 8
items[hash("fast") % 8] = "빠른"
items[hash("slow") % 8] = "느린"
items
[None, '느린', None, None, None, None, None, '빠른']
****JAVA****
1-8.조건문
*if 문
if(조건식) {
실행코드
}
-->if 안의 조건식이 True가 아니라면 코드를 실행하지 않는다.
*switch문
-정확히 어떤 케이스에 일치하냐를 판단하는 것이 목적
switch (입력 변수){
case 입력값1 : 실행 구문
break;
case 입력값2 : 실행 구문
break;
case 입력값3 : 실행 구문
break;
default: 기본 실행 구문
break;
}
순서대로 실행된다.
*삼항연산자
(조건식) ? A : B
-? : 앞의 조건이 True면 왼쪽 False면 오른쪽을 실행해준다.
1-9조건문 퀴즈
1-10.반복문
-반복해서 처리해야 할 것들을 로직을 한번만 만들어놓고 코드가 반복해서 실행하게 만드는 것
*for문
for(초기값 ; 조건식 ; 증감식){
실행 코드 블럭
}
-초기값이 조건식에 위배되지 않을 경우 실행 코드를 한바퀴-이후 증감식을 통해 얻어진 값으로 다시 조건식 위배 확인-위배되지 않았을 경우 이전과정을 반복하며 위배될 경우에는 반복문이 끝나게 된다,
*for-each문
for (String day : days) {
System.out.println(day);
}
-배열의 값들을 하나하나 변수에 담아서 출력한다고 생각하면 된다.
*while문
while(조건식){
실행 코드 블럭
}
-break : 반복문을 더 이상 실행X.
-continue : 다시 반복문 코드 블럭의 처음 부분으로 돌아가서 진행
-while문은 조건을 확인하는데, 조건을 확인하지 않고 먼저 실행부터!-->do -while
1-11.반복문 퀴즈
1-12.객체지향언어(1)클래스, 인스턴스, 메소드
*클래스: 표현하고자 하는 대상의 공통 속성을 한 군데에 정의해 놓은 것
*인스턴스: 어떠한 클래스로부터 만들어진 객체
1-13.객체지향언어(2)생성자
*생성자(constructor) : 인스턴스가 생성될 때 사용되는 '인스턴스 초기화 메소드'
- alt+insert 키로 쉽게 사용 가능
-생성자에서 사용된 this는 생성된 객체 자신을 가리키며 생성자의 매개변수의 값을 객체의 해당하는 데이터에 넣어주게 된다.
1-14.객체지향언어(3)상속
*상속
-기존의 클래스를 재사용하는 방식 중의 하나.
-한 번 작성한 코드가 재사용이 필요하다면, 변경사항만 코드로 작성하므로 상대적으로 적은 양의 코드를 작성할 수 있게 됨.
-여러 class를 상속 받을 수는 없다(오직 하나의 class만 상속 가능)
*오버로딩(overloading) vs 오버라이딩(overriding)
-오버로딩 : 한 클래스 내에 동일한 이름의 메소드를 여러개 정의하는 것
메소드 이름이 동일해야함 / 매개변수의 개수나 type이 달라야 함 /
-오버라이딩 : 부모 클래스로부터 상속받은 메소드의 내용을 변경하는 것
'스파르타 부트캠프(spring)' 카테고리의 다른 글
[내일배움캠프_spring] 3주차_JAVA 문법(~1-28강.완강) (0) | 2022.11.16 |
---|---|
[내일배움캠프_spring] 3주차_JAVA 문법(~1-20강) (0) | 2022.11.15 |
[내일배움캠프_spring] 주간회고 WIL - 2주차 (1) | 2022.11.14 |
[내일배움캠프_spring] 2-1주차_알고리즘(3-9강) (0) | 2022.11.11 |
[내일배움캠프_spring] 2-1주차_알고리즘(~3-1) (1) | 2022.11.11 |