Тип double — вещественные числа

Форматирование чисел

В JavaScript отформатировать вывод числа в соответствии с региональными стандартами (языковыми настройками операционной системы) позволяет метод .

Например, выполним форматирование числа в соответствии с региональными стандартами, которые установлены в системе по умолчанию:

var number = 345.46;
console.log(number.toLocaleString()); //"345,46"

Например, выполним форматирование числа в соответствии с региональными стандартами России (ru):

console.log((108.1).toLocaleString("ru-RU")); //"108,1"

Данный метод можно также использовать для форматирования числа в виде валюты:

console.log((2540.125).toLocaleString("ru-RU",{style:'currency', currency:'RUB'})); //"2 540,13 ₽"
console.log((89.3).toLocaleString("ru-RU",{style:'currency', currency:'USD'})); //"89,30 $"
console.log((2301.99).toLocaleString("ru-RU",{style:'currency', currency:'EUR'})); //"2 301,99 €"

Представление числа в виде процентов:

console.log((0.45).toLocaleString("ru-RU",{style:'percent'})); //"45 %"

Разбить число на разряды (свойство ):

console.log((125452.32).toLocaleString("ru-RU",{useGrouping:true})); //"125 452,32"

Вывести с число с определённым количеством цифр (2) после запятой:

console.log((1240.4564).toLocaleString("ru-RU",{minimumFractionDigits:2, maximumFractionDigits:2})); //"1 240,46"

Инкремент (++)/декремент (—)

Инкремент ++ (от англ. increment «увеличение») — операция, увеличивающая переменную на единицу. Обратную операцию называют декремент -- («уменьшение»).

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

можно записать, как

В то время, как

эквивалентно

Рассмотрим различия между следующими двумя инструкциями:

Выполнить код »
Скрыть результаты

Внимание: Операнд инкремента (++)/декремента (—) должен быть значением (т.е. переменной, элементом массива или свойством объекта)

Код 7++ даст ошибку.

Декремент -- работает похоже, но в отличие от инкремента, вычитает единицу из числа.

Префиксный инкремент и декремент, согласно , имеют в инструкциях одинаковый приоритет и выполняются слева направо, например:

Выполнить код »
Скрыть результаты

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

Постфиксный декремент --, как и инкремент, указывается после переменной и выполняется после вычисления инструкции, которая его содержит:

Выполнить код »
Скрыть результаты

Результат первого выражения равен 12 потому, что переменная имеет первоначальное значение (2). Результат второго выражения равен 11 потому, что здесь используется уже уменьшенное значение (1).

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

Побитовые операции

  • Побитовые операции рассматривают исходные числовые значения как поля битов и выполняют над ними следующие действия:
  • установка бита в i
    -ой позиции поля результата в 1 , если оба бита в i
    -ых позициях операндов равны 1 , или в 0 в противном случае – побитовое И (» & «);
  • установка бита в i
    -ой позиции поля результата в 1 , если хотя бы один бит в i
    -ых позициях операндов равен 1 , или в 0 в противном случае – побитовое ИЛИ (» | «);
  • установка бита в i
    -ой позиции поля результата в 1 , если биты в i
    -ых позициях операндов не равны друг другу, или в 0 в противном случае – побитовое исключающее ИЛИ (» ^ «);
  • сдвиг влево битов поля первого операнда на количество битов, определяемое вторым операндом (бит знака числа при этом не меняется) – побитовый сдвиг влево с учетом знака »
  • сдвиг вправо битов поля первого операнда на количество битов, определяемое вторым операндом (бит знака числа при этом не меняется) – побитовый сдвиг вправо с учетом знака » >> «;
  • сдвиг вправо битов поля первого операнда на количество битов, определяемое вторым операндом (бит знака числа при этом также сдвигается) – побитовый сдвиг вправо без учета знака » >>> «.

Примеры побитовых операций:

  1. Побитовое И

    int
    x =
    112
    ;

    int
    y =
    94
    ;

    int
    z;

    z =
    x &
    y;

    // z=80: 00000000 00000000 00000000 01010000

  2. Побитовое ИЛИ

    int
    x =
    112
    ;

    // x: 00000000 00000000 00000000 01110000

    int
    y =
    94
    ;

    // y: 00000000 00000000 00000000 01011110

    int
    z;

    z =
    x |
    y;

    // z = 126: 00000000 00000000 00000000 01111110

  3. Побитовое исключающее ИЛИ

    int
    x =
    112
    ;

    // x: 00000000 00000000 00000000 01110000

    int
    y =
    94
    ;

    // y: 00000000 00000000 00000000 01011110

    int
    z;

    z =
    x ^
    y;

    // z = 46: 00000000 00000000 00000000 00101110

  4. Сдвиг влево с учетом знака

    int
    x =
    31
    ,
    z;

    // x: 00000000 00000000 00000000 00011111

    z =
    x // z = 124: 00000000 00000000 00000000 01111100

  5. Сдвиг вправо с учетом знака

    int
    x =

    17
    ,
    z;

    z =
    x >>
    2
    ;

    // z = -5: 11111111 11111111 11111111 11111011

  6. Сдвиг вправо без учета знака

    int
    x =

    17
    ,
    z;

    // x: 11111111 11111111 11111111 11101111

    z =
    x >>>
    2
    ;

    // z = 1073741819

    // z: 00111111 11111111 11111111 11111011

JS Учебник

JS СтартJS ВведениеJS УстановкаJS ВыводJS ОбъявленияJS СинтаксисJS КомментарииJS ПеременныеJS ОператорыJS АрифметическиеJS ПрисваиваниеJS Типы данныхJS ФункцииJS ОбъектыJS СобытияJS СтрокиJS Методы строкиJS ЧислаJS Методы числаJS МассивыJS Методы массиваJS Сортировка массиваJS Итерация массиваJS ДатыJS Форматы датJS Методы получения датJS Методы установки датJS МатематическиеJS РандомныеJS БулевыJS СравненияJS УсловияJS SwitchJS Цикл ForJS Цикл WhileJS ПрерываниеJS Преобразование типовJS ПобитовыеJS Регулярные выраженияJS ОшибкиJS Область действияJS ПодъёмJS Строгий режимJS Ключевое слово thisJS Ключевое слово LetJS Ключевое слово ConstJS Функции стрелокJS КлассыJS ОтладкаJS Гид по стилюJS Лучшие практикиJS ОшибкиJS ПроизводительностьJS Зарезервированные словаJS ВерсииJS Версия ES5JS Версия ES6JS JSON

4 Деление целых и вещественных чисел в Java

При делении целого числа на целое остаток всегда отбрасывается. Как же тогда, скажем, поделить на , чтобы получить ?

Поначалу кажется, что правильный вариант такой:

Однако не все так просто. Дело в том, что Java-машина сначала вычислит значение выражения и только потом присвоит результат в переменную . А деление выполнится нацело. Т.е.  будет содержать или, если быть более точным,

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

В любом из этих выражений  будет содержать значение

А как же быть с переменными? Что если у нас есть такой код:

Тут есть хитрое (и очевидное) решение — заставить Java-машину преобразовать переменные в вещественные, умножив их на вещественную единицу — 

Обратите внимание, что у операций умножения и деления равный приоритет, и они выполняются слева направо, поэтому имеет значение, где именно мы умножаем на вещественную единицу. Примеры:

Примеры:

Команда Порядок выполнения Результат

Стиль оформления кода

Существует негласные правила оформления стиля при написании кода. Старайтесь их придерживаться. Также запоминайте оформление кода в документации и справочниках. Например, принято записывать имена классов с большой буквы (class JavaQuickCourseActivity). Если имя состоит из нескольких слов, то каждое слово в имени также начинается с большой буквы. Использовать символы подчеркивания или тире нежелательно (Java_Quick_Course_Activity или Java-Quick-Course-Activity).

Для методов и переменных используется такой же формат, только первый символ записывается с маленькой буквы, например, resultButton.

Константы принято писать только большими буквами — IDD_LIST_NAMES. В этом случае одного взгляда достаточно, чтобы сразу определить, что перед вами константа.

На первых порах вам этого достаточно.

Определение

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

Для вычисления неполного частного от деления a{\displaystyle a} на положительное число b{\displaystyle b} следует разделить (в обычном смысле) a{\displaystyle a} на b{\displaystyle b} и округлить результат до ближайшего целого в меньшую сторону:

q=⌊ab⌋,{\displaystyle q=\left\lfloor {\frac {a}{b}}\right\rfloor ,} когда b>{\displaystyle b>0}.

где полускобки ⌊⋅⌋{\displaystyle \left\lfloor \cdot \right\rfloor } обозначают взятие целой части. Значение неполного частного q{\displaystyle q} позволяет вычислить значение остатка r{\displaystyle r} по формуле:

r=a−b⋅q.{\displaystyle r=a-b\cdot q.}

Для отрицательного делителя нужно округлять частное в большую сторону:

q=⌈ab⌉,{\displaystyle q=\left\lceil {\frac {a}{b}}\right\rceil ,} когда b<{\displaystyle b<0}.

JSON

Сериализация и Десериализация

JSON — невероятно удобный и полезный синтаксис для хранения и обмена данными. Java полностью поддерживает это.

Прим. перев. Для использования JSON из примера необходимо подключить библиотеку JSON Simple.

Вы можете сериализовать данные следующим образом:

Получается следующая строка JSON:

Десериализация в Java выглядит так:

Используемый в примере файл JSON (jsonDemoFile.json):

Прим. перев. В Java проектах очень часто для работы с JSON используют библиотеки Gson от Google или Jackson. Обе библиотеки очень популярны и хорошо поддерживаются. Попробуйте и их.

Операции с числами

Последнее обновление: 05.02.2018

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

Kotlin поддерживает базовые арифметические операции:

  • + (сложение): возвращает сумму двух чисел.

    val x = 5
    val y = 6
    val z = x + y
    println(z)      // z = 11
    
  • — (вычитание): возвращает разность двух чисел.

    val x = 5
    val y = 6
    val z = x - y  // z = -1
    
  • * (умножение): возвращает произведение двух чисел.

    val x = 5
    val y = 6
    val z = x * y  // z = 30
    
  • (деление): возвращает частное двух чисел.

    val x = 60
    val y = 10
    val z = x / y  // z = 6
    
  • %: возвращает остаток от целочисленного деления двух чисел.

    val x = 65
    val y = 10
    val z = x % y  // z = 5
    
  • ++ (инкремент): увеличивает значение на единицу.

    Префиксный инкремент возвращает увеличенное значение:

    var x = 5
    val y = ++x
    println(x)      // x = 6
    println(y)      // y = 6
    

    Постфиксный инкремент возвращает значение до увеличения на единицу:

    var x = 5
    val y = x++
    println(x)      // x = 6
    println(y)      // y = 5
    
  • — (декремент): уменьшает значение на единицу.

    Префиксный декремент возвращает уменьшенное значение:

    var x = 5
    val y = --x
    println(x)      // x = 4
    println(y)      // y = 4
    

    Постфиксный декремент возвращает значение до уменьшения на единицу:

    var x = 5
    val y = x--
    println(x)      // x = 4
    println(y)      // y = 5
    

Также есть ряд операций присвоения, которые сочетают арифметические операции и присвоение:

  • +=: присваивание после сложения. Присваивает левому операнду сумму левого и правого операндов: A += B эквивалентно
    A = A + B

  • -=: присваивание после вычитания. Присваивает левому операнду разность левого и правого операндов:
    A -= B эквивалентно A = A — B

  • *=: присваивание после умножения. Присваивает левому операнду произведение левого и правого операндов:
    A *= B эквивалентно A = A * B

  • /=: присваивание после деления. Присваивает левому операнду частное левого и правого операндов:
    A /= B эквивалентно A = A / B

  • %=: присваивание после деления по модулю. Присваивает левому операнду остаток от целочисленного деления левого операнда на правый:
    A %= B эквивалентно A = A % B

Побитовые операторы

Ряд операций выполняется над двоичными разрядми числа

Здесь важно понимать, как выглядит двоичное представление тех или иных чисел. В частности, число 4 в двоичном виде — 100, а число 15 — 1111

Есть следующие побитовые операторы (они применяются только к данным типов Int и Long):

  • shl: сдвиг битов числа со знаком влево

    val z = 3 shl 2     // z = 11 << 2 = 1100 
    println(z)          // z = 12
    val d = 0b11 shl 2
    println(d)          // d = 12
    

    В данном случае число сдвигается на два разряда влево, поэтому справа число в двоичном виде дополняется двумя нулями. То есть в двоичном виде 3 представляет 11. Сдвигаем
    на два разряда влево (дополняем справа двумя нулями) и получаем 1100, то есть в десятичной системе число 12.

  • shr: сдвиг битов числа со знаком вправо

    val z = 12 shr 2     // z = 1100 >> 2 = 11
    println(z)          // z = 3
    val d = 0b1100 shr 2
    println(d)          // d = 3
    

    Число 12 сдвигается на два разряда вправо, то есть два числа справа факически отбрасываем и получаем число 11, то есть 3 в десятичой системе.

  • ushr: сдвиг битов беззнакового числа вправо

    val z = 12 ushr 2     // z = 1100 >> 2 = 11
    println(z)          // z = 3
    
  • and: побитовая операция AND (логическое умножение или конъюнкция). Эта операция сравнивает соответствующие разряды двух чисел и возвращает единицу, если эти разряды обоих чисел равны 1.
    Иначе возвращает 0.

    val x = 5   // 101
    val y = 6   // 110
    val z = x and y     // z = 101 & 110 = 100
    println(z)          // z = 4
    
    val d = 0b101 and 0b110
    println(d)          // d = 4
    
  • or: побитовая операция OR (логическое сложение или дизъюнкция). Эта операция сравнивают два соответствуюших разряда обоих чисел и
    возвращает 1, если хотя бы один разряд равен 1. Если оба разряда равны 0, то возвращается 0.

    val x = 5   // 101
    val y = 6   // 110
    val z = x or y     // z = 101 | 110 = 111
    println(z)         // z = 7
    
    val d = 0b101 or 0b110
    println(d)          // d = 7
    
  • xor: побитовая операция XOR. Сравнивает два разряда и возвращает 1, если один из разрядов равен 1, а другой равен 0.
    Если оба разряда равны, то возвращается 0.

    val x = 5   // 101
    val y = 6   // 110
    val z = x xor y     // z = 101 ^ 110 = 011
    println(z)         // z = 3
    
    val d = 0b101 xor 0b110
    println(d)          // d = 3
    
  • inv: логическое отрицание или инверсия — инвертирует биты числа

    val b = 11  // 1011
    val c = b.inv()
    println(c)      // -12
    

НазадВперед

Оператор вычитания (-)

Бинарный оператор - выполняет вычитание второго операнда из первого. Если указаны нечисловые операнды, то оператор пытается преобразовать их в числа Возвращаемый результат будет формироваться по следующим правилам:

Операнды Результат
Один из операндов — NaN NaN
Infinity вычитается из Infinity NaN
-Infinity вычитается из -Infinity NaN
-Infinity вычитается из Infinity Infinity
Infinity вычитается из -Infinity -Infinity
+0 вычитается из +0 +0
-0 вычитается из +0 -0
-0 вычитается из -0 +0

Если один из аргументов – строка, faulse, true, null или undefined, он преобразуется в число с помощью функции Number(), а затем выполняется арифметическое вычитание по описанным правилам.

Рассмотрим несколько примеров использования этих правил:

Выполнить код »
Скрыть результаты

Битовая операция НЕ

Начнем с самой
простой битовой операции НЕ, которая выполняет инверсию бит в соответствии с
такой табличкой:

x

НЕ

1

1

На языке Java она
записывается как ~ тильда. И приведем такую программу.

int var = 121;  //двоичный вид: 00000000 00000000 00000000 01111001
int not_v = ~var; //результат:  11111111 11111111 11111111 10000110 (число -122)
 
System.out.println(not_v);

Здесь мы сначала
задаем переменную var со значением 121, затем, выполняем ее
побитовую инверсию, и выводим результат на экран.

Запустим
программу и видим на экране число -122, что и должно быть, так как инверсия
последних 7 бит дает

1111001 = 121+1

значит, это
число -122.

Инкремент и декремент

Операторы Increment и decrement увеличивают или уменьшают численное значение переменной на единицу. Они представлены двумя знаками плюс (++) или два минуса (–), и часто используются с циклами.

Обратите внимание, что операторы приращения и уменьшения могут быть использованы только в переменных; пытаясь использовать их на константе приведет к ошибке

7++

Вывод

Uncaught ReferenceError: Invalid left-hand side expression in postfix operation

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

Во- первых, мы можем написать текст префикс приращения, с ++x.

// Установить значение
let x = 7;

// Используйте префикс операции инкремента
let prefix = ++x;

console.log(prefix);

Вывод

8

Значение x было увеличено на единицу. Чтобы увидеть разницу, мы будем тестировать постфиксное приращение, с y++.

// Установить переменную
let y = 7;

// Используйте префикс операции приращения
let postfix = y++;

console.log(postfix);

Вывод

7

Значение y не было увеличено в работе постфикса. Это происходит потому, что значение не будет увеличиваться до тех пор, пока выражению не будет присвоино значение. Выполнение операции дважды чтобы увеличить значение.

let y = 7;

y++;
y++;

console.log(y);

Вывод

8

Оператор инкремента или декремента будет использоваться чаще всего в цикле. В этом примере цикла, мы будем запускать эту операцию десять раз, начиная с 0, и увеличивая значение на 1 в каждой итерации.

// Запуск цикла 10 раз
for (let i = 0; i < 10; i++) {
console.log(i);
}

Вывод

0
1
2
3
4
5
6
7
8
9

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

Мы можем подразумевать x++, обозначающий x = x + 1, и x–, обозначающий x = x – 1.

Решение распространенных проблем

Содержимое директории

Java позволяет вам получать имена всех подкаталогов и файлов в папке в виде массива, который затем можно последовательно прочитать:

Выполнение консольных команд

Java позволяет выполнять консольные команды прямо из кода, используя класс

Очень важно не забывать об обработке исключений

Например, давайте попробуем открыть файл PDF через терминал Java (на Linux’e):

Воспроизведение звуков

Звук — важный компонент многих десктопных приложений и игр. Язык программирования Java предоставляет средства для работы с ним.

Отправка email

Отправить электронную почту на Java очень просто. Вам просто нужно установить Java Mail и указать путь к нему в пути к классам проекта.

Получение координат курсора

Чтобы фиксировать события мыши, вам необходимо реализовать интерфейс . Когда курсор попадает в определенную область, срабатывает обработчик события , из которого вы можете получить точные координаты (используя Swing для UI)

JavaScript Значения приоритета оператора

Бледно-красные записи указывают на ECMAScript 2015 (ES6) или выше.

Значение Оператор Описание Пример
20 ( ) Группировка выражений (3 + 4)
       
19 . Член person.name
19 [] Член person
19 () Вызов функции myFunction()
19 new Создание new Date()
       
17 ++ Постфиксный инкремент i++
17 Постфиксный декремент i—
       
16 ++ Префикс инкремента ++i
16 Префикс декремента —i
16 ! Не логический !(x==y)
16 typeof Тип typeof x
       
15 ** Возведение в степень (ES2016) 10 ** 2
       
14 * Умножение 10 * 5
14 Деление 10 / 5
14 % Остаток от деления 10 % 5
       
13 + Сложение 10 + 5
13 Вычитание 10 — 5
       
12 << Сдвиг влево x << 2
12 >> Сдвиг вправо x >> 2
12 >>> Сдвиг вправо (без знака) x >>> 2
       
11 < Меньше чем x < y 
11 <= Меньше или равно x <= y
11 > Больше чем x > y
11 >= Больше или равно x >= y
11 in Свойство в объекте «PI» в Математике
11 instanceof Экземпляр объекта instanceof Array
       
10 == Равно x == y
10 === Строгое равно x === y
10 != Не равно x != y
10 !== Строгое не равно x !== y
       
9 & Побитовое AND x & y
8 ^ Побитовое XOR x ^ y
7 | Побитовое OR x | y
6 && Логическое AND x && y
5 || Логическое OR x || y
4 ? : Условие ? «Yes» : «No»
       
3 += Присваивание x += y
3 /= Присваивание x /= y
3 -= Присваивание x -= y
3 *= Присваивание x *= y
3 %= Присваивание x %= y
3 <<= Присваивание x <<= y
3 >>= Присваивание x >>= y
3 >>>= Присваивание x >>>= y
3 &= Присваивание x &= y
3 ^= Присваивание x ^= y
3 |= Присваивание x |= y
       
2 yield Функция паузы yield x
1 , Запятая 5 , 6

Выражения в скобках полностью вычисляются до того, как значение используется в остальной части выражения.

❮ Prev
Next ❯

Пожалуйста, включите JavaScript для просмотра комментариев, предоставленных Disqus.

Приоритет оператора

Приоритет оператора описывает порядок выполнения операций в арифметическом выражении..

var x = 100 + 50 * 3;

Результат примера выше такой же, как 150 * 3, или он такой же, как 100 + 150?

Сначала выполняется сложение или умножение?

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

Умножение () и деление () имеют более высокий приоритет, чем сложение () и вычитание ().

И (также как в школьной математике) приоритет можно изменить с помощью скобок:

var x = (100 + 50) * 3;

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

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

Математические вычисления и класс Math

Последнее обновление: 28.10.2018

Для выполнения различных математических операций в Java в пакете java.lang определен класс
Math. Рассмотрим его основные методы:

  • : возвращает абсолютное значение для аргумента value

    double result = Math.abs(-13.5); // 13.5
    
  • : возвращает арккосинус value. Параметр value должен иметь значение от -1 до 1

    double result = Math.acos(1); // 0.0
    
  • : возвращает арксинус value. Параметр value должен иметь значение от -1 до 1

  • : возвращает арктангенс value

  • : возвращает кубический корень числа value

    double result = Math.cbrt(27); // 3
    
  • : возвращает наименьшее целое число с плавающей точкой, которое не меньше value

    double result = Math.ceil(2.34); // 3
    
  • : возвращает косинус угла d

  • : возвращает гиперболический косинус угла d

  • : возвращает основание натурального логарифма, возведенное в степень d

  • : возвращает наибольшее целое число, которое не больше d

    double result = Math.floor(2.56); // 2
    
  • : возвращает целочисленный результат деления a на b

    System.out.println(Math.floorDiv(1, 2)); // 0
    System.out.println(Math.floorDiv(7, 2)); // 3
    System.out.println(Math.floorDiv(9, 2)); // 4
    
  • : возвращает натуральный логарифм числа a

  • : возвращает натуральный логарифм числа (d + 1)

  • : возвращает десятичный логарифм числа d

  • : возвращает максимальное число из a и b

  • : возвращает минимальное число из a и b

  • : возвращает число a, возведенное в степень b

  • : возвращает случайное число от 0.0 до 1.0

  • : возвращает число double, которое представляет ближайшее к числу value целое число

    System.out.println(Math.rint(2)); // 2.0
    System.out.println(Math.rint(2.3)); // 2.0
    System.out.println(Math.rint(2.5)); // 2.0
    System.out.println(Math.rint(2.5001)); // 3.0
    System.out.println(Math.rint(2.8)); // 3.0
    
  • : возвращает число d, округленное до ближайшего целого числа

    System.out.println(Math.round(2.3)); // 2
    System.out.println(Math.round(2.5)); // 3
    System.out.println(Math.round(2.5001)); // 3
    System.out.println(Math.round(2.8)); // 3
    
  • : возвращает произведение числа value на 2 в степени factor

    System.out.println(Math.scalb(5, 3)); // 5*2*2*2 = 40
    System.out.println(Math.scalb(3, 4)); // 3*2*2*2*2 = 48
    
  • : возвращает число 1, если число value положительное, и -1, если значение value отрицательное. Если value равно 0, то возвращает 0

    System.out.println(Math.signum(2.3)); // 1
    System.out.println(Math.signum(-2.3)); // -1
    
  • : возвращает синус угла value

  • : возвращает гиперболический синус угла value

  • : возвращает квадратный корень числа value

    double result1 = Math.sqrt(16); // 4
    
  • : возвращает тангенс угла value

  • : возвращает гиперболический тангенс угла value

  • переводит радианы в градусы и — градусы в радианы

    System.out.println(Math.toDegrees(3.14159)); // 180
    System.out.println(Math.toRadians(90)); // 1,57079....
    

Также класс Math определяет две константы: и . Например, вычислим площадь круга:

import java.util.Scanner;

public class Program {
  
    public static void main(String[] args) {
          
        Scanner in = new Scanner(System.in);
        
        System.out.print("Введите радиус круга: ");
        int radius = in.nextInt();
        long area = Math.round(Math.PI * Math.pow(radius, 2));
        System.out.printf("Площадь круга с радиусом %d равна %d \n", radius, area);
    }
}

Консольный вывод:

Введите радиус круга: 10
Площадь круга с радиусом 10 равна 314

НазадВперед

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector