JAVA

210728(수) 자바 7일차 - 배열-max,min,정렬 / 로또문제 / 바이너리문제

구름이팡팡 2021. 7. 28. 09:28
728x90

<반복문 추가내용>

cf) 무한 루프 세가지

cf) 반복문 만들 때 변수가 어려울 때는 숫자로 여러개 만들어 보면 규칙이 보인다!!!!!!!!!!!!!!!!!!!!!!!!!!

cf) 곱셈일땐 초기값 1 주의!!!


cf) 불린형 배열에서 ar[0]등 배열값 자체가 true나 false를 가지기 때문에 그냥 true, false라고 생각해도 됨.

cf) 지역변수쓰레기값처럼 배열 처음값: int형은 0, boolean은 F

<배열 - max, min>

- 초기값이 0이면 모두 음수일 경우 자기가 제일 클수도 있으니까 에러날 수 있어서 첫번째 방을 초기값으로 잡는다~!!!

- 하나씩 비교해서 옮기는 원리

 

마지막 for 참고

 


<배열-정렬>

근데 이거는 C언어에서 쓰고 !!! 자바는 이미 메소드에 이 정렬소스를 만들어 두었음!!!

Arrays 클래스(자바.유틸) 에 sort 함수 있음~!!!!

cf) 스태틱은 클래스명.객체.메소드() / 클래스.메소드() 이렇게 다 가능한듯~~!!!

그래서 Arrays.sort(); 로 가능!!! 근데 sort는 오름차순반 가능!!!

내림차수는 Arrays의 리버스 함수 쓰면 됨~!!

 

 

1. 오름차순(ASCENDING)

2. 내림차순(DESCENDING)

 

- Selection Sort  --------> 보통이걸 디폴트로 씀

- bubble Sort ------->정보처리 시험은 어려워야하니까 이거로

 

cf) if 와 부등호(>,<) 둘다 되면 다 된다!~!!


 

- Selection Sort 설명 : 기준이 고정됨

ar[0]이 더 크면 뒤로 보내줘야 하니까~~~~!!!!
교환

int temp;
     for(int i=0; i<ar.length; i++) {                         ------------>ar[0]부터 
          for(int j=i+1; j<ar.length; j++ ) {                ------------->ar[1]부터
               if(ar[i]>ar[j]) {                ---------> 비교해서 앞에꺼가 더 크면 뒤로 보내줘야하니까 temp이용해서 교환! 
               temp = ar[i];
               ar[i]=ar[j];
               ar[j]=temp;
               }
          }
     }

 

cf) 배열은 기본적으로 동일한 자료형으로 요소를 써야하는데

Object하면 여러가지 한번에 쓸 수 있음


- bubble Sort 설명 : 셀렉션이랑 다르게 기준값이 계속 옆으로 이동 양옆이랑 바꿈!

마지막꺼 먼저 정해짐

이중 for문 돌리기가 필요한 이유
위 사진 내용을 프로그램으로 짠 것 (오름차순 버블 정렬)


<로또>

- 중복 검사 원리

 

cf) 난수 : 시작점을 정해주는 이유는 0부터 나오기 때문!

- 배열방에 계속 덮어씌워지는 것~!!!!

- 브레이크 쓰는 것은 굳이 더 비교를 할 필요 없기 때문에 수행 속도를 높이기 위해서 그만해주는 것이다~!!!


<바이너리>

- 2진수의 원리

728x90