한창 강의를 들으며 키보드를 열심히 두들길 때, 슬랙에 숫자 1이 떴다. 평소 학습 중에는 강의에만 시선을 보내는데 궁금해서 슬랙을 눌렀다. 별생각 없이 공지방으로 들어갔더니…….
어머나, 세상에. 여태까지 한 일이라곤 강의 듣고 책 읽고 TIL 작성밖에 없었는데, 진짜 부끄러웠다. 거울을 보지 않았지만, 홍당무나 토마토 둘 중 하나가 친구 하자고 말 걸어도 이상하지 않을 만큼 얼굴이 화끈거렸다. 왜냐하면 항상 학습 속도가 느리다고 느끼는 데다 자바(Java) 알고리즘 문제 풀이나 SQL 문제 풀이 등등 다양한 데일리 루틴 중 겨우 TIL 작성만 도전 중이니까. 그래도 이러한 깜짝 이벤트 덕분에 '앞으로 학습 시간에 집중력을 늘 최대로 발휘해야 TIL 다운 TIL이 나오겠구나.'라든지 '지금까지 학습 태도가 어땠지?' 등등 지난날을 훑어보듯 돌아볼 수 있었다. 절대 아프면 안 되겠다는 다짐 또한 여러 번 거듭하면서.
때마침 누적 방문자 수까지 딱 100명이었다! 오늘 하루는 100점이다.
[습관 관련]
어제 컴퓨터와 자정 넘도록 씨름한 여파로 일찍 일어나긴 했으나 낮잠을 청해야 했다. 환경 설정을 마치고 나니 오후 2시가 임박했다. 전날 '기본형, 타입, 초기화'와 'System.out.print, println, printf', 그리고 '정수형, 문자열, int, String, 자릿수'까지 강의 3개를 들으며 내용을 머릿속에 정리했고, 오늘 연산자 강의 3개만 열심히 들으면 '조건문과 반복문'을 공부할 수 있었다. 때마침 강의를 들으며 직접 따라 하는 데 흥미를 느낀 덕분일까, 생각보다 빠르게 머릿속에 내용이 들어오기도 했고 콧노래를 흥얼거리지는 않았으나 10초 안에 대답해 보라는 말에 혼자 대답도 하고 알아서 코드를 구상해 입력하며 공부하는 시간 내내 즐겼다. 적는 행위, 소위 필기와 공부를 착각하지 말자는 생각으로 '연산자'는 오늘 제출해야 하는 TIL에 적지 않았다. 사전캠프 기간 중반을 넘어서니 자연스레 어떻게 학습해야 좋을지 생각하고 적용하고 피드백하는 순간 또한 같이 늘어난다. 앞으로 이 마음가짐을 쭉 이어가는 동시에 체력과 하루하루 맞이하는 24시간을 잘 다듬어야겠다.
[인용 및 참고 출처]
1. 강의: 클래스101 온라인클래스, "[100제 풀이] 예제로 마스터하는 Java(자바) 종합 클래스", 강의 소개, (2024.10.25)
2. 구글 검색: Sololearn,"What is ln of println in Java?", println에서 'ln'의 의미, (2024.10.25)
3. 사전: "formatted", 네이버 영어사전, 네이버 영어사전, (2024.10.25)
4. 구글 검색: velog, "지시자 자바", 지시자란?, (2024.10.25)
[학습 관련]
1. 정수형(int)과 문자열(String)을 서로 변환하는 이유
ⓐ 정수형끼리 연산하기가 아니라면, 더하기 연산 등을 수행했을 때 문자가 합쳐지는 결과가 나올 수 있음
ⓑ 메서드(==함수, method) 호출 시 인자 값(==파라미터값)을 정수로 보냈는데, 그 메서드 안에서는 문자열로 처리하거나 반환해야 할 수 있음
2. 정수형과 문자열 서로 변환하기
(1) String.valueOf() 메서드를 사용하여 정수형을 문자열로 변환하기
public class VariablePrac6 {
public static void main(String[] args) {
int number = 9025761;
String str1 = String.valueOf(number);
System.out.println(str1.length());
// .length(): 자릿수 계산
// 7 출력
System.out.println(str1 + 200);
// 문자열로 바뀌어서 덧셈 연산이 되지 않음
// 9025761200 출력
}
}
(2) Integer.valueOf() 메서드를 사용하여 문자열을 정수형으로 변환하기
public class VariablePrac6 {
public static void main(String[] args) {
String str2 = "9025761";
int afterConverted = Integer.valueOf(str2);
// 문자열 변수 str2를 정수형으로 변환
// 변환한 값을 afterConverted 변수에 저장
System.out.println(afterConverted + 200);
// 9025761이 문자열이 아닌 숫자로 변환되어 덧셈이 이루어짐
// 9025761
// + 200
// 9025961 출력
}
}
3. 문자열로 변환할 때는 String.valueOf()를, 정수형으로 변환할 때는 Integer.valueOf() 사용하기!
4. 자바 사용 시 주의 사항
ⓐ 연산에는 괄호 꼭 씌워주기! ▶ 정수가 문자열로 인식되게 하지 않으려면 연산하려는 부분에 괄호를 꼭 씌워줘야 한다.
ⓑ printf() 메서드에는 덧셈 부호(+)가 아니라 쉼표(,) 쓰기!
5. print() vs println()
ⓐ print(): 출력문 뒤에 줄 바꿈 효과 없음
ⓐ println(): 출력문 뒤에 줄 바꿈 효과 있음 ▶ 'ln'은 line의 약자로 '줄'을 의미함 ▶ 'ln' stands for 'new line' essentially.
6. printf(): f는 formatted의 약자로 '서식화된, 형식화된'을 의미 ▶ 지시자를 사용하여 변수의 값을 여러 가지 형식으로 변환 및 출력
1) 지시자(specifier)란? : 값의 형식을 지정해 주는 것. 즉, 값을 어떻게 출력할지 정해주는 것
2) 기억하고 싶은 지시자
ⓐ %d: 정수 출력
ⓑ %f: 소수점 형식으로 출력
ⓒ %n: 줄 바꿈
public class VariablePrac6 {
public static void main(String[] args) {
byte numberExample = 12;
float cal = 9.842F;
// 접미사 F 누락 금지
// [추가 사항] 정수형 변수 long 또한 마찬가지로 접미사 L을 붙여야 한다.
System.out.printf("현재 기온은 %d도입니다. %n", numberExample);
System.out.printf("점수는 각각 %.1f, %.2f, %.3f점입니다. %n", cal, cal, cal);
// %.1f: 소수점 첫째 자리까지 출력 ▶ 9.8 출력
// %.2f: 소수점 둘째 자리까지 출력 ▶ 9.84 출력
// %.3f: 소수점 셋째 자리까지 출력 ▶ 9.842 출력
System.out.println(); // 한 줄 띄어 쓰고 싶을 때 사용할 수 있다.
System.out.printf("현재 기온은 %d도입니다.", numberExample);
System.out.printf("점수는 각각 %.1f, %.2f, %.3f점입니다.", cal, cal, cal);
}
}
7. 실습 결과
[24.10.27 추가] 실습 후 반성
public class VariablePrac6 {
public static void main(String[] args) {
String str2 = "9025761";
int afterConverted = Integer.valueOf(str2);
System.out.println("문자열 str2 변수를 정수형으로 변환한 afterConverted 변수 + 200: "+(afterConverted+200));
// [1] afterConverted+200에 괄호가 없을 때는 9025761200이 출력됨
// "문자열 ~ +200: " 부분 추가 후 연산 부분에 괄호를 씌우지 않음
// 괄호가 없어서 afterConverted가 문자열로 인식됨
// 따라서 연산하려는 부분에는 괄호 꼭 씌워주기
float cal = 9.842F;
System.out.println();
System.out.printf("점수는 각각 %.1f, %.2f, %.3f점입니다", cal, cal, cal);
// [2] 지시자 쓸 때는 printf이다. println과 헷갈리지 말자.
// [3] %1.f가 아니라 %.1f이다. 마침표(.)가 먼저임을 잊지 말자.
}
}
[기타 사항]
내일은 새벽에 일어나서 하루의 문을 열어야 한다. TIL을 마무리 짓는 지금, 내가 키보드를 치는 건지 키보드가 나를 치는 건지 헷갈린다. 무엇보다 아무리 빨라야 저녁은 되어야 집에 돌아올 텐데, 뭘 해야 공부다운 공부가 될는지 아직 고민 중이다. 차 안에서 청아한 쪽빛 하늘을 눈에 담으며 결정해야겠다. 도서관에서 빌린 책을 읽을지 아니면 강의를 하나 들을지. 고생했다, 이번 주도.
'끝을 보는 용기' 카테고리의 다른 글
Spring 사전캠프 Day 021 - 책 『비전공이지만 개발자로 먹고삽니다』 읽기 60% (0) | 2024.10.27 |
---|---|
Spring 사전캠프 Day 020 - 책 『비전공이지만 개발자로 먹고삽니다』 읽기 40% (0) | 2024.10.26 |
Spring 사전캠프 Day 018 - 자바(Java) 공부: 변수 (5/6) (0) | 2024.10.24 |
Spring 사전캠프 Day 017 - 자바(Java) 공부: 변수 (4/6) (0) | 2024.10.23 |
Spring 사전캠프 Day 016 - 자바(Java) 공부: 변수 (3/6) (0) | 2024.10.22 |