Похожие презентации:
Программирование. Введение в Java и С# (Тема 1)
1.
ПрограммированиеТема 1. Введение в Java и С#
1
2. Java
Java – это язык программирования и платформа (1995, SunMicrosystems, Джеймс Гослинг)
Платфома Java:
Виртуальная машина Java (JVM);
Стандартная библиотека классов.
Варианты распространения платформы Java:
JRE (Java Runtime Environment );
JDK (Java Development Kit).
http://www.oracle.com/technetwork/java/javase/downloads/
Версии JDK:
Java SE (Java Standard Edition);
Java EE (Java Enterprise Edition);
Java ME (Java Micro Edition).
Среды разработки для JDK:
NetBeans, Eclipse, IntelliJ IDEA
и др.
2
3. Платформа Java
Платформа – это совокупность аппаратного и программного (ОС) обеспечения (MS Windows, Linux,Solaris OS, Mac OS).
Платфома Java – это программное обеспечение, которое состоит из двух основных частей:
Виртуальная машина Java (JVM);
Стандартная библиотека классов.
Платформа Java распространяется в двух вариантах – JRE (Java Runtime Environment ) и JDK(Java
Development Kit).
JRE (среда выполнения Java) - это программное обеспечение, необходимая для выполнения Javaприложений, без компилятора и других средств разработки. Если пользователь хочет только
запускать программы, это именно то, что ему нужно. JRE состоит из JVM, стандартных классов
Java и вспомогательных файлов.
JDK - средство разработчика, состоящее из JRE, утилит командной строки (например, javac, java,
javadoc и др.), исходных кодов классов стандартной библиотеки и вспомогательных файлов. JDK
является базовым средством разработки приложений. Оно не содержит никаких текстовых
редакторов, а оперирует только с уже существующими java-файлами с помощью утилит командной
строки.
Версии JDK:
Java SE – комплект Java Standard Edition – для написания программного обеспечения для
обычных компьютеров;
Java EE– комплект Java Enterprise Edition – для написания серверного программного
обеспечения;
Java ME – комплект Java Micro Edition – для написания программного обеспечения для
устройств, обладающих малыми ресурсами, например, сотовых телефонов,
микроконтроллеров;
3
4. C# и платформа .NET
C# – это язык программирования для платформы .NET (.NETFramework ) (2000, Microsoft, Андерс Хейлсберг)
Другие основные языки программирования платформы .NET:
VB.NET, Managed C++ и JScript .NET.
Платфома .NET:
CLR (Common Language Runtime) - общеязыковая среда
выполнения ;
FCL (Framework Class Library) - библиотека классов.
В составе библиотеки базовых классов выделяется:
CTS (Common Type System) – общая система типов
Среды разработки для .NET Framework:
Visual Studio .NET ;
SharpDevelop и др.
4
5. Создание программы на Java в NetBeans IDE 8.0
Файл -> Создать проект5
6. Создание программы на Java в NetBeans IDE 8.0
67. Создание программы на Java в NetBeans IDE 8.0 Структура Java - программы.
Создание программы на Java в NetBeans IDE 8.0Пример 1
Структура Java - программы.
7
8. Структура Java-программы
Исходный код Java-программы – это текстовый файл, содержащий в себе одно или несколько описанийклассов. Среди классов должен быть класс, содержащий метод main(). Именно с метода main() начинается
выполнение программы. Текстовый файл с исходным кодом Java-программы должен иметь имя,
совпадающее с именем класса, содержащим метод main() и расширение java.
Хорошим стилем программирования является описание одного класса в одном java-файле, имя которого
совпадает с именем этого класса.
Класс – это конструкция языка программирования, которая объединяет в себе переменные и функции,
которая может определять новый тип данных, который можно использовать для создания объектов этого
типа.
Объект в объектно - ориентированных языках программирования – это переменная типа класс.
Функции, описанные в классе называют методами.
Классы в Java-программах размещаются в пакеты. Пакет (package) - это некий контейнер для классов,
который задает для классов пространство имен, каталог для размещения и пакетный уровень доступа.
Классы стандартной библиотеки классов размещены в пакете с именем java и его подпакетах. Например,
базовые классы, необходимые для работы любой java-программы, находятся в подпакете lang пакета java
(java.lang). Пакет java.lang по умолчанию импортируется в каждый модуль компиляции, поэтому команду
import java.lang.*; писать в программе не обязательно.
Рассмотрим исходный код программы примера 1. Вся программа состоит из одного класса с именем Hello,
который размещен в файле Hello.java. Класс Hello находится в пакете hello, которому соответствуют папка
hello. У этого класса имеется единственный метод main. Давайте расшифруем каждое слово в коде.
8
9. Структура Java-программы
Ключевое слово import указывает пакет, в котором находится стандартный класс SystemКлючевое слово public - это спецификатор доступа. Когда члену класса предшествует public, то к
этому члену возможен доступ из кода, внешнего по отношению к классу, в котором описан данный
метод. В данном случае, метод main объявлен как public для того, чтобы JVM могла обратиться к
этому методу.
Ключевое слово static означает, что метод main() является статическим. Статическим называют
метод класса, который может вызываться через имя класса без создания объекта этого класса.
JVM вызывает метод main() без использования объекта класса Hello, следовательно этот метод
должен быть static.
Через переменную-массив args типа String методу main() могут передаются параметры командной
строки.
Оператор System.out.println(“Привет, мир") выводит строку текста на экран монитора.
в Java можно использовать однострочные и многострочные комментарии такие же как и в С++.
В Java введены комментарии третьего типа:
/**начинается комментарий, который может занимать несколько строк
до звездочки и наклонной черты */
Утилита javadoc из JDK извлекает эти комментарии в отдельные файлы формата HTML и создает
гиперссылки между ними. В такой комментарий можно вставить указания программе javadoc ,
которые начинаются с символа @.
9
10. Создание консольной программы в MS Visual C# 2010 Express
Файл -> Создать проект10
11. Создание консольной программы в MS Visual C# 2010 Express Структура программы на C#
Пример программы11
12. Создание консольной программы в MS Visual C# 2010 Express
В главном меню выбрать команду Файл – Создать проект…. После этого откроется диалоговое«Создать проект» (см. слайд 20).
Далее следует выбрать тип создаваемого приложения – Консольное приложение. В строчке Имя
следует ввести новое имя приложения ( по умолчанию, ConsoleApplication1) и нажать кнопку OK.
Экран примет вид, изображенный на слайде 21.
Основное пространство экрана занимает окно редактора, в котором располагается текст программы,
созданный средой автоматически. В автоматически созданный текст программы добавлены два
оператора: Console.WriteLine(“Привет, мир!”); Console.ReadKey();.
В правой части экрана располагается окно управления проектом Обозреватель решений.
Замечание. Если вы случайно закроете данное окно, то его можно включить командой Вид – Другие
окна – Обозреватель решений.
В этом окне перечислены все ресурсы, входящие в проект:
1) Properties (Свойства), содержит файл AssemblyInfo.cs – информация о сборке.
2) Ссылки на стандартные библиотеки System, System.Data, System.Xml и т.д.
3) Program.cs - исходный текст программы на языке C#.
В левой нижней части экрана располагается окно Список ошибок, которое во время отладки проекта
позволит нам получать информацию о локализации и типе ошибок.
Для того чтобы сохранить проект нужно в главном меню выполнить команду Файл – Сохранить все.
Откроется диалоговое окно «Сохранить проект». Имя проекта определено на этапе его создания.
При необходимости это имя можно изменить. Расположение проекта зависит от установок, которые
можно изменить через кнопку Обзор.
Для того чтобы запустить приложение в режиме отладки нужно нажать на кнопку Начать отладку (F5)
стандартной панели инструментов VS. В результате программа скомпилируется в IL-код (файл
ConsoleApplication.exe в каталоге Debug) и этот код будет передан CLR на выполнение.
Командой Построить решение (F6) можно получить финальный ConsoleApplication.exe в каталоге
Release.
12
13. Структура программы на C#
Исходный код на С # – это текстовый файл с расширением cs, содержащий в себе одно илинесколько описаний классов.
Среди классов должен быть класс, содержащий метод main(). Именно с метода main() начинается
выполнение программы.
Текстовый файл с исходным кодом программы не обязательно должен иметь имя, совпадающее с
именем класса, содержащим метод main() (как в Java).
Рекомендуется каждый класс программы размещать в отдельном файле с расширеним cs.
Классы в программах на С# размещаются в пространствах имен. Корневым пространством имён
для классов стандартной библиотеки классов является System.
Наиболее часто используемые пространства имен библиотеки классов:
System.Collection – контейнерные классы;
System.Windows – классы для создания графического интерфейса пользователя(GUI);
System.IO – классы для организации файлового ввода - вывода.
Пространства имен библиотеки классов подключаются в программу с использованием команды
using.
13
14. Компиляция и выполнение C#-программы
Компиляция и выполнение Java-программыДинамическая компоновка,
выполнение
Компиляция
Исходный код
(наборы
классов)
Компилятор
javac.exe
Pr1.java,Pr2.java, … ,
Prn.java
виртуальная
машина Java
(JVM)
java.exe
байткод
Pr1.class, Pr2.class, …
, Prn.class
Компиляция и выполнение C#-программы
Динамическая
компоновка, выполнение
Компиляция
Исходный код
на C# (наборы
классов)
*.cs - файл
C# -компилятор
IL-код
Общеязыковая
среда
выполнения (CLR)
JIT (just in time) компилятор
*.exe – файл
(сборка)
14
15. Компиляция и выполнение программ на Java и C#
Исходные java-файлы компилируются с помощью компилятора javac.exe в файлы с расширением .class.Однако эти файлы не содержат машинный код, исполняемый непосредственно процессором, они
содержат так называемый байт-код – код, обрабатываемый виртуальной машиной Java (JVM). Запуск
программы в рамках JVM осуществляется с помощью утилиты java.exe.
Поскольку существует реализация JVM для многих операционных систем, один и тот же файл .class
может быть запущен на разных ОС. Этим достигается переносимость или кросс-платформенность Javaпрограмм.
Виртуальная машина Java (JVM) – часть среды исполнения Java (JRE), выполняющая интерпретацию байт
кода в машинный код конкретного процессора.
Виртуальная Java-машина не только исполняет байт-код (интерпретирует его, занимается JITкомпиляцией и исполняет JIT-компилированный код), но и выполняет ряд других функций. Например,
взаимодействует с операционной системой, обеспечивая доступ к файлам или поддержку графики. А
также обеспечивает автоматическое высвобождение памяти, занятой ненужными объектами – так
называемую сборку мусора (garbage collection).
Все методы стандартных классов, вызываемые в программе, подключаются к ней только на этапе
выполнения, а не включаются в байт-коды, то есть происходит динамическая компоновка.
Исходный файл на C# компилируются с помощью C# - компилятора в файл с расширением .exe. Файл с
расширением exe (сборка) содержит не машинный код, исполняемый непосредственно процессором, он
содержат код на языке IL (intermedia language).
Общеязыковой средой выполнения(CLR) сборка преобразуется в машинный код и выполняется.
Кроме компиляции и выполнения программы CLR выполняет и другую работу, например автоматическое
управление памятью. Система управления памятью CLR называется Garbage Collector (GC) или
сборщиком мусора.
Среда CLR обеспечивает интеграцию языков и позволяет объектам, созданным на одном языке,
использовать объекты, написанные на другом. Такая интеграция возможна благодаря стандартному
набору типов (Common Type System, CTS) и информации, описывающей тип (метаданным).
15
16. Типы данных Java
Базовые типы данных16
17. Типы данных Java
Классы-оболочки для базовых типов:Boolean, Byte, Character, Short, Integer, Long, Float, Double
int i = Integer.parseInt("123");
boolean = Boolean.parseBoolean("true");
Ссылочные типы: массивы;
классы;
интерфейсы.
Пример 2: Создание объекта класса Date
17
18. Типы данных Java
В Java все типы делятся на базовые и ссылочные.Базовые, в данном случае, означает, что эти типы доступны в рамках самого языка, для их
использования ненужно создавать свои классы или обращаться к классам из библиотеки.
Переменные базовых типов даже не являются объектами.
Замечания:
В Java, в отличие от C++, нет беззнаковых целых типов.
Тип char используется для хранения символов в кодировке Unicode, которая позволяет работать
с алфавитами различных языков. Первые 256 символов соответствуют стандарту ASCII.
Для базовых типов в java есть классы-оболочки, которые содержатся в пакете java.lang и имеют
очевидные имена: Integer, Float, Double, Short, Byte, Character, Boolean, Long.
В этих классах определены полезные методы преобразования типов, например, методы
преобразования строк, состоящих из цифр, в числа. В классе Integer, в частности, есть метод static
int parseInt(String s) преобразующий строку из цифр в целое число.
Как правило, классы - оболочки используются в типизации коллекций (например, List <Integer>).
Кроме перечисленных на слайде базовых типов, существуют также ссылочные типы. В качестве
примера можно рассмотреть класс String — предназначен для создания и работы со строками текста
или класс Date – предназначен для создания и работы с датой и временем.
Переменная, имеющая ссылочный тип, содержит ссылку на объект. Ссылка является своего рода
указателем, но с ней нельзя выполнять операции, допустимые над указателями в языках С и C++.
Объявление переменной ссылочного типа не создаёт соответствующий объект. Для создания объекта
следует использовать оператор new.
В Java для обозначения так называемой нулевой ссылки используется ключевое слово null .
Пример 2 демонстрирует работу со ссылочным типом Date.
18
19. Типы данных C#
Типы данных C#:базовые типы;
типы, определяемые пользователем.
Типы данных C#:
типы - значения;
ссылочные типы.
Типы - значения :
логический;
целочисленные;
вещественные;
финансовый;
символьный;
Ссылочные типы:
- object;
- строки string;
- классы;
- интерфейсы;
- делегаты.
перечисления;
структуры.
19
20. Типы данных C#
В С# типы делятся на базовые типы – предлагаемые языком и типы, определяемые пользователем.Кроме того, типы С# разбиваются на две другие категории: типы - значения (value type) и ссылочные
типы (reference type).
Почти все базовые типы являются типами - значениями. Исключение составляют типы Object и
String, которые являются базовыми, но ссылочными типами данных. Все пользовательские типы,
кроме структур и перечислений, являются ссылочными. Дополнительно к упомянутым типам, язык С#
поддерживает типы указателей, однако они используются только с неуправляемым кодом.
Принципиальное различие между типами-значениями и ссылочными типами состоит в способе
хранения их значений в памяти. В первом случае фактическое значение хранится в стеке (или как
часть большого объекта ссылочного типа). Адрес переменной ссылочного типа тоже хранится в стеке,
но сам объект хранится в куче.
Стек – это структура, используемая для хранения элементов по принципу LIFO (Last input – first output
или первым пришел - последним ушел). В данном случае под стеком понимается область памяти,
обслуживаемая процессором, в которой хранятся значения локальных переменных. Куча – область
памяти, используемая для хранения данных, работа с которыми реализуется через указатели и
ссылки. Память для размещения таких данных выделяется программистом динамически, а
освобождается сборщиком мусора.
Сборщик мусора уничтожает программные элементы в стеке через некоторое время после того, как
закончит существование раздел стека, в котором они объявлены. То есть, если в пределах блока
(фрагмента кода, помещенного в фигурные скобки {}) объявлена локальная переменная,
соответствующий программный элемент будет удален по окончании работы данного блока. Объект в
куче подвергается сборке мусора через некоторое время после того, как уничтожена последняя
ссылка на него.
Язык С# предлагает обычный набор базовых типов, каждому из них соответствует тип .NET (см.
следующие два слайда).
В С# в отличии от Java есть целые без знаковые типы данных.
20
21. Типы данных C#
Базовые типы21
22. Типы данных C#
Базовые типы22
23. Типы данных C#
Пример: Создание объектов класса StringЗамечание: Для создания строкового объекта оператор new не
используется, за исключением случаев инициализации строки массивом
символов.
23
24. Приведение типов данных в выражениях и при присваивании в Java
Неявное приведение базовых типов:byte, short, char -> int -> long -> float -> double;
Пример 3:
Пример 4:
24
25. Приведение типов данных в выражениях и при присваивании в Java
Синтаксис объявления переменных в Java и С# такой же как и в С++. В методах все локальныепеременные базовых типов перед использованием обязательно надо инициализировать. Попытка
использования значения неинициализированной переменной приводит к ошибке во время
компиляции. Над данными базовых типов можно производить массу операций. Их набор восходит
к языку С, он оказался удобным и кочует из языка в язык почти без изменений.
Приведение типов в Java (С#) осуществляется автоматически (неявно) и с помощью операции
явного приведения типов.
В выражениях перед выполнением арифметической операции всегда происходит повышение
типов byte, short, char. Они преобразуются в тип int, а может быть, и в тип long, если другой
операнд типа long.
Это правило приводит иногда к неожиданным результатам. Попытка откомпилировать простую
программу, представленную на слайде (пример 3), приведет к сообщению компилятора:
возможная потеря точности (possible loss). В таких случаях следует выполнить сужение типа int
до типа short . Оно осуществляется операцией явного приведения, которая записывается перед
приводимым значением в виде имени типа в скобках. Определение short k = (short)(b1 + b2); будет
верным.
Также в выражениях перед выполнением арифметической операции:
операнд типа int повышается до типа long, если другой операнд типа long.
операнд типа long повышается до типа float если другой операнд типа float.
операнд типа float повышается до типа double если другой операнд типа double.
Если при простом присваивании происходит понижение типа, то в Java всегда нужно
использовать операцию явного приведения типа (пример 4).
Нельзя выполнять приведение целого типа к типу boolean и наоборот. В Java значение 0 не
является эквивалентом значения false, а ненулевая величина - значения true, в отличие от C++.
25
26. Преобразование типов данных в выражениях и при присваивании в C#
Пример 5:26
27. Преобразование типов данных в выражениях и при присваивании в С #
Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторогозначения. Выражения состоят из операндов, операций и скобок. Каждый операнд является в свою
очередь выражением или одним из его частных случаев –константой, переменной или функций.
Преобразование типов в выражениях может происходить неявно (без участия программистов)
следующим образом. Если операнды имеют одинаковый тип, то результат операции будет иметь
тот же тип. Если операнды разного типа, то перед вычислениями выполняются преобразования
более коротких типов в более длинные для сохранения значимости и точности. Перед
выполнением арифметической операции всегда происходит повышение типов byte, sbyte, short,
ushort, char. Они преобразуются в тип int, а может быть, и в тип long, если другой операнд типа
long. Это правило приводит иногда к неожиданным результатам (см. пример 5).
В выражениях можно использовать операцию явного преобразования типа, например, если нужно
более длинный тип преобразовать в короткий (см. пример 5).
27
28. Консольный ввод-вывод в Java
Ввод данных: методы класса ScannerВывод данных: методы print(), println() и printf()
Пример :
28
29. Консольный ввод-вывод в Java
Для взаимодействия с консолью в Java используется класс System. Этот класс располагается впакете java.lang, который автоматически подключается в программу.
Для создания потока вывода в классe System определен статический объект out класса
PrintStream. В классе PrintStream определен метод println, который позволяет вывести на консоль
некоторое значение с последующим переводом курсора на следующую строку.
В метод println передается любое значение, как правило, строка, которое надо вывести на
консоль. При необходимости можно и не переводить курсор на следующую строку. В этом случае
можно использовать метод print().
В Java для форматированного вывода можно использовать функцию printf().
Также форматированный вывод можно выполнить с помощью метода println(), если
воспользоваться методом format() класса String для форматирования строки.
Форматирование чисел и строк java с примерами:
https://hr-vector.com/java/formatirovanie-chisel-strok
Для ввода данных с клавиатуры в Java часто используются методы класса Scanner, который
располагается в пакете java.util. Имеются методы для ввода числовых данных разного типа
(nextInt(). nextFloat() и др.), а также метод nextLine( )для ввода строк. Для вызова этих методов
необходимо создать объект класса Scanner и связать его с консолью:
Scanner in = new Scanner(System.in).
29
30. Консольный ввод-вывод в С#
Ввод данных: метод ReadLine() класса ConsoleВывод данных: метод WriteLine() класса Console
Cпособы применения метода Console.WriteLine :
1. Console.WriteLine(x);
2. Console.WriteLine("x = " + x +"y = " + y);
3. Console.WriteLine("x={0} y={1}", x, y);
Пример :
30
31. Консольный ввод-вывод в C#
Для организации консольного ввода - вывода используется стандартный класс Console,определенный в пространстве имен System.
Для ввода данных обычно используется метод ReadLine, реализованный в классе Console.
Данный метод в качестве результата возвращает строку, тип которой string.
Для того чтобы получить числовое значение, необходимо воспользоваться преобразованием
данных.
Для преобразования строкового представления целого числа в тип int мы используем метод
Parse(), который реализован для всех числовых типов данных. Таким образом, если нам
потребуется преобразовать строковое представление в вещественное, мы можем
воспользоваться методом float.Parse() или double.Parse(). В случае, если соответствующее
преобразование выполнить невозможно, то выполнение программы прерывается и генерируется
исключение. Например, если входная строка имела неверный формат, то будет сгенерировано
исключение System.FormatExeption.
Для преобразования строкового представления числа в число некоторого типа и для
преобразования числа в строку можно использовать методы класса Convert.
Метод WriteLine, реализованный в классе Console, позволяет организовывать вывод данных на
экран. Существует несколько способов применения данного метода (см. слайд). Первый способ
- на экран выводится значение идентификатора х, второй способ - на экран выводится строка,
образованная последовательным слиянием строки "x=", значения x, строки "у=" и значения у,
третий способ - на экран выводится строка, формат которой задан первым аргументом метода,
при этом вместо параметра {0} выводится значение x, а вместо {1} – значение y.
Третий вариант использования метода WriteLine является наиболее универсальным, потому что
он позволяет не только выводить данные на экран, но и управлять форматом их вывода.
31
32. Форматированный вывод в C#
Примеры : Цифры после точкиПримеры : Цифры перед точкой
Примеры : Выравнивание с помощью пробелов
32
33. Форматированный вывод в C#
Метод String.Format() позволяет форматировать вещественные числа и переводить их в строку.В примере на слайде демонстрируется перевод вещественного числа в строку с фиксированным
числом десятичных знаков. Например, для двух знаков используется шаблон "0.00". Если
вещественное число содержит менее десятичных знаков, то оставшиеся позиции
справа заполняются нулями, если же число знаков больше — производится округление.
Для получения строки с переменным количеством знаков используется символ "#". Чтобы на
выходе получить строку, в которой количество десятичных знаков будет не более
двух, используйте шаблон "0.##" .
Если на выходе нужно получить строку, в которой число знаков перед точкой будет не менее
заданного числа, используйте шаблон, в котором указывается столько нулей перед точкой,
сколько символов должно быть минимально.
Для выравнивания числа по правому краю используется запятая перед двоеточием. То есть,
ставится запятая, а следом идет число, которое указывает, сколько пробелов должно быть.
Пример: "0,10:0.0".
Для выравнивания по левому краю, шаблон будет таким же, за исключением того, что число
пробелов должно быть указано со знаком минуса.
Подробнее форматированный вывод в С# в статье: https://mvblog.ru/archives/519/
33
34. Условные и циклические операторы в Java и C#
Синтаксис оператора if :if
(условие)
оператор1; [else оператор2;]
Синтаксис оператора for:
for (инициализация; усл. завершения; изменение_парам)
оператор;
Синтаксис оператора while:
[инициализация;]
while (усл. завершения)
{ операторы; [изменение_парам;]
}
Синтаксис оператора while:
[инициализация;]
do
{ операторы;
[изменение_парам;]
} while(усл. завершения)
34
35. Условные и циклические операторы в Java и C#
Результатом вычисления условия в операторе if и условия завершения в операторах for, while, dowhile должно быть значение логического типа (boolean): true или false.
Операции сравнения (==, !=, >, <, >=, <=) возвращают результат логического типа.
Логические операции ( &&, ||, ! и другие) возвращают результат логического типа.
В Java и C# нельзя написать: int k = 10;
while(k)
{ … }.
35
36. Класс Math в Java
Статические методы класса Math:Math.abs(n),
Math.round(n)
Math.ceil(n)
(например, Math.ceil(3.4) вернёт 4.0)
Math.cos(n), Math.sin(n), Math.tan(n)
Math.acos(n), Math.asin(n), Math.atan(n)
Math.toDegrees(n), Math.toRadians(n)
Math.sqrt(n),
Math.pow(n, b)
Math.log(n), Math.log10(n)
Статические константы класса Math:
Math.PI, Math.E
Примеры объявления именованных констант:
final int n = 10;
static final int k = 20;
36
37. Класс Math в Java
Math.abs(n) — возвращает модуль числа n.Math.round(n) — возвращает целое число, ближайшее к вещественному числу n (округляет n).
Math.ceil(n) — возвращает ближайшее к числу n справа число с нулевой дробной частью
(например, Math.ceil(3.4) в результате вернёт 4.0).
Math.cos(n), Math.sin(n), Math.tan(n) — тригонометрические функции sin, cos и tg от аргумента n,
указанного в радианах.
Math.acos(n), Math.asin(n), Math.atan(n) — обратные тригонометрические функции, возвращают угол
в радианах.
Math.toDegrees(n) — возвращает градусную меру угла в n радианов.
Math.toRadians(n) — возвращает радианную меру угла в n градусов.
Math.sqrt(n) — возвращает квадратный корень из n.
Math.pow(n, b) — возвращает значение степенной функции n в степени b, основание и показатель
степени могут быть вещественными.
Math.log(n) — возвращает значение натурального логарифма числа n.
Math.log10(n) — возвращает значение десятичного логарифма числа n.
Все перечисленные функции принимают вещественные аргументы, а тип возвращаемого значения
зависит от типа аргумента и от самой функции.
В языке Java для объявления константы используется ключевое слово final. При объявлении
констант после ключевого слова final указывается ее тип.
В языке Java часто возникает необходимость в константах, доступных нескольким методом внутри
одного класса обычно они называются константами класса. Константы класса объявляются с
помощью ключевых слов static final вне методов класса,
37
38. Класс Math в C#
3839. Класс Math в С#
С# содержит большое количество встроенных математических функций, которые реализованы вклассе Math пространства имен System.
Краткое описание некоторых математических функций представлена на слайде.
Особое внимание следует обратить на типы операндов и результатов, т.к. каждая функция может
иметь несколько перегруженных версий.
Замечание. Использование нескольких функций с одним и тем же именем, но с различными типами
параметров, называется перегрузкой функции. Например, функция Math.Abs(), вычисляющая
модуль числа, имеет 7 перегруженных версий: double Math.Abs (double x), float Math.Abs (float x), int
Math.Abs(int x), и т.д.
39
40. Генерация случайных чисел в Java
Способы генерации случайных чисел:с использованием метода random() класса java.lang.Math;
С использованием методов класса java.util.Random.
Пример:
40
41. Генерация случайных чисел в Java
Java для генерации случайных чисел предоставляет классы java.lang.Math и java.util.Random.Метод Math.random() предназначен для генерации случайных чисел типа double. Этот метод можно
использовать с параметрами и без.
Метод random() без параметров возвращает положительное число, которое больше или равно 0,0
или меньше 1,0.
В параметрах можно задать диапазон чисел, в пределах которого будут генерироваться случайные
значения: (Math.random() * ((max - min) + 1)) + min.
Класс java.util.Random можно применять для генерации случайных чисел различных типов: int, float,
double, long и boolean .
Для этого сначала создайте экземпляр класса Random, а затем вызовите один из методов
генератора случайных значений: nextInt( ), nextDouble( ) или nextLong( ).
Метод nextInt( ) класса Random принимает граничное целое число и возвращает случайное
значение int от 0 (включительно) до указанного предела (не включая).
В параметрах методов класса java.util.Random также можно задать диапазон чисел, в пределах
которого будут генерироваться случайные значения, например, r.nextDouble()*((max-min)+1)+min
Подробнее о генерации случайных чисел в Java см. в статье по ссылке:
https://yandex.ru/turbo?text=https%3A%2F%2Fwww.internet-technologies.ru%2Farticles%2Fgeneraciyasluchaynyh-chisel-v-java.html
41
42. Генерация случайных чисел в C#
Пример:42
43.
Пример. Проверка знания таблицы умножения:package test;
import java.util.Random;
import java.util.Scanner;
class Test {
public static void main(String[] args) {
int numb1, numb2; //сомножители
int res;
//произведение
int otv;
//ответ испытуемого
int kol = 0; //кол-во правильных ответов
System.out.println("Проверка знания таблицы
умножения");
System.out.println("После примера введите ответ и
<Enter>");
final int n = 10; // 10 примеров
Random random =new Random();
Scanner in = new Scanner(System.in);
43
44.
Пример 11 (продолжение)for (int i=1;i<=n;i++)
{ numb1 = random.nextInt(10 - 2) + 2;
numb2 = random.nextInt(10 - 2) + 2;
res = numb1*numb2;
System.out.print(numb1 + "x" + numb2 + "=");
otv = in.nextInt();
if (otv == res) kol++;
else
{ System.out.print("Вы ошиблись!");
System.out.println(numb1 + "x" + numb2 + "=" +res);
System.out.println("Продолжим...");
}
}
System.out.println("Правильных ответов: "+ kol);
44
45.
Пример 11 (продолжение)System.out.print("Ваша оценка: ");
switch (kol)
{ case 10 : System.out.print("5"); break;
case 9 : System.out.println("4"); break;
case 8 : System.out.println("4"); break;
case 7 : System.out.println("3"); break;
default: System.out.println("2"); break;
}
}
}
45
46. Создание Test.jar в Netbeans
4647. Контрольные вопросы
1. Понятие Java. Понятие и назначение JRE и JDK. Версии JDK.Cтруктура, компиляция и выполнение Java - программы, примеры.
2. Понятие и назначение платформы .NET. Структура, компиляция и
выполнение C#-программы в .NET
3. Классификация типов данных в Java и С#. Преобразование базовых
типов данных в Java и С# : правила и примеры.
4. Консольный ввод-вывод данных в Java и С# : характеристика и
примеры.
5. Организация ветвлений и циклов в Java и С#. Примеры.
6. Создание случайных чисел в java и С#. Примеры.
47