본문 바로가기
반응형

분류 전체보기93

[자바] 정렬의 종류와 알고리즘 (선택정렬) 간단 예제. [자바] 정렬의 종류와 알고리즘 (선택정렬) 간단 예제. 정렬에는 여러가지 종류가 있다. 우선 선택 정렬. (5,6,4,3,1,6,2) 이렇게 존재 한다고 가정했을 때. 가장 작은 숫자를 찾는다. (1) 이를 첫번째 자리의 숫자과 교체한다. 일반적으로 교체하는 알고리즘(?)이 굉장히 많이 쓰이는데 잠깐 알아보도록 하자. 1. 임의의 변수를 하나 만들고 그 안에 교체될 대상의 값을 저장한다. [temp = 5] 2. 교체될 대상에 선택한 값을 덮어 씌운다. [5에 1을 덮어 쓴다.] 3. 그러면 5라는 값은 사라지고 1 이 2개가 되었을 것이다. (1,6,4,3,1,6,2) 4. 여기서 선택했던 1에 temp의 값을 덮어 씌운다.(대입) [1 = temp] 5. temp는 5가 들어 있었으므로 배열에는 [.. 2011. 4. 11.
[자바] for each문 사용법. 전혀 생각지도 못한 곳에서 새로운 걸 배웠다. 뭐 사실.. 얼마나 쓰겠냐만은, 그래도 뭔가 색다른 방법을 배워서 신기했다. 반복이 진행되면서 배열의 원소를 모두 출력하는게 되는 셈인데 기본적인 사용 방법은 이렇다. for( 자료형 변수 : 배열이름) { . . } 요렇게 쓰는건데 감이 안잡힐테니 아래 그림을 보자. . 첫번째 for문은 랜덤수를 발생시켜서 배열에 값을 넣는 일종의 초기화 작업이다. 안해도 그만이지만, 직접 값을 넣기 귀찮거나 하면 사용하기에 좋다. 지금처럼 개수가 적으면 별 효과는 없지만... 만약 Math.random() 랜덤함수 사용법을 모른다면 아래 링크를 참조하자. 2011/04/06 - [프로그래밍./Java] - [자바]Math.random() 함수 이해하기. 보면 알겠지만 두.. 2011. 4. 11.
[자바] 배열 선언 방법 일단 기본적으로 C와는 다른 방법으로 선언해야 한다. int val[5] ; C언어 방식. int[] val = new int [5]; 자바 방식 여기서 중요한 점은 자바에서도 C와 유사하게 선언할 수 있지만 배열의 크기를 지정해서는 안된다. 아래와 같이 선언. int [] val; 자바 방식. int val[] ; C언어 유사 방식. 선언에 크기를 지정하는게 아니라, = new int[5] 같이 따로 해주어야 한다. 배열을 생성하는 3가지 방법을 java 방식과, c언어 유사 방식을 총 6개의 예제를 보여주고 있다. 선언과 동시에 값을 초기화 하는 경우에는 따로 크기를 초기화 할 필요 없이. 자동으로 값을 넣은 만큼 맞춰진다. 값의 초기화 없이 크기만 초기화 한 경우. 그 크기 만큼 모두 0으로 자동 .. 2011. 4. 11.
구조체에서 char의 크기가 다른 이유. char형 int 강제 형 변환(정수의 승격.) char형 int 강제 형 변환(정수의 승격.) 일단 기초부터 시작하자면. CPU는 Word 단위로 연산을 한다. word란 CPU가 한번에 처리할 수 있는 데이터 크기를 의미한다. 우리가 흔히 말하는 32비트 시스템. window 32비트, 64비트 뭐 이런게 있는데 32bit 에서는 int를 32bit 로 표현한다. 즉 4byte. 당연히 32bit 단위로 일을 처리하는게 가장 빠르며. 때문에 char, short int 등은 int로 변환(승격) 되어진 후 연산이 되고 다시 원래대로 돌아간다. 즉, char는 int로 변환 된 후 연산하고 다시 char로 돌아간다 이야기다. 때문에 변환과 변환이 있어 사이즈가 작음에도 불구하고 더 느리다는 이야기. 사실 이 부분은 어셈블리어나 조금 더 기계적인 부분.. 2011. 4. 10.
[자바]next() 와 nextLine() 함수의 차이. 자바 next() 와 nextLine() 함수의 차이. 문자을 입력 받는데 next와 nextLine를 봤습니다. nextLine()는 잘 되는데 next는 안되는 경우도 있고.. 뭔가 다르긴 한데 뭔지 잘 모르겠어서 확인해 봤습니다. 일단 결과부터 이야기 하자면, next()는 공백을 기준으로 반환. nextLine()는 엔터키. 즉 한 줄을 반환 위에서 보이듯이 nextLine는 공백을 포함하고 한 줄 자체를 반환합니다. 하지만 next()함수는 next 다음 공백을 전까지 반환합니다. 그래서 next test 에서 next만 저장이 되는 거죠. 때문에 이를 잘못 사용하면 아래와 같은 문제가 발생합니다. 위 사진은 이 전 코딩과 동일하나 next()와 nextLine()함수의 순서만 바꾸었습니다. 발.. 2011. 4. 6.
[자바]Math.random() 랜덤함수 이해하기. / 간단예제 자바 Math.random() 랜덤함수 이해하기. / 간단예제 자바 프로그램을 배우면서 주사위 처럼 1~6 사이의 임의수를 발생시키는데 (Math.random()*6)+1 이런 문장을 보았습니다. C에서나 제 생각으론 특정숫자가 나오면 %(나머지연산)을 해서 원하는 범위의 숫자를 구하는게 맞는데. 어떤 숫자든 6으로 나누어서 몫이 아닌 나머지만 취한다면. 0~5의 숫자가 나오기 마련이죠. 자기가 원하는 범위보다 하나 크게 % 연산을 해주면 됬었는데. 이건 곱하기가 나와서 좀 의아 했습니다. 알고 보니 위에서 보이듯, Math.random() 함수는 0~0.999999999999까지의 수를 임의로 발생 시키는 함수인거 같습니다. 0.xx가 나오기 때문에 곱하는 수를 넘지 못하죠. 위에서 처럼 6을 곱하면 .. 2011. 4. 6.
Eclipse 자바 파일 생성하기 / 자바 프로젝트 만들기. Eclipse 자바 파일 생성하기 / 자바 프로젝트 만들기. 자바파일 생성하는 기본 단계를 설명하겠습니다. 우선 이클립스를 실행 합니다. 파일 -> New -> Java Project 선택. Project Name 일종의 그룹 이름입니다. 비유하자면 ch01 폴더 하나를 만들고 그 안에 내 Java 파일들을 넣는다고 생각하시면 됩니다. 원하시는 Project Name을 입력하시고 Finish를 클릭. (주로 주제나 타이틀 같이 목적을 입력합니다.) ch01이 생성되면 바로 왼쪽에 화살표시를 클릭하면 위 그림처럼 하위 내용들이 나타납니다. src 이 안에 java 파일을 저장한다고 생각하시면 됩니다. src 우클릭 -> New -> Class 선택. 이게 java 파일을 생성한다는 의미 입니다. 빨간 상자.. 2011. 3. 31.
.sql 사용 방법 / sql 파일 실행하기 / sql 파일 읽기 .sql 사용 방법 / sql 파일 실행하기 / sql 파일 읽기 파일 입출력 명령어. sql 들어가서. save 파일명 - 현재 입력했던 sql문이 버퍼에 저장되는데 그걸 저장. [list 치면 보임 or 'L'] ex) save test 방금 사용했던 SQL문이 test.sql 로 내문서에 저장됩니다. get 파일명 - save 명령어로 저장한 파일 또는 .sql 파일 내용을 버퍼에 저장. [list 치면 보임 or 'L'] ex) get test 내문서에 있는 test.sql 파일을 읽어 들여서 버퍼에 저장합니다. (실행되지는 않음. 단지 읽기만 함) start 파일명 - 파일을 읽어서 즉시 실행. 명령문은 않나오고 결과가 바로 나온다. ex) start text 내문서에 있는 test.sql 파일.. 2011. 3. 29.
typedef란? typedef 사용법 typedef의 개념. 말 그대로 자료형(type)를 정의 하는 것(define) int나 float 같은 자료형을 내가 원하는 대로 정의 할 수 있다. 음.. 자료형의 이름을 바꾼다고 볼 수도 있겠다. typedef int MY; int라는 자료형을 MY라고 바꾼다는 뜻. 이렇게 정의하면 int a; 대신에 MY a; 로 선언해도 똑같다. 책에서 이야기 하는 장점의 예는, 지금은 모르겠지만 예전에 컴퓨터 시스템마다 int형의 바이트 크기가 다른 경우가 있었다. 때문에 int를 INT16, INT32 형식으로 선언해서 다른이가 알아보기 편하게 한다는 내용이 있었다. 이해하기 쉬운 예는.. unsingned int를 UINT로 변환하는 걸까나? unsigned int는 기존의 int에서 음수부분을 표기하던.. 2011. 3. 28.
C언어 파일 입출력 C언어 파일 입출력. 파일에 쓰기, 읽어오기 C언에서 화면에 쓰는 것 말고, 파일에 쓰기. 즉 저장하기와 읽기를 알아보자 파일에는 FILE구조체를 통해 접근 하는데 FILE구조체를 가르키는 포인터를 파일 포인터라고 한다. FILE *fopen(const char *name, const char *mode); name은 파일 이름, mode는 여는 방식.(읽기, 쓰기 등등) "r" - 읽기 모드 (파일이 반드시 있어야 함) "w" - 쓰기모드 (파일 없으면 생성, 있으면 기존 내용은 지워짐) "a" - 추가 모드 (파일이 없으면 생서, 있으면 파일의 맨 끝에 추가 됨,) "r+" - 읽기 쓰기 모드 (파일이 반드시 존재해야 함) "w+" - 읽기와 쓰기 모드 (파일이 없으면 생성, 있으면 기존 파일에 덮어.. 2011. 3. 28.
반응형