Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » И.Н. Блинов, В.С. Романчик - Основы программирования на языке Java

И.Н. Блинов, В.С. Романчик - Основы программирования на языке Java

PDF-файл И.Н. Блинов, В.С. Романчик - Основы программирования на языке Java Языки программирования (53744): Книга - 7 семестрИ.Н. Блинов, В.С. Романчик - Основы программирования на языке Java: Языки программирования - PDF (53744) - СтудИзба2019-09-19СтудИзба

Описание файла

PDF-файл из архива "И.Н. Блинов, В.С. Романчик - Основы программирования на языке Java", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТМЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТКафедра численных методов и программированияОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ JAVAМЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО КУРСУ“МЕТОДЫ ПРОГРАММИРОВАНИЯ”Для студентов механико-математического факультетаМИНСКБГУ2002Авторы–составителиИ. Н.

Блинов, В. С. РоманчикР е ц е н з е н т ы:кандидат физико-математических наук, доцент И. М. Галкинкандидат физико-математических наук В.И. АдамовичРекомендовано Ученым советоммеханико-математического факультета БГУ“5” марта 2002 г., протокол № 5PDF-версия:Д. П.

Глиндзич, А. В. Грызлов©БГУ, 20022Cодержание1.2.3.4.5.6.7.8.9.10.11.12.Основные понятия языка Java. Приложения и апплеты …………...…4Типы данных и операции. Операторы управления программой…..…9Классы, как новые типы данных. Поля данных и методы………...…15Полиморфизм. Конструкторы………………………………………....19Интерфейсы.

Пакеты…………………………………………………...25Класс String. Потоки ввода/вывода…………………………………....30Обработка исключительных ситуаций……………………………..…36Классы событий………………………………………………………...41Графические интерфейсы пользователя……………………………....48Элементы управления……………………………………………….…57Потоки и многопоточность………………………………………….…64Сетевые программы………………………………………………….…7331. ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА JAVA.ПРИЛОЖЕНИЯ И АППЛЕТЫЯзык Java − это объектно-ориентированный язык программирования, используемый для разработки программ, работающих в сетиInternet.

Разработан в корпорации Sun Microsystems Inc. в 1995 году.Система программирования Java позволяет использовать World WideWeb (WWW) для распространения небольших интерактивных прикладных программ, которые размещаются на серверах Internet, транспортируются клиенту по сети, автоматически устанавливаются и запускаются на месте как часть документа WWW. Такая программа −апплет имеет весьма ограниченный доступ к ресурсам компьютераклиента, поэтому он может предоставить произвольный мультимедийный интерфейс и выполнять сложные вычисления, не привносяпри этом риска порчи данных. Другим видом программ являются приложения Java, представляющие переносимые коды, которые могутвыполняться на любом компьютере, независимо от его архитектуры.Генерируемый при этом виртуальный код представляет набор инструкций для выполнения на интерпретаторе виртуального кода − виртуальной Java-машине (Java Virtual Machine). Широкое распространение получили сервлеты и JSP (Java Server Pages), предоставляющиеклиентам доступ к базам данных и приложениям на сервере.Язык Java использует синтаксис языка C++ и может рассматриваться как его развитие.

Основные отличия от C++ связаны с необходимостью уменьшения размеров программ и увеличения требований кбезопасности переносимых приложений, работающих в сети. Java неподдерживает указателей (наиболее опасное средство языка С++), таккак возможность работы с произвольными адресами памяти через безтиповые указатели позволяет игнорировать защиту памяти.В Java все объекты программы расположены в динамической памяти (heap) и доступны по объектным ссылкам.

Это решение исключилонепосредственный доступ к памяти, но усложнило работу с элементами массивов и сделало ее менее эффективной по сравнению с C++программами. Необходимо отметить, что объектные ссылки языкаJava содержат информацию о классе объектов, на которые они ссылаются, так что объектные ссылки − это не указатели, а дескрипторыобъектов.

Наличие дескрипторов позволяет JavaVM выполнять проверку совместности типов на фазе интерпретации кода, генерируя исключение в случае ошибки. В Java пересмотрена и концепция дина4мического распределения памяти: исключены функции освобождениядинамически выделенной памяти free()/delete. Вместо этого реализована система автоматического освобождения памяти, выделенной спомощью оператора new (сборщик мусора).Стремление упростить Java-программы и сделать их более понятными привело к отказу от файлов-заголовков (h-файлов) и препроцессорной обработки. Файлы-заголовки С++, содержащие прототипыклассов и распространяемые отдельно от двоичного кода этих классов, усложняют управление версиями, что дает возможность злонамеренным пользователям получать доступ к приватным данным. В Javaпрограммах спецификация класса и его реализация всегда содержатсяв одном и том же файле. Но отказ от препроцессора сделал невозможным параметризацию классов по типам (классам) их членов, что усложнило программирование простых вещей (например, на Java, в отличие от C++, нельзя иметь массив, элементами которого являютсяобъекты произвольного класса).Java не поддерживает структуры и объединения.

Классы Java неподдерживают перегрузку операторов (в том числе: <<, >>), а такжеаргументов по умолчанию. Java не поддерживает множественное наследование, имеет конструкторы, но не имеет деструкторов (использует автоматическую сборку мусора), не поддерживает typedef, беззнаковые целые, не использует goto.Наиболее существенные новые возможности, появившиеся в Java,это интерфейсы (аналог абстрактных классов C++) и многопоточность(возможность одновременного выполнения частей программы).// пример #1 : простое приложение: First.javaclass First {public static void main (String[] args) {System.out.println("Моя Первая Программа На Java !!! "); }}Здесь класс First содержит метод main() с аргументамипараметрами командной строки String[] args, который является открытым членом класса.

Программа представляет собой приложение,запускаемое интерпретатором, поэтому ее выполнение обязательнодолжно начинаться с открытого (public) метода main(), который виден и доступен любому классу. Ключевое слово static объявляет методы и переменные класса, используемые для работы с классом в целом. Символы верхнего и нижнего регистров различаются, как и вC++.

Вывод строки "Моя Первая Программа На Java !!!" осуществляется методом println() (ln – переход к новой строке после вывода)5класса System, который включается автоматически вместе с пакетомjava.lang. Программа помещается в файл, имя которого совпадает сименем класса. Простейший способ компиляции − вызов строчногокомпилятора: javac First.java. При успешной компиляции создаетсяфайл First.class. Выполнить этот виртуальный код можно с помощьюинтерпретатора Java: java First.Следующая программа отображает в окне консоли аргументы командной строки функции main().

Аргументы представляют массивстрок, значения которых присваиваются объектам массива String[]args. Количество аргументов является значением args.length.// пример #2 : Вывод аргументов командной строки : OutArgs.javaclass OutArgs {public static void main(String[] args) {for (int j = 0; j < args.length; j++)System.out.println("Аргумент #" + j + "-> " + args[j]); }}Запустим это приложение с помощью следующей командной строки:Java OutArgs 2001 argument2 "Java-string"Вывод: Аргумент #0-> 2001Аргумент #1-> argument2Аргумент #2-> Java-stringВ следующем примере рассматривается ввод строки с консоли.// пример # 3: Ввод строки с консоли: Input.javaimport java.io.*;class Input {public static void main(String[] args){InputStreamReader is = new InputStreamReader(System.in);BufferedReader bis = new BufferedReader(is);try {System.out.println("Введите Ваше имя и нажмите <Enter>:");String name = bis.readLine();System.out.println("Привет, "+name); }catch (IOException e){System.out.println("ошибка ввода "+ e); }}}Одна из целей разработки Java − это создание апплетов (маленькихпрограмм, запускаемых внутри Web-браузера).

Поскольку апплетыдолжны быть безопасными, они ограничены в своих возможностях,6хотяостаютсямощныминструментомподдержкиWebпрограммирования на стороне клиента.// пример #4 : простой апплет : HelloApplet.javaimport java.applet.Applet;import java.awt.Graphics;public class HelloApplet extends Applet {public void paint(Graphics g) {g.drawString("Это Я!", 50, 25);g.drawString("Здравствуйте!", 100, 40); }}Апплету не нужен метод main() − код его запуска помещается вметод init() или paint(). Для запуска апплета нужно поместить ссылкуна него в HTML документ и просмотреть этот документ Webбраузером, поддерживающим Java. При этом можно обойтись оченьпростым фрагментом (тегом) HTML внутри документа:<applet code = HelloApplet width=100 height=100></applet>Классы в Java содержат переменные-члены класса и функциичлены класса, а также могут содержать конструкторы.

Основные отличия от классов C++: все функции определяются внутри классов иназываются методами; невозможно создать функцию, не являющуюсяметодом класса или объявить метод вне класса; ключевое слово inlineне поддерживается; cпецификаторы доступа public, private, protectedвоздействуют только на то, перед чем они стоят, а не на участок отодного до другого спецификатора как в С++; элементы по умолчаниюне устанавливаются в private, а доступны для классов из данного пакета.

Объявление класса имеет вид:[спецификатор] class имя_класса [extends суперкласс ] [implementsинтерфейс ]Спецификатор доступа класса может быть public (класс доступенобъектам данного пакета и вне пакета), final (класс не может иметьподклассов), abstract (класс содержит абстрактные методы, объектытакого класса могут создавать только подклассы). По умолчанию спецификатор устанавливается в friendly (класс доступен в данном пакете). Слово friendly при объявлении не используется. Файл, содержащий public class, должен иметь то же имя, что и класс.//пример #5: вычисление расстояния между точками Distance.javaclass Locate {private double x,y;setXY(double a, double b){x = a; y = b;}//по умолчанию friendly7double getX(){return x;}double getY(){return y;}}public class Distance {public static void main(String[] args){//локальные переменные не являются членами классаLocate t1 = new Locate();Locate t2 = new Locate();double dx,dy,distance;t1.setXY(5, 10); t2.setXY(2, 6);dx = t1.getX() - t2.getX();dy = t1.getY() - t2.getY();distance= Math.sqrt(dx*dx+dy*dy);//Вычисление расстоянияSystem.out.println("Расстояние равно: "+distance); }}Вывод: Расстояние равно: 5.0Здесь используется статический метод sqrt() из класса Math безобъявления объекта указанного класса.

Класс Math содержит методыдля физических и технических расчетов, а также константы E и PI.Создание объекта класса – это двухшаговый процесс. Сначала объявляется ссылка на объект класса. Затем с помощью оператора newсоздается экземпляр объекта, например следующим образом:Locate t1; //Объявление ссылкиt1 = new Locate(); //Создание объектаЧасто эти два этапа объединяются в один:Locate t1 = new Locate();Оператор new вызывает конструктор, поэтому в круглых скобкахмогут стоять аргументы, передаваемые конструктору.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5258
Авторов
на СтудИзбе
419
Средний доход
с одного платного файла
Обучение Подробнее