Введение. 9
Сравнительный анализ Java и С#: общность платформ и отличительные особенности. 11
Зачем нужно знать и Java и С#? 15
Часть I. Java. 17
Глава 1. Основы программирования на языке Java. 19
Программирование "без классов". 23
Классы. 40
Объявление переменных и методов, использование их в программе. 52
Создание визуального интерфейса. 63
Программирование обработки событий от элементов, мыши и клавиатуры. 67
Программирование ввода-вывода с использованием файлов. 78
Работа со строками. 89
Использование массивов. 91
Апплеты. 93
Обработка исключительных ситуаций. 96
Работа с графикой. 98
Глава 2. Практические занятия по Java. 109
Основы HTML. 109
Цель занятия. 109
Краткие теоретические сведения. 109
Задание. 119
Контрольные вопросы. 119
Использование скриптов JavaScript в документах HTML. 120
Цель занятия. 120
Краткие теоретические сведения. 120
Задание. 132
Контрольные вопросы. 133
Введение в Java. 133
Цель занятия. 133
Краткие теоретические сведения. 134
Задание. 144
Контрольные вопросы. 145
Реализация взаимодействия между апплетами. 145
Цель занятия. 145
Краткие теоретические сведения. 146
Задание. 155
Контрольные вопросы. 155
Внутренняя база данных апплета. 156
Цель занятия. 156
Краткие теоретические сведения. 156
Задание. 163
Контрольные вопросы. 164
Работа с формами и меню. 164
Цель занятия. 164
Краткие теоретические сведения. 164
Задание. 174
Контрольные вопросы. 174
Java и базы данных. 175
Цель занятия. 175
Краткие теоретические сведения. 175
Задание. 183
Контрольные вопросы. 184
Основы XML. Преобразование XML-HTML. Использование JavaScript. 184
Цель занятия. 184
Краткие теоретические сведения. 184
Задание. 192
Контрольные вопросы. 192
Взаимодействие XML-Java-JavaScript. 193
Цель занятия. 193
Краткие теоретические сведения. 193
Задание. 203
Контрольные вопросы. 203
Чтение XML-файла с использованием файлового диалога. 203
Цель занятия. 203
Краткие теоретические сведения. 203
Задание. 212
Контрольные вопросы. 213
Потоки в Java. 213
Цель занятия. 213
Краткие теоретические сведения. 213
Задание. 221
Контрольные вопросы. 222
Создание приложений "клиент-сервер". 222
Цель занятия. 222
Краткие теоретические сведения. 223
Задание. 235
Дополнительные сведения. 236
Контрольные вопросы. 246
Доступ к серверной базе данных из клиента. 247
Цель занятия. 247
Краткие теоретические сведения 247
Задание. 275
Контрольные вопросы. 276
Использование Java Beans в других средах. 277
Цель занятия. 277
Краткие теоретические сведения. 277
Задание. 287
Контрольные вопросы. 288
Изучение механизма сериализации. 288
Цель занятия. 288
Краткие теоретические сведения. 288
Задание. 300
Контрольные вопросы. 300
Создание сервлетов. 300
Цель занятия. 300
Краткие теоретические сведения. 301
Задание. 307
Контрольные вопросы. 308
Создание почтовой службы в стандартном Java. 308
Цель занятия. 308
Краткие теоретические сведения. 309
Задание. 312
Контрольные вопросы. 312
Создание JSP-странид. 313
Цель занятия. 313
Краткие теоретические сведения. 313
Задание. 316
Контрольные вопросы 316
Создание простого браузера. 317
Цель занятия. 317
Краткие теоретические сведения. 317
Задание. 323
Контрольные вопросы. 323
Сводка основных использованных команд Java. 324
ЧАСТЬ II. С#. 331
Глава 3. Основы программирования на языке С#. 333
Введение в язык С#. 333
Платформа С# для Java-программистов. 342
Программирование "без классов". 345
Использование классов. 350
Использование подпрограмм. 362
Объявление массивов. 367
Работа с файлами. 371
Сериализация объектов. 376
Создание приложений на основе формы. 379
Работа со строками. 386
Создание сборок. 389
Создание Web-приложений. 392
Реализация API-вызовов. 398
Глава 4. Практические занятия по С#. 403
Файловый ввод-вывод в С#. 403
Цель занятия. 403
Краткие теоретические сведения. 403
Задание. 417
Контрольные вопросы 419
Работа с базами данных в С# 419
Цель занятия 419
Краткие теоретические сведения. 419
Задание. 426
Контрольные вопросы. 426
Простейшее рисование в С#. 426
Цель занятия. 426
Краткие теоретические сведения. 427
Задание. 433
Контрольные вопросы. 433
Изучение механизма потоков для смены графических изображений. 433
Цель занятия. 433
Краткие теоретические сведения. 433
Задание. 443
Контрольные вопросы. 443
Создание собственных компонентов. 444
Цель занятия. 444
Краткие теоретические сведения. 444
Задание. 452
Контрольные вопросы. 453
Клиент-серверное взаимодействие на основе протоколов TCP и HTTP. 453
Цель занятия. 453
Краткие теоретические сведения. 453
Задание. 461
Контрольные вопросы. 461
Работа с классом таймера. 461
Цель занятия. 461
Краткие теоретические сведения. 462
Задание. 468
Контрольные вопросы. 469
Обработка польской записи. 469
Цель занятия. 469
Краткие теоретические сведения. 469
Задание. 480
Контрольные вопросы. 481
Работа с коллекциями. 481
Цель занятия. 481
Краткие теоретические сведения. 481
Задание. 491
Контрольные вопросы. 491
Сводка основных использованных команд С#. 491
Приложение. Описание компакт-диска. 499
Содержимое компакт-диска. 499
Инструкции по работе с листингами программ на Java и С#. 499
Запуск классов Java. 500
Запуск апплетов Java. 500
Запуск приложений С#. 502
Установка Tomcat и Java. 503
Список литературы. 505
Предметный указатель. 507