Оператори в Java

Особливості роботи з операторами на Java. Необхідно в Java створити: 9 методів (один оператор - один метод); 5 методів для перевірки пріоритетів (методи, в яких використовується одночасно два різних оператора; 5 методів для перевірки асоціативності.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык украинский
Дата добавления 31.03.2022
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ДВНЗ «ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ»

Факультет КІТА

Кафедра ПМІ

Лабораторна робота № 1

з дисципліни: «Програмування мобільних та вбудованих пристроїв»

на тему: «Оператори в Java »

Виконав:

ст. гр. КН-19

Кузьменко М.А

Прийняв:

ст. викл. каф. ПМІ

Павловський Є.В.

Покровськ - 2022

Мета роботи: вивчити особливості роботи з операторами на Java

Завдання на лабораторну роботу:

Необхідно в Java створити:

1. 9 методів (один оператор за варіантом завдання - один метод).

2. 5 методів для перевірки пріоритетів (методи, в яких використовується одночасно два різних оператора - наприклад, метод plusUmnoj(a, b, c) - «a + b * c» - результат обчислення залежить від пріоритету), minusDel(a, b, c) - « a - b / c ».

Тобто в самому цьому методі потрібно викликати методи, які були створені в п. 1. Таким чином «a + b * c» буде виконано як «plus(a, umnoj(b, c))».

3. 5 методів для перевірки асоціативності (методи, в яких один і той же оператор використовується двічі, і результат залежить від порядку виконання операторів. Наприклад: « a - b - c » - результат залежить від того, обчислюється чи спочатку a - b або b - c ).

По аналогії з п. 2, але тут використовуємо один і той же метод двічі або більше разів.

4. Для кожного методу провести мінімум 3 тести (пп. 1-3).

5. В Microsoft Excel перевірити правильність отриманих результатів програми (для кожного методу 1 тест). Потрібно додати скріншоти розрахунків з отриманими значеннями і з самими формулами (вкладка «Формули», кнопка «Показати формули») окремо.

Ручний розрахунок.

<< a - b >>

(-)Віднімає правий операнд із лівого операнда

2.14 - 3.37= -1.23

69.94 - 311.24 = -241,3

-67.73 - (-37.78 )=-29,95

<< a * b >>

(*)Помножує значення по обидва боки від оператора

2.14 * 3.37 =7,2118

69.94 * 311.24 =21768,1256

-67.73 * (-37.78) =2558,8394

<< a *= b >>

(*=)Оператор привласнення «Умноження», він множить правий операнд на лівий операнд(C * = A еквівалентно C = C * A)

2.14 *= 3.37 = 7,2118

69.94 *= 311.24 =21768,1256

-67.73 *= (-37.78) =2558,8394

<< a ^ b >>

(^)Бінарний оператор XOR копіює біт, якщо він встановлений в одному операнді, але не в обох

60 ^ 13 = 111100^1101=110001=49

14 ^ 3 = 1110^11=1101=13

147 ^ 15 =10010011^1111=10011100=156

<< a >>= b >>

(>>=) Оператор привласнення «Зсув вправо»( C >>= 2, це як C = C >> 2)

60 >>= 13 = 60 >> 13 = 111100 >> 13 = 0

14 >>= 3 = 14 >> 3 = 1110 >> 3 = 1 = 1

147 >>= 15 = 147 >> 5 = 10010011 >> 15 = 0

<< a < b >>

(<)Перевіряє, чи значення лівого операнда менше, ніж значення правого операнда, якщо так, то умова стає істинною

1.23 < 1.24 = (1.23-1.24=(-0,01)) Істина

25.67 < 156.93 =(25.67-156.93=(-131.26)) Істина

123.56 < 3.35 =(123.56-3.35=120.21) Хибно

<< a & b >>

(&)Бінарний оператор AND копіює біт у результат, якщо він існує в обох операндах.

true & true = (true) Істина

false & false = (false) Хибно

false & true = (false) Хибно

<< a || b >>

(||)Називається логічний оператор «АБО». Якщо кожен із двох операндів не дорівнює нулю, то умова стає істинною

true || true =(true) Істина

false || false =( false) Хибно

false || true =(true) Істина

<< a == b >>

(==)Перевіряє, рівні чи ні значення двох операндів, якщо так, то умова стає істинною

true == true = (true) Істина

false == false = (true) Істина

false == true == (false) Хибно

<< a - b * c >>

3.14 - (3.67 * 2.31)= 3.14 - 8,4777=-5.3377

659.94 - (307.44 * 2.31) = 659.94 - 710,1864=-50.2464

-67.73 - (-37.95 * 2.31) = (-67.73) - ( - 87.6645)=19.9345

<< a * b - c >>

3.14 * (3.67 - 2.31) = 3.14* 1.36=4.2704

659.94 * (307.44 - 2.31) = 659.94 * 305.13=201367.492

-67.73 * (-37.95 - 2.31) = (-67.73) *-40.26=2726.8098

<< a * b *= c >>

3.14 * (3.67 *= 2.31) =3.14 * 8,4777 = 26,61998

659.94 * (307.44 *= 2.31) = 659.94 * 710,1864 = 468680.413

-67.73 * (-37.95 *= 2.31) = (-67.73) * (- 87.6645) =5937.5166

<< a *= b * c >>

3.14 * (3.67 *= 2.31) = 3.14 * 8,4777 = 26,61998

659.94 * (307.44 *= 2.31) = 659.94 * 710,1864 =468680.413

-67.73 * (-37.95 *= 2.31) = (-67.73) * (- 87.6645) =5937.5166

<< a || b & c >>

true || (true & true) = (true) Істина

false || (true & false)= (false) Хибно

true || (false & true) = (true) Істина

<< a - b - c >>

3.14 - (3.67 - 2.31) = 3.14 - 1,36 = 1,78

659.94 - (307.44 - 2.31) = 659.94 - 305.13 = 354.81

-67.73 - (-37.95 - 2.31) =(-67.73 - (-40.26)=-27.47

<< a * b * c >>

3.14 * (3.67 * 2.31) = 3.14 * 8,4777 = 26,61998

659.94 * (307.44 * 2.31) =659.94 * 710,1864 =468680.413

-67.73 * (-37.95 * 2.31) = (-67.73) * (- 87.6645) =5937.5166

<< a *= b *= c >>

3.14 *= (3.67 *= 2.31) = 3.14 * 8,4777 = 26,61998

659.94 *= (307.44 *= 2.31) =659.94 * 710,1864 =468680.413

-67.73 *= ( -37.95 *= 2.31) = (-67.73) * (- 87.6645) =5937.5166

<< a >>= b >>= c >>"

60 >>= (13 >>= 14) = 111100 >>= 0 =111100=60

14 >>= (3 >>= 34 ) = 1110 >>= 0 = 1110 = 14

147 >>= (15 >>= 3) = 10010011>> = 1 = 1001001 = 76

<< a ^ b ^ c >>"

60 ^ (13 ^ 14) = 111100 ^ (1101 ^ 1110) = 111100 ^ 0011 = 111111

14 ^ (3 ^ 34) = 1110 ^ (11 ^ 100010) =1110 ^ 100001 =101111=47

147 ^ (15 ^ 3) = 10010011 ^ (1111 ^ 11) =10010011 ^ 1100 =10011111=159

оператор java метод пріоритет асоціативність

Результати роботи програм для всіх тестів.

Лістінг програми

public class Operator {

public static float Minus (float a, float b) {

return a-b;

}

public static float Multiplication (float a, float b) {

return a*b;

}

public static float OpMulti (float a, float b) {

return a*=b;

}

public static int OpOr (int a, int b) {

return a^b;

}

public static int OpShiftRight (int a, int b) {

return a>>=b;

}

public static boolean Less (float a, float b) {

return a<b;

}

public static boolean OpAnd ( boolean a, boolean b) {

return a&b;

}

public static boolean OpLogOr (boolean a, boolean b) {

return a||b;

}

public static boolean Equal (boolean a, boolean b) {

return a==b;

}

}

public class Priority {

public static float Minus_Multiplication (float a, float b, float c) {

return Operator.Minus(a,Operator.Multiplication(b, c));

}

public static float Multiplication_Minus (float a, float b, float c) {

return Operator.Multiplication(a,Operator.Minus(b, c));

}

public static float Multiplication_OpMulti (float a, float b, float c) {

return Operator.Multiplication(a,Operator.OpMulti(b, c));

}

public static float OpMulti_Multiplication (float a, float b, float c) {

return Operator.OpMulti(a,Operator.Multiplication(b, c));

}

public static boolean OpLogOr_OpAnd (boolean a, boolean b, boolean c) {

return Operator.OpLogOr(a,Operator.Equal(b, c));

}

}

public class Associativity {

public static float Minus_Minus (float a, float b, float c) {

return Operator.Minus(a,Operator.Minus(b, c));

}

public static float Multiplication_Multiplication (float a, float b, float c) {

return Operator.Multiplication(a,Operator.Multiplication(b, c));

}

public static float OpMulti_OpMulti (float a, float b, float c) {

return Operator.OpMulti(a,Operator.OpMulti(b, c));

}

public static int OpShiftRight_OpShiftRight (int a, int b, int c) {

return Operator.OpShiftRight(a,Operator.OpShiftRight(b, c));

}

public static int OpOr_OpOr (int a, int b, int c) {

return Operator.OpOr(a,Operator.OpOr(b, c));

}

}

public class Main {

public static void main(String[] args) {

System.out.println("<< a - b >>");

System.out.println(Operator.Minus(2.14F, 3.37F));

System.out.println(Operator.Minus(69.94F, 311.24F));

System.out.println(Operator.Minus(-67.73F, -37.78F));

System.out.println();

System.out.println("<< a * b >>");

System.out.println(Operator.Multiplication(2.14F, 3.37F));

System.out.println(Operator.Multiplication(69.94F, 311.24F));

System.out.println(Operator.Multiplication(-67.73F, -37.78F));

System.out.println();

System.out.println("<< a *= b >>");

System.out.println(Operator.OpMulti(2.14F, 3.37F));

System.out.println(Operator.OpMulti(69.94F, 311.24F));

System.out.println(Operator.OpMulti(-67.73F, -37.78F));

System.out.println();

System.out.println("<< a ^ b >>");

System.out.println(Operator.OpOr (60, 13));

System.out.println(Operator.OpOr (14, 3));

System.out.println(Operator.OpOr (147, 15));

System.out.println();

System.out.println("<< a >>= b >>");

System.out.println(Operator.OpShiftRight(60, 13));

System.out.println(Operator.OpShiftRight(14, 3));

System.out.println(Operator.OpShiftRight(147, 15));

System.out.println();

System.out.println("<< a < b >>");

System.out.println(Operator.Less(1.23F, 1.24F));

System.out.println(Operator.Less(25.67F, 156.93F));

System.out.println(Operator.Less(123.56F, 3.35F));

System.out.println();

System.out.println("<< a & b >>");

System.out.println(Operator.OpAnd(true, true));

System.out.println(Operator.OpAnd(false, false));

System.out.println(Operator.OpAnd(false, true));

System.out.println();

System.out.println("<< a || b >>");

System.out.println(Operator.OpLogOr(true, true));

System.out.println(Operator.OpLogOr(false, false));

System.out.println(Operator.OpLogOr(false, true));

System.out.println();

System.out.println("<< a == b >>");

System.out.println(Operator.Equal(true, true));

System.out.println(Operator.Equal(false, false));

System.out.println(Operator.Equal(false, true));

System.out.println();

System.out.println("<< a - (b * c) >>");

System.out.println(Priority.Minus_Multiplication(3.14F, 3.67F, 2.31F));

System.out.println(Priority.Minus_Multiplication(659.94F, 307.44F, 2.31F));

System.out.println(Priority.Minus_Multiplication(-67.73F, -37.95F, 2.31F));

System.out.println();

System.out.println("<< (a * (b - c) >>");

System.out.println(Priority.Multiplication_Minus(3.14F, 3.67F, 2.31F));

System.out.println(Priority.Multiplication_Minus(659.94F, 307.44F, 2.31F));

System.out.println(Priority.Multiplication_Minus(-67.73F, -37.95F, 2.31F));

System.out.println();

System.out.println("<< a * (b *= c) >>");

System.out.println(Priority.Multiplication_OpMulti(3.14F, 3.67F, 2.31F));

System.out.println(Priority.Multiplication_OpMulti(659.94F, 307.44F, 2.31F));

System.out.println(Priority.Multiplication_OpMulti(-67.73F, -37.95F, 2.31F));

System.out.println();

System.out.println("<< a *= (b * c) >>");

System.out.println(Priority.OpMulti_Multiplication(3.14F, 3.67F, 2.31F));

System.out.println(Priority.OpMulti_Multiplication(659.94F, 307.44F, 2.31F));

System.out.println(Priority.OpMulti_Multiplication(-67.73F, -37.95F, 2.31F));

System.out.println();

System.out.println("<< a || (b & c) >>");

System.out.println(Priority.OpLogOr_OpAnd(true, true, true));

System.out.println(Priority.OpLogOr_OpAnd(false, true, false));

System.out.println(Priority.OpLogOr_OpAnd(true, false, true));

System.out.println();

System.out.println("<< a - (b - c) >>");

System.out.println(Associativity.Minus_Minus(3.14F, 3.67F, 2.31F));

System.out.println(Associativity.Minus_Minus(659.94F, 307.44F, 2.31F));

System.out.println(Associativity.Minus_Minus(-67.73F, -37.95F, 2.31F));

System.out.println();

System.out.println("<< a * (b * c) >>");

System.out.println(Associativity.Multiplication_Multiplication(3.14F, 3.67F, 2.31F));

System.out.println(Associativity.Multiplication_Multiplication(659.94F, 307.44F, 2.31F));

System.out.println(Associativity.Multiplication_Multiplication(-67.73F, -37.95F, 2.31F));

System.out.println();

System.out.println("<< a *= (b *= c) >>");

System.out.println(Associativity.OpMulti_OpMulti(3.14F, 3.67F, 2.31F));

System.out.println(Associativity.OpMulti_OpMulti(659.94F, 307.44F, 2.31F));

System.out.println(Associativity.OpMulti_OpMulti(-67.73F, -37.95F, 2.31F));

System.out.println();

System.out.println("<< a >>= (b >>= c) >>");

System.out.println(Associativity.OpShiftRight_OpShiftRight(60, 13, 14));

System.out.println(Associativity.OpShiftRight_OpShiftRight(14, 3, 34));

System.out.println(Associativity.OpShiftRight_OpShiftRight(147, 15, 3));

System.out.println();

System.out.println("<< a ^ (b ^ c) >>");

System.out.println(Associativity.OpOr_OpOr(60, 13, 14));

System.out.println(Associativity.OpOr_OpOr(14, 3, 34));

System.out.println(Associativity.OpOr_OpOr(147, 15, 3));

}

}

Екранні форми

Microsoft Excel

Висновок:

виконано вивчення особливостей роботи з операторами на Java.

Размещено на Allbest.ru

...

Подобные документы

  • Архитектура Java и Java RMI, их основные свойства, базовая система и элементы. Безопасность и виртуальная Java-машина. Интерфейс Java API. Пример использования приложения RMI. Работа с программой "Calculator". Универсальность, портативность платформ.

    курсовая работа [208,6 K], добавлен 03.12.2013

  • Трансляция как процесс перевода программного кода из текстовой формы в машинные коды. Основные категории программ Java. Основные управляющие операторы. Объявление и инициализация переменных. Основные средства разработки приложений, написанных на Java.

    презентация [938,2 K], добавлен 26.10.2013

  • Принцип работы Java. Аплеты как особенность Java-технологии, характеристика методов их защиты. Модель безопасности JDK1.2 и концепция "песочницы". Иерархия криптографических сервисов, алгоритмов. Объектная организация криптографической подсистемы Java.

    реферат [54,8 K], добавлен 09.09.2015

  • Огляд об’єктно-реляційних перетворень. Схема роботи сервлету. Технології Object-relational mapping, JavaServlet, JSP та Spring framework для розробки web-проектів на мові програмування Java. Генерація текстових документів у відповідь на запит клієнта.

    курсовая работа [295,9 K], добавлен 19.03.2015

  • История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.

    курсовая работа [795,9 K], добавлен 14.12.2012

  • Сетевые возможности языков программирования. Преимущества использования Java-апплетов. Классы, входящие в состав библиотеки java.awt. Создание пользовательского интерфейса. Сокетное соединение с сервером. Графика в Java. Значения составляющих цвета.

    курсовая работа [508,1 K], добавлен 10.11.2014

  • Створення баз даних за допомогою стандартних бібліотек Java та клієнт-серверних програм. Основні стандартні класи і методи бібліотек SQL та swing, бібліотек, що дозволяють опрацьовувати дані СУБД та навчитись концепціям програмування мовою Java.

    лабораторная работа [215,3 K], добавлен 04.10.2011

  • Основа пользовательского интерфейса. Возможности пакетов java.awt.geom, java.awt, классов java.awt.Graphics и java.awt.Graphics2D. Основные графические примитивы и работа с потоками. Листинг программы и составление композиции аффинных преобразований.

    методичка [525,3 K], добавлен 30.06.2009

  • Історія розвитку мови Java, основні технології та їх застосування для роботи з SQL-серверами. Огляд багатопоточного програмування в Java. Принципи функціонування сервлетів та JSP-сторінок. Зміна розміру графічних об’єктів, робота з кольорами в Java.

    курсовая работа [49,3 K], добавлен 29.03.2010

  • Архитектура уровня команд платформы Java, формат файла класса Java. Компилятор ассемблероподобного языка, позволяющий создавать файлы классов, корректно обрабатываемые реальной JVM, поддерживающий все команды байт-кода Java и важнейшие возможности JVM.

    курсовая работа [292,6 K], добавлен 17.09.2008

  • Создание языка программирования с помощью приложения "Java". История названия и эмблемы Java. Обзор многообразия современных текстовых редакторов. Обработка строки. Методы в классе String. Java: задачи по обработке текста. Примеры программирования.

    курсовая работа [276,1 K], добавлен 19.07.2014

  • Розробка та тестування додатків, які базуються на елементах мови програмування Java, принципи програмування в її середовищі. Вивчення переваг Java-платформи, прикладний програмний інтерфейс та особливості сучасних засобів створення Java-додатків.

    дипломная работа [2,8 M], добавлен 22.06.2011

  • Разработка графического редактора для рисования двухмерной и трехмерной графики, используя язык программирования Java и интерфейсы прикладного программирования Java 2D и Java 3D. Создание графического редактора 3D Paint. Основные методы класса Graphics.

    курсовая работа [197,5 K], добавлен 19.11.2009

  • Загальна характеристика та особливості програмування сучасних систем автоматизованого проектування. Порівняльна характеристика середовищ розробки прикладних програм на мові JAVA. Ознайомлення з принципами і особливостями роботи певних класів, компонентів.

    курсовая работа [2,0 M], добавлен 31.01.2014

  • Понятие и функциональные особенности Java Card как версии Java-платформы для устройств с крайне ограниченными вычислительными ресурсами, оценка ее возможностей и необходимых ресурсов. Анализ степени безопасности платформы, взаимодействие компонентов.

    презентация [1,0 M], добавлен 19.05.2014

  • Кратка историческая справка развития языка Java. Анализ предметной области. Java platform, enterprise and standart edition. Апплеты, сервлеты, gui-приложения. Розработка программного кода, консольное приложение. Результаты работы апплета, сервлета.

    курсовая работа [549,2 K], добавлен 23.12.2015

  • Методология объектно-ориентированного программирования в Java. Понятия класса, объекта и объектной переменной. Динамическая и статическая объектные модели. Логическое структурирование приложения. Наследование в Java. Отличия интерфейсов от классов.

    курс лекций [547,2 K], добавлен 01.05.2014

  • Выполнение Java-программы. Набор программ и классов JDK. Объектно-ориентированное программирование в Java. Принципы построения графического интерфейса. Компонент и контейнер графической системы. Апплеты как программы, работающие в среде браузера.

    курсовая работа [42,3 K], добавлен 08.02.2011

  • Преимущество использования программ, написанных на Java, требования к ним и настройки на клиентском ПК. Развертывание и последующее "автоматическое" обновление версий GUI клиента с помощью использования технологии Java Web Start в среде Windows.

    реферат [33,2 K], добавлен 16.05.2011

  • Расширяемый язык разметки XML. Описание типа документа DTD. Значение XML и платформы Java. Обзор стандартных анализаторов DOM и SAX. Технология Java Servlet, Java Server Pages (JSP), JavaBeans. Общая функциональность программного продукта. Модель данных.

    курсовая работа [422,0 K], добавлен 21.02.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.