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

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

Файл №1160783 И.Н. Блинов, В.С. Романчик - Основы программирования на языке Java (И.Н. Блинов, В.С. Романчик - Основы программирования на языке Java)И.Н. Блинов, В.С. Романчик - Основы программирования на языке Java (1160783)2019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТМЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТКафедра численных методов и программированияОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ 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 вызывает конструктор, поэтому в круглых скобкахмогут стоять аргументы, передаваемые конструктору.

Характеристики

Тип файла
PDF-файл
Размер
705,51 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов книги

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