원래 토요일에 강의를 모두 듣고 일요일에 책 읽기를 마무리 지으려 했는데, '.length'와 '.length()'가 사이좋게 나오는 순간 제대로 느꼈다. 컴퓨터는 괜찮을지 몰라도 나의 메모리 용량은 빈틈없이 꽉 찼다는 사실을. 점심 먹고 침대 등받이에 기대어 앉아 책을 펼쳐 든 그 40분이 참으로 꿀맛이었다. 책 『비전공이지만 개발자로 먹고삽니다』 네 번째 장에서는 어떤 언어로 첫 공부를 하면 좋은지 등등 개발 분야에 입문하려는 사람에게 유용한 조언을 많이 해주었다. 내일배움캠프에 참여하기 전이었다면 나 또한 가장 먼저 이 부분을 읽었을 거다.
책의 마지막 장은 25쪽 분량인데, 내일 또 머리에 쥐가 날 나를 배려해 아껴두었다.
그림과 정말 거리가 멀지만, 머릿속에 삼색 고양이 한 마리 그려놓고 실습해야겠다.
[습관 관련]
시간 확인하고 이불 속에서 뭉그적거리다가 9시에 일어났다. 7시 30분에 초기화한 수면 시간보다 뒹굴뒹굴한 90분이 솜사탕 같았다. 등 따습지, 공기 포근하지, 세상 남 부러울 게 없었다. 공부 먼저 하고 마음 편하게 놀겠단 일념 하나로 기상하다니, 장족의 발전을 이루었다.
[인용 및 참고 출처]
1. 강의: 클래스101 온라인클래스, "[100제 풀이] 예제로 마스터하는 Java(자바) 종합 클래스", 강의 소개, (2024.11.02)
2. 구글 검색: 티스토리, "자바 향상된 for문", 향상된 for문(==개선된 for문), (2024.11.02)
3. 구글 검색: velog, ".charAt() 자바", charAt() 함수, (2024.11.02)
4. 사전: "jeopardy", "phenomenal", "abbreviation", "versatile", "get a grip", "quintessential", "tenacious", 네이버 영어사전, 네이버 영어사전, (2024.11.02)
[학습 관련]
1. 복습 링크
ⓐ 자료형의 종류를 확인하려면?: Spring 사전캠프 Day 016 - 자바(Java) 공부: 변수 (3/6)
ⓑ 데이터 크기를 구하려면?: Spring 사전캠프 Day 017 - 자바(Java) 공부: 변수 (4/6)
ⓒ 문자열의 자릿수를 알고 싶다면?: Spring 사전캠프 Day 019 - 자바(Java) 공부: 변수 (6/6)
ⓓ 반복문 구조가 헷갈린다면?: Spring 사전캠프 Day 024 - 자바(Java) 공부: 조건문 (3/3), 반복문
2. 세 가지 방법으로 배열 선언과 동시에 특정 값으로 초기화하기 (단, 향상된 for문을 포함하여 총 세 가지 방법으로 값을 출력할 것!)
import java.util.Arrays;
// [복습 1] Arrays.toString() 메서드를 쓰려면 꼭 필요하다!
// [복습 2] import java.util.Arrays;는 클래스보다 먼저 적는다!
public class ArrayPrac3 {
public static void main(String[] args) {
// [A] 배열 선언 및 특정 값으로 초기화하는 세 가지 방법
String[] flower = {"무궁화","개나리","붓꽃","장미","데이지","물망초","히아신스","수국","국화"};
String[] birds = new String[] {"참새","까마귀","까치","황조롱이","오목눈이","물총새"};
String[] coffee;
coffee = new String[] {"아인슈페너","아포가토","콜드브루","더치커피","카페 모카"};
// [B] 배열의 값을 출력하는 세 가지 방식
// [1] 향상된 for문
// [구조] for (변수타입 변수이름 : 출력하려는 배열이름)
// [주의] (소괄호) 안에 세미콜론(;)이 아닌 콜론(:)을 써야 한다.
// [출력문] 무궁화 개나리 붓꽃 장미 데이지 물망초 히아신스 수국 국화
// [복습 3] 띄어쓰기용 System.out.println();은 반복문 바깥에 쓴다.
for (String arrayResult : flower) {
System.out.print(arrayResult+" ");
}
System.out.println();
// [2] for문
// [출력문] 참새 까마귀 까치 황조롱이 오목눈이 물총새
for (int index = 0 ; index <birds.length ; index++) {
System.out.print(birds[index]+" ");
}
System.out.println();
// [3] Arrays.toString() 메서드
// [출력문] [아인슈페너, 아포가토, 콜드브루, 더치커피, 카페 모카]
// [복습 4] 해당 메서드를 쓰면 []가 있는 상태로 출력된다.
System.out.println(Arrays.toString(coffee));
}
}
3. .charAt() 메서드: String 타입의 문자열에서 특정 문자를 char 타입으로 추출할 때 사용하는 함수
public class ArrayPrac3 {
public static void main(String[] args) {
String[] wordsToMemorize = {"Jeopardy","phenomenal","abbreviation","versatile"};
// [복습 1] 자료형(==데이터 타입)은 기본형과 참조형으로 나뉜다.
// [복습 2] 문자형 char 타입은 기본형에 속한다.
// [복습 3] 문자열 String 타입은 참조형에 속한다.
System.out.print(wordsToMemorize[0].charAt(0));
// wordsToMemorize 배열의 1번째 요소의 값 Jeopardy의,
// 1번째 문자 J를 출력한다.
// [복습 4] 컴퓨터는 1번째가 0이다.
System.out.print(wordsToMemorize[1].charAt(8));
// wordsToMemorize 배열의 2번째 요소의 값 phenomenal의,
// 9번째 문자 a를 출력한다.
System.out.print(wordsToMemorize[2].charAt(5));
// wordsToMemorize 배열의 3번째 요소의 값 abbreviation의,
// 6번째 문자 a를 출력한다.
System.out.println(wordsToMemorize[3].charAt(4));
// wordsToMemorize 배열의 4번째 요소의 값 versatile의,
// 5번째 문자 a를 출력한다.
// [참고] 아래 한 줄 공백을 두고자 print() 대신 println()을 썼다.
// 4개 문자가 일렬로 출력되면 Java가 나온다.
}
}
4. .length vs .length() vs .BYTES vs .SIZE
public class ArrayPrac3 {
public static void main(String[] args) {
String[] wordsToMemorize = {"Jeopardy","phenomenal","abbreviation","versatile"};
String[] wordsToMemorize2 = {"get a grip","quintessential","tenacious"};
// [1] .length: 배열의 크기, 즉 배열의 길이를 계산한다.
System.out.println(wordsToMemorize.length);
// [출력] 4 → 요소 4개가 wordsToMemorize 배열을 구성하므로
System.out.println(wordsToMemorize2.length);
// [출력] 3 → 요소 3개가 wordsToMemorize2 배열을 이루므로
// [2] .length(): 문자열의 자릿수를 계산한다.
System.out.println(wordsToMemorize2[0].length());
// [출력] 10 → wordsToMemorize2 배열의 1번째 문자열의 자릿수이므로,
// get a grip의 자릿수인 10이 출력된다.
// 이때, 띄어쓰기로 생긴 공백 또한 1로 계산한다.
// 즉, get a grip의 자릿수는 띄어쓰기 2칸까지 포함해서 10이다.
System.out.println(wordsToMemorize[3].length());
// [출력] 9 → wordsToMemorize 배열의 4번째 문자열의 자릿수이므로,
// versatile의 자릿수인 9가 출력된다.
// [3] BYTES: 데이터의 바이트 크기를 계산한다.
System.out.println(Double.BYTES);
// 실수형 타입 double의 바이트 크기를 구한다.
// [출력] 8
// [복습 1] float는 4바이트, double은 8바이트이다.
// [복습 2] BYTES를 쓸 땐 데이터의 첫 글자를 대문자로 적어야 한다.
// [4] SIZE: 데이터의 비트 크기를 계산한다.
System.out.println(Character.SIZE);
// 문자형 타입 char의 비트 크기를 구한다.
// [출력] 16
// [복습 3] char 크기를 구할 땐 Character라고 적어야 한다.
// [복습 4] char는 2바이트이다.
// [복습 5] 1바이트는 8비트이다.
System.out.println(Integer.SIZE);
// 정수형 타입 int의 비트 크기를 구한다.
// [출력] 32
// [복습 6] int 크기를 구할 땐 Integer라고 적어야 한다.
// [복습 7] int는 4바이트이다.
}
}
5. 실습 결과
jeopardy는 '위험', phenomenal은 '경이로운', abbreviation은 '축약형, 줄임말', versatile은 '다재다능한, 다용도의'를 의미한다. 'get a grip'은 '정신을 차리다'를 뜻하는 만큼, 'get a grip!'이라고 말하면 '정신 좀 차려!'가 된다. 이 표현은 요리 경연 프로그램인 Hell's Kitchen에서 거의 항상 나왔다.
quintessential은 '전형적인, 정수, 대표', tenacious는 '집요한, 강한 집념을 가진, 오래 가는'을 의미한다. 솔직히 이런 단어를 쓸 날이 언제 있을지는 모르겠다만, 배워둬서 나쁠 건 없지 않을까. 적어도 '이게 무슨 단어의 줄임말이지?' 궁금할 때 '줄임말을 영어로'라고 검색할 수고는 덜 수 있을 테니까.
[기타 사항]
자바를 공부하다 직장인 신분일 때 종종 사용한 유의어/반의어 사전 사이트를 발견했다. 자바 또한 어쨌든 '언어'니까, 검은 화면 딱 띄워 놓고 코드를 작성할 때면 자연스레 어휘력과 문해력이 신경 쓰인다. 이래서 종이책을 읽는 동안 마음이 편해지나 보다.
'끝을 보는 용기' 카테고리의 다른 글
Spring 본캠프 Day 029 - 미니 프로젝트 20%, Git&GitHub 복습 1번 (0) | 2024.11.04 |
---|---|
Spring 사전캠프 Day 028 - 자바(Java) 공부: 배열 (4/4), 책 『비전공이지만 개발자로 먹고삽니다』 읽기 100% (0) | 2024.11.03 |
Spring 사전캠프 Day 026 - 자바(Java) 공부: 배열 (2/4) (0) | 2024.11.01 |
Spring 사전캠프 Day 025 - 자바(Java) 공부: 배열 (1/4) (0) | 2024.10.31 |
Spring 사전캠프 Day 024 - 자바(Java) 공부: 조건문 (3/3), 반복문 (0) | 2024.10.30 |