210728(수) 자바 7일차 - 배열-max,min,정렬 / 로또문제 / 바이너리문제
<반복문 추가내용>
cf) 무한 루프 세가지
cf) 반복문 만들 때 변수가 어려울 때는 숫자로 여러개 만들어 보면 규칙이 보인다!!!!!!!!!!!!!!!!!!!!!!!!!!
cf) 곱셈일땐 초기값 1 주의!!!
cf) 불린형 배열에서 ar[0]등 배열값 자체가 true나 false를 가지기 때문에 그냥 true, false라고 생각해도 됨.
cf) 지역변수쓰레기값처럼 배열 처음값: int형은 0, boolean은 F
<배열 - max, min>
- 초기값이 0이면 모두 음수일 경우 자기가 제일 클수도 있으니까 에러날 수 있어서 첫번째 방을 초기값으로 잡는다~!!!
- 하나씩 비교해서 옮기는 원리
<배열-정렬>
근데 이거는 C언어에서 쓰고 !!! 자바는 이미 메소드에 이 정렬소스를 만들어 두었음!!!
Arrays 클래스(자바.유틸) 에 sort 함수 있음~!!!!
cf) 스태틱은 클래스명.객체.메소드() / 클래스.메소드() 이렇게 다 가능한듯~~!!!
그래서 Arrays.sort(); 로 가능!!! 근데 sort는 오름차순반 가능!!!
내림차수는 Arrays의 리버스 함수 쓰면 됨~!!
1. 오름차순(ASCENDING)
2. 내림차순(DESCENDING)
- Selection Sort --------> 보통이걸 디폴트로 씀
- bubble Sort ------->정보처리 시험은 어려워야하니까 이거로
cf) if 와 부등호(>,<) 둘다 되면 다 된다!~!!
- Selection Sort 설명 : 기준이 고정됨
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 설명 : 셀렉션이랑 다르게 기준값이 계속 옆으로 이동 양옆이랑 바꿈!
마지막꺼 먼저 정해짐
<로또>
- 중복 검사 원리
cf) 난수 : 시작점을 정해주는 이유는 0부터 나오기 때문!
- 배열방에 계속 덮어씌워지는 것~!!!!
- 브레이크 쓰는 것은 굳이 더 비교를 할 필요 없기 때문에 수행 속도를 높이기 위해서 그만해주는 것이다~!!!
<바이너리>
- 2진수의 원리