일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- java알고리즘문제풀이
- 격파르타비전공자
- java set 저장
- java list 저장
- 프로그래머스
- java최솟값구하기
- sqld자격증합격
- 코딩부트캠프후기
- 컴파일
- 프로그래머스제일작은수
- 인터프린터언어
- 작은수제거하기
- javaJRE
- 항해99후기
- java list 출력
- 격파르타후기
- java map
- 비전공자sqld
- 항해15기
- 격파르타장점
- 노베이스부트캠프
- java알고리즘
- java참조자료형
- java map 저장
- javaJVM
- java 자료구조 활용
- 격파르타합격후기
- java map 출력
- java set 출력
- java기본자료형
- Today
- Total
코딩과 결혼합니다
230619 WIL 본문
배운것 / 느낀것 / 내게 아쉬웠던 것
이번 주는 JVM에 대한 이해와, Java 언어를 사용하여 간단한 기능들을 구현하며 프로그래밍적 사고를 키우고 자주 쓰이는 메소드들을 익히게 되었다. 또한 그 과정에서 오류를 해결하는 경험들을 하며 JAVA에서 지켜야 하는 규칙들을 몇가지 알게 되었다.
앞서 정리한 내용이지만 복습겸 간단하게 JVM에 대해서 설명해 보자면
JVM
운영체제 마다 0과 1의 조합이 다르다. 그래서 운영체제마다 그에 상응하는 컴파일러를 가지고 있어야 한다.
하지만 JAVA는 하나의 컴파일러만 가지며 이 코드가 바로 운영체제로 가지 않고 각 운영체제의 JVM으로 간다.
JVM은 똑같은 JAVA 바이트 코드를 OS 마다 다르게 해석해주는 것으로 JAVA를 한 번만 결과물을 만들어 놓으면 어떤 운영체제에서 실행을 시켜도 똑같은 결과가 나온다.
다음은 내가 문제를 풀면서 알게 된 메소드 들이다.
random() : 난수를 생성해 준다. 0부터 1사이의 랜덤한 실수값을 내어주기 때문에 1부터의 자연수를 얻고 싶을때는 *10n을 해주고 (int)로 형변환을 해준다.
contains : 특정 문자열이 포함되어 있는지 확인하는 기능
ArrayList
- 생성 : ArrayList<제넌릭타입>리스트명 = new ArrayList<제너릭타입>();
- 요소 추가: add
- 원하는 위치에 요소 추가 : add(인덱스 번호, 값)
- 값 가져오기 : get() - ArrayList를 만들 때 설정했던 제너릭타입의 값을 반환한다.
- 요소 삭제 : remove()
- 요소 교체 : set(인덱스 번호, 값)
- 요소의 개수 : size()
- 비우기 : clear()
charAt() : String으로 저장된 문자열 중에서 한 글자만 선택해서 char타입으로 변환
* 숫자를 받을 때 .chartAt() -48; 또는 .chartAt() -'0' 을 해주어야 한다. 유니코드상 0-9 까지는 48-57이기 때문이다.
.stream : 컬렉션, 배열 등에 저장된 요소들을 하나씩 참조하면서 코드를 실행할 수 있는 기능
equals() : 두 인스턴스의 주소값을 비교하여 같은 인스턴스인지를 확인하고 같으면 true, 다르면 false의 boolean값을 리턴하는 메서드
.repeat() : String 문자열을 파라미터의 주어진 횟수만큼 반복
String substring(int startIndex, int endIndex); : 인덱스의 시작지점 ~ 종료지점 전까지 문자열을 가져온다.
Integer.parseInt(String타입의 값); : String타입의 숫자를 int타입으로 변환
프로그래밍이란?
'사전적 의미로는 수식이나 작업을 컴퓨터에 알맞도록 정리해서 순서를 정하고 컴퓨터 특유의 명령코드로 고쳐 쓰는 작업'을 말하는데, 컴퓨터의 명령코드를 쓰는 작업을 특히 코딩이라고 한다.
프로그래밍이라는게 굉장히 어렵고 대단한거라고 생각했는데 내가 그냥 지금까지 해왔던 것들이었다.
다만 그저 코딩만 할게 아니라 좋은 코드를 작성 할 수 있도록 많은 문제들을 접해보고 스스로의 힘으로 해결하는 경험들이 필요하다고 느껴졌다.
이번주 나에게 아쉬웠던 점
사실 여러 문제들을 연속으로 푸는게 쉬운일이 아니다. 평소에 강의를 들으며 기본기를 익히는 건 보다 오랜시간을 투자 할 수 있지만, 여러 문제들을 풀며 머리를 쥐어짜다보면 금방 방전되는 느낌이다.
그래서 나에게 주어진 시간을 충실하게 사용하지 못하였다. 중간중간 집중력을 잃고 딴짓을 했다는 이야기..흑
물론 하루의 12시간 이상을 코딩에만 집중하기에는 정말 어렵다. 쉴 때는 쉬어주는게 당연하지만 좀 더 계획적으로 하루에 할 것들을 생각하고 정하여 시간을 효율적으로 쓸 수 있도록 해야겠다.
'청첩장 > 웨딩홀 : 내 마음속 ♥' 카테고리의 다른 글
그것이 문제로다 & 변장술에 대한 고찰 (2) | 2023.08.08 |
---|---|
230731 - living-in-seoul (아이디어 선정 및 유저플로우를 작성하며 느낀점) (0) | 2023.07.31 |
230608 (1) | 2023.06.08 |
잔다. (0) | 2023.05.27 |
자바를 시작하였다(▀̿Ĺ̯▀̿ ̿) (0) | 2023.05.15 |