오늘 공부내용
- 연산자(Operator) : 산술, 비교, 논리
- 연산자 우선순위
- 콘솔 입출력 (I/O) : scanner 클래스 / System.out.println
- 제어문(Control Flow Statements. 조건문과 반복문이 있음) 중 조건문
- 조건문 :
if문 + if...else문
switch문(if문처럼 조건식이 true일 경우에 블록 내부의 실행문을 실행하는 것이 아니라, 변수가 어떤 값을 갖느냐에 따라 실행문이 선택됨)
if(조건식1) {
//조건식1이 참이라면, 실행되는 블록입니다.
}
else if (조건식2) {
//조건식1이 참이 아니면서 조건식2가 참일 때, 실행되는 블록입니다.
}
else {
//조건식1과 2가 모두 참이 아닐 때, 실행되는 블록입니다.
//else문은 생략 가능합니다.
}
처음 알게 된 부분
- 전위형/후위형 증감 연산자
- 전위형 증감 연산자 : 증감 연산을 먼저 수행한 후, 그 결과값을 적용함. ++a
- 후위형 증감 연산자 : 기존의 값을 먼저 적용하고 그다음에 증감 연산을 수행함. a++
- 복합 대입 연산자
- 등가 비교 연산자 : 기본 타입의 값끼리, 혹은 참조 타입의 값끼리만 등가 비교 연산자를 사용할 수 있다
콘솔 출력 차이점
- 출력하기 : System.out.print()
- 출력하고 줄 바꾸기 : System.out.println()
- 형식대로 출력하기 System.out.printf() : 지시자(specifier, 형식 지정자)를 이용해 변수의 값을 여러 형식으로 출력해 주는 메서드. 지시자는 이름 그대로 값을 어떤 형식으로 출력할 것인지를 지정하기 위해 사용한다. f는 formatted의 약자.
- break; 와 fall through
break를 통해서 switch문을 탈출함. 주의할 점은, break문을 작성하지 않으면 switch문을 탈출하지 않고 모든 case문을 실행하게 되어 원하는 방식으로 동작하지 않는다(이를 fall through라고 함).
잘 이해가 안간 부분
- 형식대로 출력하기 System.out.printf(
- 자바 14에서 표준화된 향상된 switch문(enhanced switch문) : {}를 어디다 사용했다는거지??
아래 사진과 같은 의미였나보다
- 더하기연산자 + 와 복합할당연산자 +=의 차이
- equals() 메서드 : equals() 메서드는 간단히 설명하면, 앞의 변수가 저장하고 있는 문자열의 내용과 () 안의 문자열의 내용이 같은지 비교하여 같으면 true를 다르면 false를 반환해 준다.
package com.codestates.coplit;
public class Solution {
public String followingDay(String day) {
if (day.equals("월요일")) {
return "화요일";
} else if (day.equals("화요일")) {
return "수요일";
} else if (day.equals("수요일")) {
return "목요일";
} else if (day.equals("목요일")) {
return "금요일";
} else if (day.equals("금요일")) {
return "토요일";
} else if (day.equals("토요일")) {
return "일요일";
} else if (day.equals("일요일")) {
return "월요일";
} else {
return ("올바른 요일이 아닙니다");
}
}
}
느낀점
이전에 알고있던 건 아주 기초적이고 일부분에 지나지않았다는 걸 알게되었다.
물론 지금도 기본적인 내용을 배우고있지만...ㅋ 자꾸 생각지도 못한 부분에서 새로운 걸 알게된다.
오늘 역시 가장 어려웠던건 if문이긴 하지만, 오히려 연산자 사용법이나, 수도코딩 부분에서 막히는 나를 확인할 수 있었다.
사고를 더 다양하게 해야하지 않을까, 또 정답을 자꾸 확인하려는 행동도 줄여야할 것 같다.
답지를 보고 거꾸로 올라가 공부하는 방법도 좋긴하지만 지속적으로 해서는 안 될 것 같다. 의지해버리게 될거같아서...
return ~; 뒤의 ; 라던가, switch문의 case ' ' : 에서 : 의 위치라던가... 이런 사소한 곳에서 생기는 오답은 꼭 빠르게 익숙해져서 고쳐야겠다.
내일 할 일
- 코스 복습 및 블로그에 내용 정리
- 밀린 코플릿 문제 풀기
- TIL 업로드하기
'🖤 BE 45기 > TIL' 카테고리의 다른 글
[TIL 20230420] (1) | 2023.04.20 |
---|---|
[TIL 20230419] (2) | 2023.04.19 |
[TIL 20230417] (4) | 2023.04.18 |
[TIL 20230415] (2) | 2023.04.16 |