목차
1장 시작에 앞서
1.1 자비 개요 = 13
1.1.1 자바의 탄생 = 13
1.1.2 자바의 특징 = 13
1.1.3 자바와 C++ = 15
1.2 자바·에디터·예제 프로그램 설치 = 17
1.2.1 자바2 설치 = 17
1.2.1 에디터(Editplus) 설치 = 18
1.2.3 Editplus에 Compile·Run 메뉴를 추가 = 19
1.2.4 예제 파일 프로그램 설치 = 22
1.3 컴파일·실행 = 23
1.3.1 Editplus 창에서 컴파일·실행 = 23
1.3.2 Dos 창에서 컴파일·실행 =23
1.3.3 error와 warning = 24
1.3.4 자바 프로그램의 기본 구조 = 25
2장 자바 기초
2.1 print()와 random() 메소드 = 29
2.1.1 print(): println() = 29
2.1.2 random() 메소드 =30
2.2 제어문 = 31
2.2.1 if 블록(조건부 실행) = 31
2.2.2 for 루프(순차 반복 실행) = 36
2.2.3 while 루프(조건부 반복 실행) = 39
2.2.4 do∼while 루프(조건부 반복 실행) = 41
2.2.5 switch 블록(경우별 실행) = 43
2.2.6 break 문(블록·루프를 종료) = 45
2.7.7 continue 문(루프를 재실행) = 48
3장 자료 처리
3.1 연산자 = 55
3.1.1 산술 연산자 = 55
3.1.2 비교 연산자 = 57
3.1.3 논리 연산자 = 58
3.1.4 대입 연산자 = 59
3.1.5 조건 연산자(? :) = 62
3.1.6 형변환 연산자 = 63
3.1.7 비트 연산자 = 65
3.1.8 연산자 우선 순위 = 67
3.1.9 연산자 결합방법 = 69
3.2 자료형 = 72
3.2.1 자료형 개요 = 72
3.2.2 정수형(byte, short, int, long) = 74
3.2.3 실수형(float, double) = 77
3.2.4 논리형(boolean) = 78
3.2.5 문자형(char) = 79
3.2.6 문자열형(String) = 81
3.3 변수·상수 = 88
3.3.1 변수 = 88
3.3.2 정수 상수 = 89
3.3.3 실수 상수 = 89
3.3.4 문자 상수 = 91
3.3.5 문자열 상수 = 93
3.3.6 논리 상수 = 94
3.3.7 상수 정의(static final) = 94
3.4 형변환과 연산식 = 95
3.4.1 자료형 호환성과 형변환 = 95
3.4.2 사칙연산과 자료형 = 97
3.4.3 f1oat·double형과 형변환 = 98
3.4.4 문자열 연산식 = 100
3.5 배열 = 101
3.5.1 배열 개요 = 101
3.5.2 배열 요소의 값을 일괄적으로 지정하여 배열을 생성 = 104
3.5.3 배열 복사 =105
3.5.4 문자열의 각 문자를 배열의 요소로 분해 = 108
3.5.5 배열 응용예 = 109
3.5.6 다차원 배열 =111
4장 클래스
4.1 메소드와 변수 유효범위 = 119
4.1.1 사용자 정의 클래스 예 = 119
4.1.2 값을 되돌리는 메소드 = 121
4.1.3 메소드 인자 = 122
4.1.4 변수인자와 배열인자 = 125
4.1.5 메소드 다중정의 = 126
4.1.6 변수 유효범위 = 130
4.1.7 전역변수 값을 초기화해 주지 않으면 = 132
4.2 클래스 기초 = 135
4.2.1 클래스 개체 = 135
4.2.2 공개 필드와 은폐 필드(public, private) = 139
4.2.3 정적 필드(static) = 142
4.2.4 공개·은폐 메소드(public, private) = 145
4.2.5 정적 메소드(static) = 145
4.2.5 this 개체 = 147
4.2.7 this와 생성자 다중정의 = 147
4.2.8 클래스 개체 배열 = 149
4.3 클래스 파생 = 152
4.3.1 클래스 파생 개요 = 152
4.3.2 보호 필드(protected) = 155
4.3.3 상위 클래스 변수로 하위 클래스 개체를 처리 = 158
4.3.4 클래스 형변환 = 160
4.4 인터페이스 = 166
4.4.1 패키지(package) = 166
4.4.3 패키지 편입(import) = 167
4.4.3 클래스 인터페이스 = 168
4.5 주요 클래스 = 173
4.5.1 Object 클래스 = 173
4.5.2 Character 클래스 = 174
4.5.3 String 클래스 = 175
4.5.4 Integer 클래스 = 179
4.5.5 Integer, Long, Float, Double형 개체 = 180
4.5.6 Math 클래스 = 181
5장 윈도우 프로그래밍
5.1 그래픽 메소드 = 187
5.1.1 그래픽 프로그램 예제 = 187
5.1.2 선·사각형·다각형·원·호 = 192
5.1.3 색 설정 = 198
5.1.4 문자열 출력 = 201
5.1.5 이미지 처리 = 203
5.1.6 프레임/요소 크기에 관한 정보 = 206
5.1.7 XOR 모드 =208
5.1.8 배경 화면상에서 도형을 이동 = 210
5.2 시건지향 프로그래밍과 키보드 사건 = 215
5.2.1 사건지향 프로그래밍 = 215
5.2.2 키보드 사건 메소드 = 216
5.2.3 키 기호상수 = 218
5.2.4 Shift·Ctrl·Meta 키 처리 = 219
5.3 마우스 사건 = 223
5.3.1 마우스 사건 메소드 = 223
5.3.2 마우스 단추 두 번 누르기(Doub1e Click) = 227
5.3.3 Shift·Ctrl키+마우스 누르기 = 230
5.3.4 마우스 끌기(Drag) = 232
5.4 응용 프로그램 = 238
5.4.1 펭귄 바둑판 = 238
5.4.2 고깔 = 242
6장 요소(Component)
6.1 요소 개요 = 249
6.1.1 예제 프로그램 = 249
6.1.2 요소 배치 = 252
6.1.3 요소에 대한 클래스들의 구조 = 258
6.1.4 Component 클래스 = 259
6.1.5 action(), hand1eEvent() 메소드와 evt, arg 인자 = 263
6.1.6 각 요소는 개별적인 사건 메소드를 정의할 수 있다. = 268
6.1.7 초점 = 269
6.2 요소 1 = 271
6.2.1 단추(Button) = 271
6.2.2 패널(Panel) = 275
6.2.3 확인란(Checkbox) = 278
6.2.4 선택란(CheckboxGroup) = 281
6.2.5 레이블(Label) = 284
6.2.6 이동줄(Scrollbar) = 285
6.3 요소 2 = 290
6.3.1 입력란(TextFie1d) = 290
6.3.2 글상자(TextArea) = 294
6.3.3 목록상자(List) = 298
6.3.4 선택상자(Choice) = 308
6.3.5 그림상자(Canvas) = 311
6.4 메뉴 = 312
6.4.1 메뉴 개요 = 312
6.4.2 예제 메뉴 프로그램 = 314
6.4.3 설정/해제 메뉴 = 318
6.4.4 하위 메뉴 = 322
6.4.5 메뉴항목을 선택 불가능/가능하게 설정 = 325
6.5 대화상자 = 326
6.5.1 대화상자 개요 = 326
6.5.2 사용자 정의 대화상자 클래스 = 327
6.5.3 메뉴를 선택하면 대화상자를 표시 = 332
6.5.4 대화상자에서 설정한 값을 주클래스로 되돌리려면 = 335
6.5.5 파일 대화상자 = 342
6.6 Event 클래스= 347
6.6.1 Event 클래스 개요 = 347
6.6.2 Event.id 필드 = 348
6.6.3 Event.target 필드 = 351
6.6.4 Event.key 필드 = 353
6.6.5 Event.arg 필드 = 355
7장 애플릿·인터넷
7.1 애플릿 = 361
7.1.1 애플릿 개요 = 362
7.1.2 Applet 클래스 = 365
7.1.3 HTML 택 = 365
7.1.4 소리 = 369
7.1.5 이미지 = 371
7.2 인터넷 = 374
7.2.1 인터넷 억세스시 사용되는 메소드 = 374
7.2.2 입력란에서 입력한 인터넷 주소를 억세스 = 375
7.2.3 목록상자에서 인터넷 주소를 선택 = 378
7.2.4 애플릿 창을 두 개의 프레임으로 분할 = 380
8장 예외·쓰레드·자료구조·파일 입출력
8.1 예외·쓰레드·자료구조·파일 입출력 = 387
8.1.1 예외란? = 387
8.1.2 예외 포착(try∼catch) = 388
8.1.3 try∼catch∼finally = 390
8.2 멀티 쓰레드 = 392
8.2.1 멀티 쓰레드 개요 = 392
8.2.2 Thread 클래스 = 395
8.2.3 과로재치를 Catch하는 쓰레드 = 396
8.2.4 쓰레드 우선 순위 지정(setPriority) = 404
8.2.5 타이머 = 408
8.2.6 Runnab1e 인터페이스 = 418
8.3 자료구조 = 422
8.3.1 비트셋 = 422
8.3.2 연결 리스트 = 426
8.4 파일 입출력 = 433
8.4.1 스트림과 파일 입출력 개요 = 433
8.4.2 파일 출력 = 434
8.4.3 파일 입출력과 try∼catch = 437
8.4.4 파일 입력 = 437
8.4.5 프린트 스트림 = 441
8.4.6 파일 입출력 위치 = 443
9장 응용 프로그램
9.1 그래프 = 449
9.1.1 막대 그래프 = 449
9.1.2 점-선 그래프 = 455
9.1.3 수학 그래프 = 461
9.1.4 이항분포 그래프 = 465
9.2 프랙탈 = 472
9.2.1 프랙탈이란? = 472
9.2.2 재취호출 = 474
9.2.3 메소드의 호출과 스택 = 475
9.2.4 프랙탈 원 = 478
9.2.5 재취호출 인자와 프랙탈 = 481
9.2.6 카오스 게임 = 484
9.2.7 이진수 비트곱 프랙탈 = 490
9.2.8 만델브로트 집합 = 494
9.2.9 만델브로트 집합 채색 = 501
9.2.10 만델브로트 집합 속에는 = 507
9.3 알고리즘 = 517
9.3.1 거품정렬 = 517
9.3.2 거품정렬의 모습 = 522
9.3.3 삽입정렬 = 525
9.3.4 삽입정렬의 모습 = 529
9.3.5 쉘정렬 = 532
9.3.6 쉘정렬의 모습 = 537
9.3.7 각 정렬 알고리즘의 정렬 속도 = 541
9.3.8 마방진(魔方陣) = 541
9.3.9 마방진 프로그램 = 543
9.3.10 달팽이 배열 = 548
9.4 요소 = 555
9.4.1 계산기 = 555
9.4.2 시계 = 564
부록 키코드(keyDown(), keyup() 메소드) = 573
찾아보기 = 575