Está en la página 1de 12

43

Programacin orientada a objetos con Java

4. Operadores
Objetivos:
a) Describir los operadores (aritmticos, incrementales, de relacin, lgicos y de
asignacin) y los tipos de dato primitivos sobre los que actan
b) Evaluar expresiones que empleen datos primitivos, operadores y parntesis
c) Construir expresiones que empleen combinaciones de datos primitivos,
operadores y parntesis
Un operador lleva a cabo operaciones sobre uno (operador unario), dos (operador binario) o
tres (operador ternario) datos u operandos de tipo primitvo devolviendo un valor determinado
tambin de un tipo primitivo. El tipo de valor devuelto tras la evaluacin depende del operador y del
tipo de los operandos. Por ejemplo, los operadores aritmticos trabajan con operandos numricos,
llevan a cabo operaciones aritmticas bsicas y devuelven el valor numrico correspondiente. Los
operadores se pueden clasificar en distintos grupos segn se muestra en los siguientes apartados.

4.1. Operador asignacin


El operador asignacin, =, es un operador binario que asigna el valor del trmino de la
derecha al operando de la izquierda. El operando de la izquierda suele ser el identificador de una
variable. El trmino de la derecha es, en general, una expresin de un tipo de dato compatible; en
particular puede ser una constante u otra variable. Como caso particular, y a diferencia de los dems
operadores, este operador no se evala devolviendo un determinado valor.
Tabla 4.1 Operador asignacin

Operador
=

Descripcin
Operador asignacin

Ejemplo de
expresin
n = 4

Resultado del
ejemplo
n vale 4

No debe confundirse el operador asignacin (=) con el operador relacional de igualdad (==)
que se ver ms adelante. Adems Java dispone de otros operadores que combinan la asignacin con
otras operaciones (operadores aritmticos combinados).
En el siguiente cdigo se muestran algunos ejemplos de uso del operador asignacin con
datos de distintos tipos:
/**
* Demostracion del operador asignacion
* A. Garcia-Beltran - Abril, 2008
*/
public class opAsignacion {
public static void main(String[] args) {
int i,j;
double x;
char c;
boolean b;
String s;
i = 15;
j = i;
x = 12.345;
c = 'A';
b = false;
s = "Hola";

44

A. Garca-Beltrn y J.M. Arranz

System.out.println("i
System.out.println("j
System.out.println("x
System.out.println("c
System.out.println("b
System.out.println("s

=
=
=
=
=
=

"
"
"
"
"
"

+
+
+
+
+
+

i);
j);
x);
c);
b);
s);

}
}

Salida por pantalla del programa anterior:


$>javac opAsignacion.java
$>java opAsignacion
i = 15
j = 15
x = 12.345
c = A
b = false
s = Hola

4.2. Operadores aritmticos


El lenguaje de programacin Java tiene varios operadores aritmticos para los datos
numricos enteros y reales. En la Tabla 4.2 se resumen los diferentes operadores de esta categora.
Tabla 4.2 Operadores aritmticos bsicos

Operador

Descripcin

+
*
/

operador unario de cambio de signo


Suma
Resta
Producto
Divisin (tanto entera como real)

Resto de la divisin entera

Ejemplo de
expresin
-4
2.5 + 7.1
235.6 - 103.5
1.2 * 1.1
0.050 / 0.2
7 / 2
20 % 7

Resultado del
ejemplo
-4
9.6
132.1
1.32
0.25
3
6

El resultado exacto depende de los tipos de operando involucrados. Es conveniente tener en


cuenta las siguientes peculiaridades:

El resultado es de tipo long si, al menos, uno de los operandos es de tipo long y ninguno
es real (float o double).
El resultado es de tipo int si ninguno de los operandos es de tipo long y tampoco es real
(float o double).
El resultado es de tipo double si, al menos, uno de los operandos es de tipo double.
El resultado es de tipo float si, al menos, uno de los operandos es de tipo float y
ninguno es double.
El formato empleado para la representacin de datos enteros es el complemento a dos. En la
aritmtica entera no se producen nunca desbordamientos (overflow) aunque el resultado
sobrepase el intervalo de representacin (int o long).

45

Programacin orientada a objetos con Java

La divisin entera se trunca hacia 0. La divisin o el resto de dividir por cero es una
operacin vlida que genera una excepcin ArithmeticException que puede dar lugar
a un error de ejecucin y la consiguiente interrupcin de la ejecucin del programa.
La aritmtica real (en coma flotante) puede desbordar al infinito (demasiado grande,
overflow) o hacia cero (demasiado pequeo, underflow).
El resultado de una expresin invlida, por ejemplo, dividir infinito por infinito, no genera
una excepcin ni un error de ejecucin: es un valor NaN (Not a Number).
En el siguiente programa se emplean todos los operadores aritmticos anteriores:

/**
* Demostracion de los operadores aritmeticos
* A. Garcia-Beltran - marzo, 2008
*/
public class OpAritmeticos {
public static void main(String[] args) {
int i,j;
double a,b;
i = 7;
j = 3;
System.out.println("* Operandos enteros:
System.out.println(" Operador suma:
System.out.println(" Operador resta:
System.out.println(" Operador producto:
System.out.println(" Operador division:
System.out.println(" Operador resto:
a = 12.5;
b = 4.3;
System.out.println("* Operandos reales:
System.out.println(" Operador suma:
System.out.println(" Operador resta:
System.out.println(" Operador producto:
System.out.println(" Operador division:
System.out.println(" Operador resto:
}
}

basicos

i
i
i
i
i
i

=
+
*
/
%

"
j
j
j
j
j

+
=
=
=
=
=

i
"
"
"
"
"

+
+
+
+
+
+

" ; j = " + j);


(i+j));
(i-j));
(i*j));
(i/j));
(i%j));

a
a
a
a
a
a

=
+
*
/
%

"
b
b
b
b
b

+
=
=
=
=
=

a
"
"
"
"
"

+
+
+
+
+
+

" ; b = " + b);


(a+b));
(a-b));
(a*b));
(a/b));
(a%b));

Salida por pantalla del programa anterior:


* Operandos enteros:
Operador suma:
Operador resta:
Operador producto:
Operador division:
Operador resto:
* Operandos reales:
Operador suma:
Operador resta:
Operador producto:
Operador division:
Operador resto:

i
i
i
i
i
i
a
a
a
a
a
a

=
+
*
/
%
=
+
*
/
%

7 ; j = 3
j = 10
j = 4
j = 21
j = 2
j = 1
12.5 ; b = 4.3
b = 16.8
b = 8.2
b = 53.75
b = 2.906976744186047
b = 3.9000000000000004

4.3. Operadores aritmticos incrementales


Los operadores aritmticos incrementales son operadores unarios (un nico operando). El
operando puede ser numrico o de tipo char y el resultado es del mismo tipo que el operando.
Estos operadores pueden emplearse de dos formas dependiendo de su posicin con respecto al
operando (Tabla 4.3).

46

A. Garca-Beltrn y J.M. Arranz

Tabla 4.3 Operadores aritmticos incrementales

Operador
++

--

Ejemplo de
expresin
4++
Incremento
a=5;
i++ primero se utiliza la variable y luego se
b=a++;
incrementa su valor
++i primero se incrementa el valor de la variable a=5;
b=++a;
y luego se utiliza
4-decremento
Descripcin

Resultado del ejemplo


5
a vale 6 y b vale 5
a vale 6 y b vale 6
3

Estos operadores suelen sustituir a veces al operador asignacin y tambin suelen aparecer en
bucles for.
Ejemplo de programa que emplea operadores incrementales:
/**
* Demostracion de los operadores incrementales
* A. Garcia-Beltran - Abril, 2008
*/
class opIncrementales {
public static void main(String[] args) {
int i,j;
//
Variables enteras. Podrian ser reales o char
i = 7;
System.out.println("* Operando entero: i = " + i + ";");
System.out.println(" Operador ++:
j = i++; ");
j = i++;
System.out.println("
// i vale " + i + "; j vale "
i = 7;
System.out.println("
i = " + i + ";");
System.out.println("
j = ++i; ");
j = ++i;
System.out.println("
// i vale " + i + "; j vale "
i = 7;
System.out.println("* Operando entero: i = " + i + ";");
System.out.println(" Operador --:
j = i--; ");
j = i--;
System.out.println("
// i vale " + i + "; j vale "
i = 7;
System.out.println("
i = " + i + ";");
System.out.println("
j = --i; ");
j = --i;
System.out.println("
// i vale " + i + "; j vale "
}
}

Salida por pantalla del programa anterior:


* Operando entero:
Operador ++:

* Operando entero:
Operador --:

i = 7;
j = i++;
// i vale 8; j vale 7
i = 7;
j = ++i;
// i vale 8; j vale 8
i = 7;
j = i--;
// i vale 6; j vale 7
i = 7;

+ j);

+ j);

+ j);

+ j);

47

Programacin orientada a objetos con Java

j = --i;
// i vale 6; j vale 6

4.4. Operadores aritmticos combinados


Combinan un operador aritmtico con el operador asignacin. Como en el caso de los
operadores aritmticos pueden tener operandos numricos enteros o reales y el tipo especfico de
resultado numrico depender del tipo de stos. En la Tabla 4.4 se resumen los diferentes operadores
de esta categora.
Tabla 4.4 Operadores aritmticos combinados

Operador
+=
-=
*=
/=
%=

Descripcin
Suma combinada
Resta combinada
Producto combinado
Divisin combinada
Resto combinado

Ejemplo de
expresin
a+=b
a-=b
a*=b
a/=b
a%=b

Resultado del ejemplo


a=a+b
a=a-b
a=a*b
a=a/b
a=a%b

Ejemplo de programa que emplea operadores combinados:

/**
* Demostracion de los operadores aritmeticos combinados
* A. Garcia-Beltran - marzo, 2008
*/
public class OpCombinados {
public static void main(String[] args) {
int i,j;
// Variables enteras. Podrian ser reales
i = 7;
j = 3;
System.out.println("* Operandos enteros:
i = "+ i
i += j;
System.out.println(" Suma combinada:
i += j "
i = 7;
i -= j;
System.out.println(" Resta combinada:
i -= j "
i = 7;
i *= j;
System.out.println(" Producto combinado: i *= j "
i = 7;
i /= j;
System.out.println(" Division combinada: i /= j "
i = 7;
i %= j;
System.out.println(" Resto combinada:
i %= j "
}
}

Salida por pantalla del programa anterior:


* Operandos enteros:
Suma combinada:

i = 7 ;
i += j

j = 3
// i vale 10

+" ;

j = "+ j);

+ "

// i vale " + i);

+ "

// i vale " + i);

+ "

// i vale " + i);

+ "

// i vale " + i);

+ "

// i vale " + i);

48

A. Garca-Beltrn y J.M. Arranz

Resta combinada:
Producto combinado:
Division combinada:
Resto combinada:

i
i
i
i

-=
*=
/=
%=

j
j
j
j

//
//
//
//

i
i
i
i

vale
vale
vale
vale

4
21
2
1

4.5. Operadores de relacin


Realizan comparaciones entre datos compatibles de tipos primitivos (numricos, carcter y
booleanos) teniendo siempre un resultado booleano. Los operandos booleanos slo pueden emplear
los operadores de igualdad y desigualdad. En la Tabla 4.5 se resumen los diferentes operadores de
esta categora
Tabla 4.5 Operadores de relacin

Operador
==
!=
<
>
<=
>=

Descripcin
igual que
distinto que
menor que
mayor que
menor o igual que
mayor o igual que

Ejemplo de expresin
7 == 38
'a' != 'k'
'G' < 'B'
'b' > 'a'
7.5 <= 7.38
38 >= 7

Resultado del ejemplo


false
true
false
true
false
true

Todos los valores numricos que se comparan con NaN dan como resultado false excepto
el operador != que devuelve true. Esto ocurre incluso si ambos valores son NaN.
Ejemplo de programa que emplea operadores relacionales:
/**
* Demostracion de los operadores relacionales
* A. Garcia-Beltran - marzo, 2008
*/
public class OpRelacionales {
public static void main(String[] args) {
int i,j;
i = 7;
j = 3;
System.out.println("* Operandos enteros:
i
System.out.println(" Operador igualdad:
i
System.out.println(" Operador desigualdad:
i
System.out.println(" Operador mayor que:
i
System.out.println(" Operador menor que:
i
System.out.println(" Operador mayor o igual que: i
System.out.println(" Operador menor o igual que: i
}
}

Salida por pantalla del programa anterior:


* Operandos enteros:
i
Operador igualdad:
i
Operador desigualdad:
i
Operador mayor que:
i
Operador menor que:
i
Operador mayor o igual que: i
Operador menor o igual que: i

= 7 ; j = 3
== j es false
!= j es true
> j es true
< j es false
>= j es true
<= j es false

= "+
== j
!= j
> j
< j
>= j
<= j

i +"
es "
es "
es "
es "
es "
es "

;
+
+
+
+
+
+

j = "+ j);
(i==j));
(i!=j));
(i>j));
(i<j));
(i>=j));
(i<=j));

49

Programacin orientada a objetos con Java

4.6. Operadores lgicos o booleanos


Realizan operaciones sobre datos booleanos y tienen como resultado un valor booleano. En
la Tabla 4.6 se resumen los diferentes operadores de esta categora.
Tabla 4.6 Operadores booleanos

Operador

Descripcin

Negacin - NOT (unario)

Suma lgica OR (binario)

Suma lgica exclusiva XOR (binario)

&

Producto lgico AND (binario)

||

&&

Suma lgica con cortocircuito: si el primer


operando es true entonces el segundo se
salta y el resultado es true
Producto lgico con cortocircuito: si el
primer operando es false entonces el
segundo se salta y el resultado es false

Ejemplo de
expresin
!false
!(5==5)
true | false
(5==5)|(5<4)
true ^ false
(5==5)|(5<4)
true & false
(5==5)&(5<4)
true || false
(5==5)||(5<4)

Resultado
del ejemplo
true
false
true
true
true
true
false
false

false && true


(5==5)&&(5<4)

false
false

true
true

Para mejorar el rendimiento de ejecucin del cdigo es recomendable emplear en las


expresiones booleanas el operador && en lugar del operador &. En este caso es conveniente situar la
condicin ms propensa a ser falsa en el trmino de la izquierda. Esta tcnica puede reducir el tiempo
de ejecucin del programa. De forma equivalente es preferible emplear el operador || al operador
|. En este caso es conveniente colocar la condicin ms propensa a ser verdadera en el trmino de la
izquierda.
Ejemplo de programa que emplea operadores lgicos:
/**
* Demostracion de los operadores logicos
* A. Garcia-Beltran - marzo, 2008
*/
public class OpBooleanos {
public static void main(String [] args) {
System.out.println("Demostracion de operadores
System.out.println("Negacion: ! false es
System.out.println("
! true es
System.out.println("Suma:
false | false es
System.out.println("
false | true es
System.out.println("
true | false es
System.out.println("
true | true es
System.out.println("Producto: false & false es
System.out.println("
false & true es
System.out.println("
true & false es
System.out.println("
true & true es
}
}

logicos");
: " + (! false));
: " + (! true));
: " + (false | false));
: " + (false | true));
: " + (true | false));
: " + (true | true));
: " + (false & false));
: " + (false & true));
: " + (true & false));
: " + (true & true));

50

A. Garca-Beltrn y J.M. Arranz

Salida por pantalla del programa anterior:


Demostracion de operadores
Negacion: ! false es
! true es
Suma:
false | false es
false | true es
true | false es
true | true es
Producto: false & false es
false & true es
true & false es
true & true es

logicos
: true
: false
: false
: true
: true
: true
: false
: false
: false
: true

4.7. El operador condicional


Este operador ternario tomado de C/C++ permite devolver valores en funcin de una
expresin lgica. Sintaxis:
expresionLogica ? expresion_1 : expresion_2

Si el resultado de evaluar la expresin lgica es verdadero, devuelve el valor de la primera


expresin, y en caso contrario, devuelve el valor de la segunda expresin.
Tabla 4.7 Operador condicional

Operador
:

Descripcin
operador condicional

Ejemplo de expresin
a = 4;
b = a == 4 ? a+5 : 6-a;
b = a > 4 ? a*7 : a+8;

La sentencia de asignacin:
valor = (expresionLogica ? expresion_1 : expresion_2);

como se ver ms adelante es equivalente a:


if (expresionLogica)
valor = expresion_1;
else
valor = expresion_2

Ejemplo de programa que emplea el operador condicional:


/**
* Demostracion del operador condicional
* A. Garcia-Beltran - Abril, 2006
*/
public class opCondicional {
public static void main(String[] args) {
int i,j,k;
i = 1;
j = 2;
k = i > j ? 2*i : 3*j+1;
System.out.println("i = " + i);
System.out.println("j = " + j);

Resultado del
ejemplo
b vale 9
b vale 12

51

Programacin orientada a objetos con Java

System.out.println("k = "
i = 2;
j = 1;
k = i > j ? 2*i : 3*j+1;
System.out.println("i = "
System.out.println("j = "
System.out.println("k = "

+ k);

+ i);
+ j);
+ k);

}
}

Salida por pantalla del programa anterior:


i
j
k
i
j
k

=
=
=
=
=
=

1
2
7
2
1
4

4.8. Operadores de bit


Tienen operandos de tipo entero (o char) y un resultado de tipo entero. Realizan
operaciones con dgitos (ceros y unos) de la representacin binaria de los operandos. Exceptuando al
operador negacin, los dems operadores son binarios. En la Tabla 4.8 se resumen los diferentes
operadores de esta categora.
Tabla 4.8 Operadores de bit

Operador

Descripcin

~
|
^
&

Negacin complemento binario (unario)


Suma lgica binaria OR (binario)
Suma lgica exclusiva XOR (binario)
Producto lgico binario AND (binario)
Desplaza a la izquierda los bits del 1 operando
tantas veces como indica el 2 operando (por la
derecha siempre entra un cero)
Desplaza a la derecha los bits del 1 operando tantas
veces como indica el 2 operando (por la izquierda

<<

>>

Ejemplo
de
expresin

Resultado del
ejemplo

~12
12|10
12^10
12&10
7<<2
-7<<2

-13
8
6
14
28
-28

7>>2
-7>>2

1
-2

7>>>2
-7>>>2

1
1073741822

entra siempre el mismo bit ms significativo anterior)

>>>

Desplaza a la derecha los bits del 1 operando tantas


veces como indica el 2 operando sin signo (por la
izquierda entra siempre un cero).

Ejemplo de programa que emplea operadores de bit:


/**
* Demostracion de los operadores de bit enteros
* A. Garcia-Beltran - enero, 2003
*/
public class OpBitEnteros2 {
public static void main(String[] args) {
int i,j;
i = 12;
j = 10;
System.out.println("* Operandos enteros:

i = " + i + " ;

j = " + j);

52

A. Garca-Beltrn y J.M. Arranz

System.out.println("
System.out.println("
System.out.println("
System.out.println("
i = 12;
j = -10;
System.out.println("*
System.out.println("
System.out.println("
System.out.println("
System.out.println("
i = 7;
j = 2;
System.out.println("*
System.out.println("
System.out.println("
System.out.println("
i = -7;
j = 2;
System.out.println("*
System.out.println("
System.out.println("
System.out.println("
}

Negacion o complemento:
Suma logica (binaria):
Suma exclusiva (binaria):
Producto logico (binaria):

~i es
i & j
i ^ j
i | j

" + (~i));
es " + (i&j));
es " + (i^j));
es " + (i|j));

Operandos enteros:
i = " + i + " ; j = " + j);
Negacion o complemento:
~i es " + (~i));
Suma logica (binaria):
i & j es " + (i&j));
Suma exclusiva (binaria):
i ^ j es " + (i^j));
Producto logico (binaria):
i | j es " + (i|j));
Operandos enteros:
i = " + i + " ;
Despl. a izquierdas:
i << j es " +
Despl. a derechas:
i >> j es " +
Despl. a derechas sin signo: i >>> j es "

j = " + j);
(i<<j));
(i>>j));
+ (i>>>j));

Operandos enteros:
i = " + i + " ; j = " + j);
Desplazamiento a izquierdas: i << j es " + (i<<j));
Despl. a derechas:
i >> j es "+ (i>>j));
Despl. a derechas sin signo: i >>> j es " + (i>>>j));

Salida por pantalla del programa anterior:


* Operandos enteros:
Negacion o complemento:
Suma logica (binaria):
Suma exclusiva (binaria):
Producto logico (binaria):
* Operandos enteros:
Negacion o complemento:
Suma logica (binaria):
Suma exclusiva (binaria):
Producto logico (binaria):
* Operandos enteros:
Despl. a izquierdas:
Despl. a derechas:
Despl. a derechas sin signo:
* Operandos enteros:
Desplazamiento a izquierdas:
Despl. a derechas:
Despl. a derechas sin signo:

i = 12 ; j = 10
~i es -13
i & j es 8
i ^ j es 6
i | j es 14
i = 12 ; j = -10
~i es -13
i & j es 4
i ^ j es -6
i | j es -2
i = 7 ; j = 2
i << j es 28
i >> j es 1
i >>> j es 1
i = -7 ; j = 2
i << j es -28
i >> j es -2
i >>> j es 1073741822

4.9. Operador concatenacin de cadenas


El operador concatenacin, +, es un operador binario que devuelve una cadena resultado de
concatenar las dos cadenas que actan como operandos. Si slo uno de los operandos es de tipo
cadena, el otro operando se convierte implcitamente en tipo cadena.
Tabla 4.9 Operador concatenacin

Operador
+

Descripcin
Operador concatenacin

Ejemplo de expresin
Hola + Juan

Resultado del
ejemplo
HolaJuan

Programacin orientada a objetos con Java

53

4.10. Separadores
Existen algunos caracteres que tienen un significado especial en el lenguaje Java. En la Tabla
4.10 se resumen los diferentes separadores que pueden encontrarse en el cdigo fuente de un
programa.
Tabla 4.10 Separadores en Java

Separador
Descripcin
()
Permiten modificar la prioridad de una expresin, contener expresiones para el
control de flujo y realizar conversiones de tipo. Por otro lado pueden contener la
lista de parmetros o argumentos, tanto en la definicin de un mtodo como en la
llamada al mismo.
{}
Permiten definir bloques de cdigo y mbitos y contener los valores iniciales de
las variables array
[]
Permiten declarar variables de tipo array (vectores o matrices) y referenciar sus
elementos
;
Permite separar sentencias
,
Permite separar identificadores consecutivos en la declaracin de variables y en
las listas de parmetros. Tambin se emplea para encadenar sentencias dentro de
un bucle for
.
Permite separar el nombre de un atributo o mtodo de su instancia de
referencia. Tambin separa el identificador de un paquete de los de los
subpaquetes y clases

4.11. Expresiones
Una expresin es una combinacin de operadores y operandos que se evala generndose un
nico resultado de un tipo determinado.

4.12. Prioridad entre operadores


Si dos operadores se encuentran en la misma expresin, el orden en el que se evalan puede
determinar el valor de la expresin. En la Tabla 4.11 se muestra el orden o prioridad en el que se
ejecutan los operadores que se encuentren en la misma sentencia. Los operadores de la misma
prioridad se evalan de izquierda a derecha dentro de la expresin.

54

A. Garca-Beltrn y J.M. Arranz

Tabla 4.11 Prioridad de los operadores

Prior.

Operador

++
-+, ~

2
3
4

(tipo)
*, /, %
+, +
<<
>>
>>>

8
9
10
11
12
13

14

<, <=
>, >=
instanceof
==
=
==
=
&
&
^
^
|
|
&&
||
? :

=
*=, /=, %=
+=, -=
<<=, >>=
>>>=
&=, ^=, |=

Tipo de
operador
Aritmtico
Aritmtico
Aritmtico
Integral
Booleano
Cualquiera
Aritmtico
Aritmtico
Cadena
Integral
Integral
Integral
Aritmtico
Aritmtico
Objeto, tipo
Primitivo
Primitivo
Objeto
Objeto
Integral
Booleano
Integral
Booleano
Integral
Booleano
Booleano
Booleano
Booleano,
cualquiera,
cualquiera
Variable,
cualquiera

Operacin
Incremento previo o posterior (unario)
Incremento previo o posterior (unario)
Suma unaria, Resta unaria
Cambio de bits (unario)
Negacin (unario)
Multiplicacin, divisin, resto
Suma, resta
Concatenacin de cadenas
Desplazamiento de bits a izquierda
Desplazamiento de bits a derecha con inclusin de signo
Desplazamiento de bits a derecha con inclusin de cero
Menor que, Menor o igual que
Mayor que, Mayor o igual que
Comparacin de tipos
Igual (valores idnticos)
Desigual (valores diferentes)
Igual (referencia al mismo objeto)
Desigual (referencia a distintos objetos)
Cambio de bits AND
Producto booleano
Cambio de bits XOR
Suma exclusiva booleana
Cambio de bits OR
Suma booleana
AND condicional
OR condicional
Operador condicional (ternario)

Asignacin
Asignacin con operacin

También podría gustarte