Операторы в Scala

Операторы в Scala

#Scala

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

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

Они используются для выполнения арифметических / математических операций над операндами.

  • Оператор сложения (+) добавляет два операнда. Например, х + у .
  • Оператор вычитания (-) вычитает два операнда. Например, ху .
  • Оператор умножения (*) умножает два операнда. Например, х * у .
  • Оператор деления (/) делит первый операнд на второй. Например, х / у .
  • Оператор модуля (%) возвращает остаток, когда первый операнд делится на второй. Например, х% у .
  • Оператор экспоненты (**) возвращает экспоненту (степень) операндов. Например, х ** у .

Пример:


// Scala программа для демонстрации

// Операторы Airthmetic

  

object Arithop 

{

  

def main(args: Array[String]) 

{

    // переменные

    var a = 50;

    var b = 30;

      

    // Дополнение

    println("Addition of a + b = " + (a + b));

      

    // Вычитание

    println("Subtraction of a - b = " + (a - b));

      

    // Умножение

    println("Multiplication of a * b = " + (a * b));

      

    // Отдел

    println("Division of a / b = " + (a / b));

      

    // Модуль

    println("Modulus of a % b = " + (a % b));

  

}

}

Выход:

Addition of a + b = 80
Subtraction of a - b = 20
Multiplication of a * b = 1500
Division of a / b = 1
Modulus of a % b = 20

Реляционные операторы

Реляционные операторы или операторы сравнения используются для сравнения двух значений. Давайте посмотрим их один за другим:

  • Оператор равно (==) проверяет, равны ли два заданных операнда или нет. Если так, это возвращает истину. В противном случае возвращается false. Например, 5 == 5 вернет true.
  • Оператор Not Equal To (! =) Проверяет, равны ли два заданных операнда или нет. Если нет, он возвращает истину. В противном случае возвращается false. Это точное логическое дополнение оператора '==' . Например, 5! = 5 вернет false.
  • Оператор Greater Than (>) проверяет, больше ли первый операнд, чем второй операнд. Если так, это возвращает истину. В противном случае возвращается false. Например, 6> 5 вернет истину.
  • Оператор Less than (<) проверяет, меньше ли первый операнд, чем второй операнд. Если так, это возвращает истину. В противном случае возвращается false. Например, 6 <5 вернет false.
  • Оператор «Больше чем равно» (> =) проверяет, больше или равен первый операнд второй операнд. Если так, это возвращает истину. В противном случае возвращается false. Например, 5> = 5 вернет истину.
  • Оператор Less Than Equal To (<=) проверяет, меньше или равен первый операнд второй операнд. Если так, это возвращает истину. В противном случае возвращается false. Например, 5 <= 5 также вернет true.

Пример:


// Scala программа для демонстрации

// реляционные операторы

object Relop 

{

  

def main(args: Array[String]) 

{

    // переменные

    var a = 50;

    var b = 30;

      

    // равно оператору

    println("Equality of a == b is : " + (a == b));

      

    // Не равно оператору

    println("Not Equals of a != b is : " + (a != b));

      

    // Больше чем оператор

    println("Greater than of a > b is : " + (a > b));

      

    // Меньше чем оператор

    println("Lesser than of a < b is : " + (a < b));

  

    // Больше чем равно оператору

    println("Greater than or Equal to of a >= b is : " + (a >= b));

      

    // Меньше, чем равно оператору

    println("Lesser than or Equal to of a <= b is : " + (a <= b));

  

}

}

Выход:

Equality of   a == b is : false
Not Equals of a != b is : true
Greater than of a > b is : true
Lesser than of  a = b is : true
Lesser than or Equal to of a <= b is : false

Логические Операторы

Они используются для объединения двух или более условий / ограничений или для дополнения оценки исходного рассматриваемого условия. Они описаны ниже:

  • Логический оператор AND (&&) возвращает true, когда оба рассматриваемых условия выполнены. В противном случае возвращается false. Использование « и » является альтернативой оператора &&. Например, a && b возвращает true, когда и a, и b имеют значение true (т. Е. Не ноль).
  • Логический оператор OR (||) возвращает true, если выполняется одно (или оба) из рассматриваемых условий. В противном случае возвращается false. Использование « или » является альтернативой для || оператор. Например, || b возвращает true, если один из a или b равен true (т. е. не равен нулю). Конечно, он возвращает истину, когда и a, и b верны.
  • Логический оператор NOT (!) Возвращает true, рассматриваемое условие не выполнено. В противном случае возвращается false. Использование « не » является альтернативой для! оператор. Например ,! True возвращает false.

Пример:


// Scala программа для демонстрации

// Логические операторы

object Logop 

{

  

def main(args: Array[String]) 

{

      

    // переменные

    var a = false

    var b = true

      

    // логический оператор NOT

    println("Logical Not of !(a && b) = " + !(a && b));

      

    // логический оператор ИЛИ

    println("Logical Or of a || b = " + (a || b));

      

    // логический оператор И

    println("Logical And of a && b = " + (a && b));

  

}

}

Выход:

Logical Not of !(a && b) = true
Logical Or of a || b = true
Logical And of a && b = false

Операторы присваивания

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

Различные типы операторов присваивания показаны ниже:

  • Оператор Simple Assignment (=) является самым простым оператором присваивания. Этот оператор используется для присвоения значения справа переменной слева.
  • Оператор Add AND Assignment (+ =) используется для добавления левого операнда с правым операндом и последующего присвоения его переменной слева.
  • Оператор Subtract AND Assignment (- =) используется для вычитания левого операнда с правым операндом и последующего присвоения его переменной слева.
  • Оператор умножения И Назначение (* =) используется для умножения левого операнда на правый операнд и последующего присвоения его переменной слева.
  • Оператор Divide AND Assignment (/ =) используется для деления левого операнда на правый операнд и последующего присвоения его переменной слева.
  • Оператор Modulus AND Assignment (% =) используется для назначения по модулю левого операнда с правым операндом и последующего присвоения его переменной слева.
  • Оператор Exponent AND Assignment (** =) используется для увеличения мощности левого операнда до правого операнда и присвоения его переменной слева.
  • Оператор сдвига влево и присвоения (<< =) используется для выполнения двоичного сдвига влево левого операнда с правым операндом и присвоения его переменной слева.
  • Оператор правого сдвига И присвоения (>> =) используется для выполнения двоичного правого сдвига левого операнда с правым операндом и присвоения его переменной слева.
  • Битовый оператор И Назначение (& =) используется для выполнения побитового И левого операнда с правым операндом и присвоения его переменной слева.
  • Битовое исключающее ИЛИ и оператор присваивания (^ =) используется для выполнения побитового исключающего ИЛИ левого операнда с правым операндом и присвоения его переменной слева.
  • Побитовое включение ИЛИ и оператор присваивания (| =) используется для выполнения побитового включения ИЛИ левого операнда с правым операндом и присвоения его переменной слева.

Пример:


// Scala программа для демонстрации

// Операторы присваивания

object Assignop 

{

  

def main(args: Array[String])

{

      

    // переменные

    var a = 50;

    var b = 40;

    var c = 0;

      

    // простое сложение

    c = a + b;

    println("simple addition: c= a + b = " + c);

      

    // Добавить И назначение

    c += a;

    println("Add and assignment of c += a = " + c);

      

    // Вычитаем И присваиваем

    c -= a;

    println("Subtract and assignment of c -= a = " + c);

      

    // Умножаем И И присваиваем

    c *= a;

    println("Multiplication and assignment of c *= a = " + c);

      

    // Делим И присваиваем

    c /= a;

    println("Division and assignment of c /= a = " + c);

      

    // Модули И назначение

    c %= a;

    println("Modulus and assignment of c %= a = " + c);

      

    // сдвиг влево и присваивание

    c <<= 3;

    println("Left shift and assignment of c <<= 3 = " + c);

      

    // Сдвиг вправо и назначение

    c >>= 3;

    println("Right shift and assignment of c >>= 3 = " + c);

      

    // Побитовое И присваивание

    c &= a;

    println("Bitwise And assignment of c &= 3 = " + c);

      

    // Побитовое исключающее ИЛИ и присваивание

    c ^= a;

    println("Bitwise Xor and assignment of c ^= a = " + c);

      

    // Побитовое ИЛИ и присваивание

    c |= a;

    println("Bitwise Or and assignment of c |= a = " + c);

}

}

Выход:

simple addition: c= a + b = 90
Add and assignment of c += a = 140
Subtract and assignment of c -= a = 90
Multiplication and assignment of c *= a = 4500
Division and assignment of c /= a = 90
Modulus and assignment of c %= a = 40
Left shift and assignment of c >= 3 = 40
Bitwise And assignment of c &= 3 = 32
Bitwise Xor and assignment of c ^= a = 18
Bitwise Or and assignment of c |= a = 50

Битовые операторы

В Scala есть 7 побитовых операторов, которые работают на битовом уровне или используются для побитовых операций. Ниже приведены побитовые операторы:

  • Побитовое И (&): принимает два числа как операнды и делает И для каждого бита двух чисел. Результат И равен 1, только если оба бита равны 1.
  • Побитовое ИЛИ (|): принимает два числа в качестве операндов и выполняет ИЛИ для каждого бита двух чисел. Результат ИЛИ равен 1, любой из двух битов равен 1.
  • Побитовое XOR (^): принимает два числа в качестве операндов и делает XOR для каждого бита двух чисел. Результат XOR равен 1, если два бита различны.
  • Битовый сдвиг влево (<<): принимает два числа, сдвигает влево биты первого операнда, второй операнд определяет количество мест для сдвига.
  • Битовый сдвиг вправо (>>): принимает два числа, сдвиг вправо битов первого операнда, второй операнд определяет количество мест для сдвига.
  • Побитовые (Complement) (~): этот оператор принимает одно число и используется для выполнения операции 8-битного дополнения.
  • Битовое смещение правой нулевой заливки (>>>): В операторе смещения правой нулевой заливки левый операнд смещается вправо на количество битов, указанное правым операндом, а сдвинутые значения заполняются нулями.

Пример:


// Scala программа для демонстрации

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

object Bitop

{

def main(args: Array[String]) 

{

    // переменные

    var a = 20;

    var b = 18;

    var c = 0;

      

    // Битовый оператор И

    c = a & b;

    println("Bitwise And of a & b = " + c);

      

    // побитовый оператор ИЛИ

    c = a | b;

    println("Bitwise Or of a | b = " + c);

      

    // Побитовый оператор XOR

    c = a ^ b;

    println("Bitwise Xor of a ^ b = " + c);

      

    // Побитовый оператор дополнения

    c = ~a;

    println("Bitwise Ones Complement of ~a = " + c);

      

    // битовый оператор сдвига влево

    c = a << 3;

    println("Bitwise Left Shift of a << 3 = " + c);

      

    // Битовый оператор смещения вправо

    c = a >> 3;

    println("Bitwise Right Shift of a >> 3 = " + c);

      

    // битовый сдвиг вправо к нулю

    c = a >>> 4;

    println("Bitwise Shift Right a >>> 4 = " + c);

}

}

Выход:

Bitwise And of a & b = 16
Bitwise Or of a | b = 22
Bitwise Xor of a ^ b = 6
Bitwise Ones Complement of ~a = -21
Bitwise Left Shift of a > 3 = 2
Bitwise Shift Right a >>> 4 = 1



Report Page