Java произведение двух чисел

Java произведение двух чисел

Большинство операций в Java аналогичны тем, которые применяются в других си-подобных языках. Есть унарные операции (выполняются над одним операндом), бинарные — над двумя операндами, а также тернарные — выполняются над тремя операндами. Операндом является переменная или значение (например, число), участвующее в операции. Рассмотрим все виды операций.

В арифметических операциях участвуют числа. В Java есть бинарные арифметические операции (производятся над двумя операндами) и унарные (выполняются над одним операндом). К бинарным операциям относят следующие:

    + операция сложения двух чисел:

int a = 10; int b = 7; int c = a + b; // 17 int d = 4 + b; // 11
int a = 10; int b = 7; int c = a - b; // 3 int d = 4 - a; // -6
int a = 10; int b = 7; int c = a * b; // 70 int d = b * 5; // 35
int a = 20; int b = 5; int c = a / b; // 4 double d = 22.5 / 4.5; // 5.0

При делении стоит учитывать, что если в операции участвуют два целых числа, то результат деления будет округляться до целого числа, даже если результат присваивается переменной float или double:

double k = 10 / 4; // 2 System.out.println(k);

Чтобы результат представлял число с плавающей точкой, один из операндов также должен представлять число с плавающей точкой:

double k = 10.0 / 4; // 2.5 System.out.println(k);
int a = 33; int b = 5; int c = a % b; // 3 int d = 22 % 4; // 2 (22 - 4*5 = 2)

Также есть две унарные арифметические операции, которые производятся над одним числом: ++ (инкремент) и — (декремент). Каждая из операций имеет две разновидности: префиксная и постфиксная:

Читайте также:  Работа со словарями json python

    ++ (префиксный инкремент) Предполагает увеличение переменной на единицу, например, z=++y (вначале значение переменной y увеличивается на 1, а затем ее значение присваивается переменной z)

int a = 8; int b = ++a; System.out.println(a); // 9 System.out.println(b); // 9
int a = 8; int b = a++; System.out.println(a); // 9 System.out.println(b); // 8
int a = 8; int b = --a; System.out.println(a); // 7 System.out.println(b); // 7
int a = 8; int b = a--; System.out.println(a); // 7 System.out.println(b); // 8

Приоритет арифметических операций

Одни операции имеют больший приоритет, чем другие, и поэтому выполняются вначале. Операции в порядке уменьшения приоритета:

++ (постфиксный инкремент), — (постфиксный декремент)

++ (префиксный инкремент), — (префиксный декремент)

* (умножение), / (деление), % (остаток от деления)

Приоритет операций следует учитывать при выполнении набора арифметических выражений:

int a = 8; int b = 7; int c = a + 5 * ++b; System.out.println(c); // 48

Вначале будет выполняться операция инкремента ++b , которая имеет больший приоритет — она увеличит значение переменной b и возвратит его в качестве результата. Затем выполняется умножение 5 * ++b , и только в последнюю очередь выполняется сложение a + 5 * ++b

Скобки позволяют переопределить порядок вычислений:

int a = 8; int b = 7; int c = (a + 5) * ++b; System.out.println(c); // 104

Несмотря на то, что операция сложения имеет меньший приоритет, но вначале будет выполняться именно сложение, а не умножение, так как операция сложения заключена в скобки.

Ассоциативность операций

Кроме приоритета операции отличаются таким понятием как ассоциативность . Когда операции имеют один и тот же приоритет, порядок вычисления определяется ассоциативностью операторов. В зависимости от ассоциативности есть два типа операторов:

  • Левоассоциативные операторы, которые выполняются слева направо
  • Правоассоциативные операторы, которые выполняются справа налево

Так, некоторые операции, например, операции умножения и деления, имеют один и тот же приоритет. Какой же тогда будет результат в выражении:

Стоит нам трактовать это выражение как (10 / 5) * 2 или как 10 / (5 * 2) ? Ведь в зависимости от трактовки мы получим разные результаты.

Все арифметические операторы (кроме префиксного инкремента и декремента) являются левоассоциативными, то есть выполняются слева направо. Поэтому выражение 10 / 5 * 2 необходимо трактовать как (10 / 5) * 2 , то есть результатом будет 4.

Операции с числами с плавающей точкой

Следует отметить, что числа с плавающей точкой не подходят для финансовых и других вычислений, где ошибки при округлении могут быть критичными. Например:

double d = 2.0 - 1.1; System.out.println(d);

В данном случае переменная d будет равна не 0.9, как можно было бы изначально предположить, а 0.8999999999999999. Подобные ошибки точности возникают из-за того, что на низком уровне для представления чисел с плавающей точкой применяется двоичная система, однако для числа 0.1 не существует двоичного представления, также как и для других дробных значений. Поэтому в таких случаях обычно применяется класс BigDecimal, который позволяет обойти подобные ситуации.

Источник

Упражнения на Java: отображение произведения двух чисел

Напишите программу на Java, которая принимает два числа в качестве входных данных и отображает произведение двух чисел.

Тестовые данные:
Введите первое число: 25
Введите второе число: 5

Иллюстрированная презентация:

Пример решения:

import java.util.Scanner; public class Exercise5 < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print("Input first number: "); int num1 = in.nextInt(); System.out.print("Input second number: "); int num2 = in.nextInt(); System.out.println(num1 + " x " + num2 + " output">Введите первое число: 25 Введите второе число: 5 25 х 5 = 125

Блоксхема:

«Блок-схема:

Пример решения:

Блоксхема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Каков уровень сложности этого упражнения?

Источник

Упражнения на Java: вывод суммы, умножения, вычитания, деления и остатка двух чисел

Напишите Java-программу для печати суммы (сложения), умножения, вычитания, деления и остатка двух чисел.

Тестовые данные:
Введите первое число: 125
Введите второе число: 24

Иллюстрированная презентация:

Пример решения:

import java.util.Scanner; public class Exercise6 < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print("Input first number: "); int num1 = in.nextInt(); System.out.print("Input second number: "); int num2 = in.nextInt(); System.out.println(num1 + " + " + num2 + " =" + (num1 + num2)); System.out.println(num1 + " - " + num2 + " =" + (num1 - num2)); System.out.println(num1 + " x " + num2 + " =" + (num1 * num2)); System.out.println(num1 + " / " + num2 + " =" + (num1 / num2)); System.out.println(num1 + " mod " + num2 + " output">Введите первое число: 125 Введите второе число: 24 125 + 24 = 149 125 - 24 = 101 125 х 24 = 3000 125/24 = 5 125 мод 24 = 5

Блоксхема:

«Блок-схема:

Пример решения:

import java.util.Scanner; public class Main < public static void main(String[] args) < Scanner scanner = new Scanner(System.in); System.out.println("Input the first number: "); int n1 = scanner.nextInt(); System.out.println("Input the second number: "); int n2 = scanner.nextInt(); int sum = n1 + n2; int minus = n1 - n2; int multiply = n1 * n2; int subtract = n1 + n2; int divide = n1 / n2; int rnums = n1 % n2; System.out.printf("Sum = %d\nMinus = %d\nMultiply = %d\nSubtract = %d\nDivide = %d\nRemainderOf2Numbers = %d\n ", sum, minus, multiply, subtract, divide, rnums); >> 
Введите первое число: 6 Введите второе число: 5 Сумма = 11 Минус = 1 Умножить = 30 Вычесть = 11 Разделить = 1 RemainderOf2Numbers = 1

Блоксхема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Каков уровень сложности этого упражнения?

Источник

Основные операции в Java

Основные операции в Java

Все представленные ниже операции на Java пишутся внутри конструкции. Данная конструкция автоматически генерируется NetBeans-ом, при создании нового проекта, подставляя в названии пакета и класса, заданное автором имя проекта, например Compare.

Основные операции в Java.

Арифметические операции

В арифметических операциях на Java участвуют числовые типы данных. Для написания кода нам потребуются наиболее часто используемые типы переменных: int / double и арифметические операторы.

Произвести арифметическую операцию сложения с двумя числами: 20 и 10.

Поместим эти числа в переменные a и b, дальше в арифметических операциях будут задействованы только переменные, ссылающиеся на эти значения.

int a = 20; // объявление и инициализация переменной a
int b = 10; // int – объявление переменной с целым числом

Создадим ещё одну переменную под названием result, где будет храниться результат сложения двух чисел.

int result = a + b; // «+» – оператор сложения

Для проверки, все ли мы сделали правильно, выведем результат в консоль. Там мы должны увидеть число 30.

// в консоль выведется — Сумма: 30
System.out.println(«Сумма: » + result); // «+» – оператор объединения

Операция вычитания:

Операция умножения:

Операция деления:

Операции сравнения

Создадим переменные и присвоим им значения, эти два числа мы и будем сравнивать между собой. Результаты сравнения выведем в консоль.

int a = 7;
int b = 8;
int c = 7;

Является ли верным утверждение, что a < b(меньше)?

System.out.println(a + » < " + b + " code">System.out.println(a + » > » + b + » code»> System.out.println(a + » == » + c + » code»> boolean b_1 = true;
boolean b_2 = false;

Логический оператор && (И) выведет в консоли true && false = false

System.out.println(b_1 + » && » + b_2 + » code»> 1 * 0 = 0

Логический оператор || (ИЛИ) выведет в консоли true || false = true

System.out.println(b_1 + » || » + b_2 + » code»> 1 + 0 = 1

Логический оператор ^ (исключения)

System.out.println(b_1 + » ^ » + b_2 + » code»> System.out.println(«!» + b_1 + » code»> int a = 4;
int b = 7;

Преобразуем эти числа в двоичный код (состоящий только из нулей и единиц), применяя метод toBinaryString.

String s_a = Integer.toBinaryString(a);
String s_b = Integer.toBinaryString(b);

Результат выведем в консоль.

Создано 11.03.2019 10:10:00

  • Михаил Русаков
  • Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.

    Источник

    Оцените статью