Precedencia de operadores en Scala

Un operador es un símbolo que representa una operación a realizar con uno o más operandos. Los operadores son la base de cualquier lenguaje de programación. El operador que se realiza primero en una expresión con más de un operador con diferente precedencia se determina por la precedencia del operador .

Por ejemplo, 10 + 20 * 30 se calcula como 10 + (20 * 30) y no como (10 + 20) * 30.
Cuando en la expresión aparecen dos operadores de la misma precedencia se utiliza la asociatividad. La asociatividad puede ser de derecha a izquierda o de izquierda a derecha. Por ejemplo ‘*’ y ‘/’ tienen la misma precedencia y su asociatividad es de Izquierda a Derecha, por lo que la expresión “100 / 10 * 10” se trabaja como “(100 / 10) * 10”.

En la siguiente tabla, los operadores con la precedencia más alta aparecen en la parte superior de la tabla y los operadores con la precedencia más baja aparecen en la parte inferior.

Operador

Categoría

Asociatividad

A continuación se muestra el ejemplo de precedencia del operador.

Ejemplo :

// Scala program to show Operators Precedence
  
// Creating object
object gfg
{
    // Main method
    def main(args: Array[String])
    {
      
        var a:Int = 20;
        var b:Int = 10;
        var c:Int = 15;
        var d:Int = 5;
        var e = 0
          
        // operators with the highest precedence
        // will operate first
        e = a + b * c / d; 
              
        /* step 1: 20 + (10 * 15) /5
            step 2: 20 + (150 /5)
        step 3:(20 + 30)*/
              
        println("Value of a + b * c / d is : " + e )
      
    }
}

Producción:

Value of a + b * c / d is : 50

En el ejemplo anterior e = a + b * c / d; aquí, a e se le asigna 50, no 120 porque el operador * tiene una precedencia mayor que / que +, por lo que primero se multiplica por 10 * 15, luego se divide por 5 y luego se suma a 20.

Publicación traducida automáticamente

Artículo escrito por DivyaPareek y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *