JavaRush /Курсы /Java Multithreading /Числовые операторы

Числовые операторы

Java Multithreading
10 уровень , 3 лекция
Открыта
Числовые операторы - 1

— Привет, Амиго!

Хочу рассказать тебе про числовые операторы.

— А мне Билаабо уже рассказывал!

— Да? Тогда я задам всего лишь пару вопросов.

Как увеличить переменную на 1? Приведи как можно больше вариантов.

— Легко:

Код
x++;
++x;
x=x+1;
x+=1;

— Верно. А теперь нужно умножить переменную на два?

— Готово:

Код
x=x*2;
x*=2;
x=x+x;
x+=x;
x=x<<1;
x<<=1;

— Как возвести переменную в девятую степень?

— Тут и думать нечего:

Код
x = x*x*x*x*x*x*x*x*x;
x = x*x*x; (x3)
x = x*x*x; (x3*x3*x3=x9)
x = Math.exp( 9 * Math.log(x)); // x9==exp(ln(x9))==exp(9*ln(x));

— Корень из числа?

— Запросто:

Код
Math.sqrt(x)
x = Math.exp(0.5 * Math.log(x)); // x1/2 = exp(ln(x0.5))==exp(0.5*ln(x));

— Синус пи/2?

Код
x = Math.sin(Math.PI/2);

Случайное число от 0 до 1?

Код
x = Math.random();

Случайное число от 0 до 3?

Код
x = Math.random() *3;

Случайное число от 0 до 10?

Код
x = Math.random() *10;

Случайное число от -5 до 5?

Код
x = Math.random() *10 - 5;

Случайное число от -1 до 1?

Код
x = Math.random() *2 - 1;

Случайное целое число от 0 до 100?

— Даже два варианта:

Код
int x = (int) (Math.random() *100);
Random random = new Random();
int x = random.nextInt(100);

— Отлично! Я поражен. Ты великолепно знаешь тему.

Комментарии (53)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
28 апреля 2025
Амиго знает то что я не знаю. 💤 😴
Denis Odesskiy Уровень 47
24 июля 2024
Да ладно, Амиго... А доказать теорему Ферма слабо?😳
17 августа 2025
Малую или большую?
Denis Odesskiy Уровень 47
18 августа 2025
Большую конечно! :) Малую не интересно, там всё просто...
18 августа 2025
🙆‍♂️
Михаил Уровень 32
22 марта 2023

int x = 2;
long l = Math.round(Math.exp(9 * Math.log(x)));

System.out.println(Math.exp(9 * Math.log(x)));
System.out.println(l);
вывод: 511.99999999999994 512 //-------------------------------------- // Math.exp(9 * Math.log(x)) это double // Math.log(x) это double // Math.exp() это double // Math.round() округляет до long // Это если по-простому, но это - дорога в ад, если вникнуть //--------------------------------------
Rolik Уровень 41
1 мая 2023
Да, проще через Math.pow() возвести в степень.
Артём Сёмкин Уровень 47
23 марта 2025
на больших числа pow ведёт себя ненормально)
Kurama Уровень 50
4 декабря 2022
Math.pow: 🗿
Anutka Уровень 42
4 июля 2022
x = x*x*x*x*x*x*x*x*x; результат = 512.0; x = Math.exp( 9 * Math.log(x)); результат = 511.99999999999994;
Влад Уровень 37
19 мая 2022
Откровенно утрачена суть блока, где многопоточность, почему уже которая лекция про какую-то чушь? Ладно бы задачи были про многопоточность и для их решения требовался ВОТ ЭТОТ пройденный в лекции материал, но нет....задачи одна "интереснее" другой.
PaiMei in J# Уровень 35
25 сентября 2021
<<1 >>1 😳
Kurama Уровень 50
4 декабря 2022
Кто-то скипнул побитовые операции
22 сентября 2021
Ого , а я уж думала что мои знания и вправду только для буфера подходят . Я тоже ответила правильно .кроме exp- я вообще не знаю что это такое .
[M210] Уровень 41
15 июля 2022
Экспонента)
Kurama Уровень 50
4 декабря 2022
exp(x) => eˣ
Бельчонок Изи Уровень 31
14 мая 2021
Может, кому-то станет понятнее) P.S.: Вот теперь картинка сверху, действительно, жизненная
4 мая 2021
Бильбо знает, но я не бильбо (exp от log) еще в паскале дрочили этим. но java более продвинут pow по рандому лень искать. он в java тоже псевдо рандом?