: 원소들을 일정한 순서대로 열거하는 알고리즘.
: 두 인접한 원소를 비교하여 정렬하는 방법.
: 본인 바로 옆에 있는 배열만! 비교해서 정렬.
임시공간을 만들어서 하나의 데이터를 넣어준 다음에, 넣어주지 않은 다른 값을 옮겨주고 임시저장한 데이터를 다시 배열에 넣어줌.
int[] arr = { 7, 4, 5, 1, 3 };
for (int j = 0; j<=4; j++){
for(int i = 0; i<arr.length-j; i++){ //마지막 배열은 비교 X-> length-i해줘야함.
if(arr[i]>arr[i+1]){
int temp; //치환 하기 위해 임시공간 temp 만들어주기.
temp = arr[i]; //임시공간 temp에 arr[i]값 저장. (복사개념)
arr[i]=arr[i+1]; //arr[i+1]값을 arr[i]에 저장.
arr[i+1]=temp; // 임시공간에 있던 값을 arr[i+1] 값 저장.
}
}
}
: 가장 큰 원소 또는 작은 원소를 찾아 주어진 위치를 교체해 가는 정렬. 가장 작은 수가 있는 인덱스를 기억. 데이터값 말고 인덱스만 기억!
=> 비교횟수는 많고 교환횟수는 적음.
: 처음부터 끝까지 순차적으로 비교-> 원소의 정렬 필요없음.
: 리스트 길이가 길면 비효율적임.
: 리스트의 중간값을 정해 크고 작음을 비교해 검색하는 알고리즘. 정렬된 리스트에만! 사용할 수 있음.
ex)사전에서 단어 찾기.
전체 배열에서 가운데배열을 찾아서 lowIndex highIndex지정
: Date Base와 Java를 연결!
디비 저장할 테이블 생성
sqldeveloper
원하는 것만 실행 -> 블록설정한 뒤 F9
오류1. 컴파일오류
: 코드 자체가 틀림. ex)오타, 변수이름 잘못 생성, 구문오류
오류2. 런타임오류
: 코드 자체가 틀린 것은 아님, 실행했을 때 오류가 나는 경우. 실행 전에는 오류가 날 지 알 수 없음. -> 사전에 예외처리를 해줘야함. 이 때 try~catch구문 사용.
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) { //ClassNotFoundException만 처리가능!
e.printStackTrace(); //발생한 예외상황을 발생 순서대로 출력해줌. (어디에서, 왜 오류발생했는지 콘솔창에서 확인 가능)
finally { //try문에서 예외상황이 발생하던지 발생하지 않던지 마지막에 무조건 실행하는 구문. 옵션. 필요하면 쓰면 됨.
}
//exception e - 모든 예외상황에 대해 처리 가능.
사용할 계정 선택, 직접 디비랑 연결할 객체(Connection) 생성.
디비url 계정이름, 비밀번호 넣어줘야함
java로 실행하는 sql문은 모두 auto commit->모든 sql문 뒤에는 세미콜론 적으면 안됨!
Arrays.toString