Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
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
Archives
Today
Total
관리 메뉴

공부 일지

kh정보 교육원 11, 12 일차 본문

국비지원/JAVA

kh정보 교육원 11, 12 일차

모로노이 2024. 5. 25. 22:47

얕은 복사 , 깊은 복사

배열을 만들어 쓰다가 인덱스의 길이가 더 필요하면 새로운 배열을 만들어 인덱스를 더 넓게 생성해서 복사를 해줘야 한다.

 

2차원 배열 !

int [] arr = new int [4]  // 이건 1차원 배열

int [][] arr = new int [4][4]  // 이게 2차원 배열

 

내가 만약 int [][] arr = new int [3][4] 를 만들었다면 

이런식으로 생성이 된다 그림 ㅋㅋㅋㅋ

그래서 for 문을 쓸 때 for i = 0; i < arr.length; i++ 을 하면 행을 순회하는것이고 중첩 행 안의 열을 순회하고 싶다면

                                        for int j = 0; j < arr[행].length; j++ 을 해준다

i 와 j 가 0부터 시작하는 이유는 배열의 첫번째 자리가 0의 자리이기 때문!

따라서 첫번째 행의 첫번째 열을 한번 순회하고 i++로 i는 1이 되어 [0][3]에서 [1][0]으로 넘어간다

1행의 3열을 순회하고 다시 2행으로 넘어가며 3열도 순회하면 종료.

 

exception , try , catch 다시 배워야함

 

난수

랜덤 유틸? 스캐너 처럼 import를 해야한다

int num = rand.nextInt(10)   // 0부터 10까지 랜덤 숫자를 생성한다

 

하지만 문제 풀땐 전부 Math.random() 을 쓴것같다   // 강제 타입변환으로 알파벳으로 나오게 할수도 있다!

 

정렬

삽입정렬

선택정렬

버블정렬

퀵정렬

병합정렬 이 있다 근데 아직 버블정렬까지 못들었다 아마 버블정렬이 제일 쉬워서 저거만 쓸듯..?

 

복사와 비슷한 원리다 변수를 하나 선언해서 값을 넣어두고 for문으로 옮기는 너낌~

int [] arr = {2,5,4,1,3};

for (int i = 0; i < arr.length-1;i++) 

     for (int j = 0; j = (arr.length-1)-i; j++) 

        if (arr[j] > arr[j+1])     // 왼자리 수가 오른자리 수보다 크다면 

           int tmp = arr[j+1]    // 임시변수에 오른자리 수를 넣어두고

           arr[j+1] = arr[j]       // 오른자리 수가 있던 자리에 왼자리 수를 넣고

           arr[j] = tmp;          // 왼자리 수가  있던 자리에 임시변수에 넣었던 오른자리 수를 넣는다!!

 

 

그림 실력도 늘려야겠다.

 

'국비지원 > JAVA' 카테고리의 다른 글

OOP 클래스와 객체 정리  (0) 2024.06.21
kh 정보교육원 15일차  (0) 2024.05.29
kh 정보 교육원 13,14일차  (0) 2024.05.28
kh 정보 교육원 9,10 일차  (0) 2024.05.22
kh정보교육원 7,8일차  (2) 2024.05.20