Modulo 6 Variables y Operadores Archivo

Anuncio
Modulo 6. Variables y Operadores
Variables
Un objeto almacena los estados en campos, estos campos se conocen en java como
variables. Por eso a menudo podemos ver estas dos palabras usadas para referirse a lo
mismo.
Una variable tiene tipo de datos y nombre de la variable. El tipo de datos es el tipo de valor
que contendrá la variable. El nombre de la variable debe seguir algunas reglas que se verán
más adelante.
Tipos de variables en Java:
• Campos estáticos: Los campos estáticos son definidos por la palabra static, esto dice al
compilador que solo existirá un campo para todos los objetos que se creen de la misma
clase. Como ejemplo: Si definiéramos la cantidad de engranajes a usar por un tipo de Bicicleta
y quisiéramos que todos los objetos de la misma clase de Bicicleta no sobrepasaran este
engranaje, lo definiríamos del tipo estático.
• Campos no estáticos: Los campos no estáticos son campos que pertenecen a un objeto
individual y que guardan su estado solo para el objeto. Como ejemplo, la velocidad es una
variable propia de cada objeto que se cree de una clase.
• Los parámetros: son los campos que se comunican a los métodos de los objetos.
¿Cómo se deben crear las variables?
Todo lenguaje de programación posee reglas en la creación de sus variables y palabras
reservadas que no se pueden usar, en java las reglas son:
• Los nombres que se les de a las variables son case-sensitive, esto quiere decir que
reconocen diferencias entre mayúsculas y minúsculas, las variables.
“cadenciaPedal” es diferente de “cadenciapedal”
• No tienen límite de longitud y se deben usar números y letras unicode en su creación, sin
embargo la convención es comenzar siempre el nombre de una variable con una letra y no con
un símbolo.
Nunca usar 67velocidad, si se deben combinar los números escribir mejor: velocidad67.
• No se permite el espacio en los nombre de las variables.
• Al escribir una variable los caracteres diferentes del primero pueden ser números,
letras o símbolos como el “_”, trate de no usar palabras abreviadas o códigos secretos,
es mejor escribir una descripción completa del significado de la variable.
Ejemplo:
cadenciaDelPedal, aumentarVelocidad, etc.
• El nombre a elegir no puede pertenecer al grupo de palabras reservadas.
• Cuando nombre variables de una sola palabra use siempre minúsculas, si es compuesta
comience las demás palabras en mayúscula.
• Si la variable almacena un valor constante, por decir la velocidad máxima, nombre la
variable siempre en MAYUSCULAS y separe las palabras por “_”.
Ejemplo: VELOCIDAD_MAXIMA = 100.
Declaración e inicialización de una variable
Para declarar una variable utilizamos el siguiente formato:
<tipo de dato> <nombreVariable> [=valor inicial];
Ejemplo:
public class EjemploVariables
{
public static void main( String[] args ){
// Declaracion de una variable con tipo de datos booleano
boolean resultado;
// Declaracion de una variable con tipo de dato char
char opcion;
opcion = 'C'; //Asignacion de ‘C’
//Declaracion de una variable con tipo de datos double y asignación
double grados = 0.0;
//Declaracion de una variable con tipo de datos int y asignación
int cantidadPersonas = 12564;
}
}
Salida de una variable por consola
Para la impresión de variables por consola podemos utilizar la clase System, esta clase posee
un objeto llamado out, este objeto a su vez tiene un método print() y println().
System.out.println()
System.out.print()
Ejemplo para la salida de variables:
public class EjemploSalidaVariables
{
public static void main( String[] args ){
// Declaracion de una variable con tipo de datos booleano
boolean resultado = true;
// Declaracion de una variable con tipo de dato char
char opcion;
opcion = 'C'; //Asignacion de ‘C’
//Declaracion de una variable con tipo de datos double y asignación
double grados = 0.0;
//Declaracion de una variable con tipo de datos int y asignación
int cantidadPersonas = 20;
int valorHora = 23564;
System.out.println( valorHora );
System.out.println( “El valor de opcion=“ + opcion );
}
System.out.println( grados );
System.out.println( “El resultado es=“ + resultado );
}
Diferencias entre System.out.println() y System.out.print()
La diferencia es que el método println() inserta un salto de línea al final de la impresión.
Ejemplo:
public class EjemploPrintln
{
public static void main( String[] args ){
// Declaracion de una variable con tipo de datos booleano
boolean resultado = true;
// Declaracion de una variable con tipo de dato char
char opcion;
opcion = 'C'; //Asignacion de ‘C’
System.out.println( “El valor de opcion=“ + opcion );
System.out.print( “El resultado “);
System.out.println( “es=“ + resultado );
}
}
Variables Primitivas y Variables por Referencia
Java cuenta con dos tipos de variables, las variables primitivas y las variables por referencia.
Las variables primitivas pertenecen a tipos de datos primitivos como int, long, char. Su
almacenamiento en memoria donde se encuentre la variable.
Las variables por referencia almacenan el nombre de la variable en memoria donde la variable
sea definida, pero esta variable no almacena en ella los datos que contiene, almacena una
posición de memoria o dirección donde los datos reales se encuentran.
Cuando se declara una variable de un tipo de datos diferente a los primitivos, ósea, datos de
alguna Clase en especial, lo que se está declarando es una variable referencia con el objeto de
la Clase en especial.
Operadores
Ahora que se ha adquirido el conocimiento necesario para declarar variables en Java, el
siguiente paso es realizar algo con las variables.
Los operadores son los símbolos especiales que realizan operaciones específicas en un, dos, o
tres variables, y después retornan un resultado; en sí: Un operador toma unas o más
argumentos y produce un nuevo valor.
Todos los operadores producen un valor de sus operandos, estos operandos son las variables
que aprendimos a declarar en el módulo anterior. Además, algunos operadores cambian el
valor de un operando (variable). Esto se llama un efecto secundario.
Precedencia de los operadores.
La precedencia define cómo se evalúa una expresión cuando varios operadores están
presentes. Java tiene reglas específicas que determinan el orden de la evaluación.
La regla más fácil a recordar es que la multiplicación y la división suceden antes que la adición
y que la substracción. Los programadores se olvidan a menudo de las reglas de prioridad, así
que se recomienda utilizar paréntesis para agrupar las operaciones y realizar la evaluación de
forma explícita.
En la siguiente tabla se muestra la precedencia de los operadores, los operadores en la misma
línea tienen precedencia igual, la precedencia disminuye conforme se baja en la tabla.
Posfijo – postfix
expr++
Unario – unary
++expr --expr
Multiplicación – multiplicative
* /
Adición – additive
+
Cambio – shift
<<
Relacional – relational
<
Igualdad – equality
==
“Y” de bits - bitwise AND
&
“O” de bits exclusión - bitwise exclusive
^
expr-+exp.
-expr
~
!
%
>>
>
<=
>>>
>=
instanceof
!=
OR
“XOR” de bits inclusion - bitwise
|
inclusive OR
“Y” lógico - logical AND
&&
“O” lógico - logical OR
||
Operador ternario – ternary
?:
Asignación - assignment
=
+=
-=
^=
|=
<<=
*=
>>=
/=
%=
&=
>>>=
En la programación de uso general, ciertos operadores tienden para aparecer más con
frecuencia que otros; por ejemplo, el operador de asignación “=” es más común que el
operador de cambio “>>>”.
Resumen de operadores
Operadores de asignación simple
=
operador de asignación simple
Operadores aritméticos
Los operadores matemáticos o aritméticos están disponibles en la mayoría de los lenguajes de
programación: La suma ( + ), la sustracción ( - ), la multiplicación ( * ), la división ( / ) y el
modulo ( % ).
+
Operador adición (también usado para concatenar Strings (cadenas)
-
Operador de la substracción
*
Operador de la multiplicación
/
Operador de la división
%
Operador modulo
Operadores unarios
+
Operador singular más; indica el valor positivo
-
Operador singular de menos; niega una expresión
++
Operador de incremento; incrementa un valor más 1
Ejemplo: Si a es un entero, la expresión ++a es equivalente a ( a = a + 1)
--
Operador del decremento; decremento un valor menos 1
¡
Operador lógico; invierte el valor de un booleano
Con los operadores de incremento y decremento se debe tener especial cuidado, pues existen
dos versiones diferentes del operador para cada uno, estas versiones se llaman prefijo y sufijo.
Quiere decir que el operador aparece antes o después de la variable, ejemplo ++a es prefijo y
a++ es sufijo.
Tenga especial cuidado con este operador, en el prefijo la operación se realiza y luego el valor
es retornado, en el sufijo el valor primero es retornado y luego la operación realizada.
Operadores de igualdad y relación
==
igual a
!=
no igual a
>
Mayor que
>=
mayor o igual
<
Menor que
<=
inferior o igual
Estos operadores generan un resultado booleano, el resultado puede ser “true” si la relación
fue verdadera o “false” si la relación dio como resultado no es verdadera. Los operadores igual
(==) o no igual (!=) trabajan con cualquier tipo de datos, mientras que los demás no trabajan
con datos tipo booleano.
Si se desea realizar una comparación de igualdad a nivel de objetos y no de datos primitivos
del lenguaje se debe realizar con el método “equals” del objeto, puesto que la comparación de
objetos es diferente.
Operadores condicionales
&&
Condicional-Y
||
Condicional-O
?:
Ternario (tipo para la declaración si-entonces-esto)
Estos operadores producen un valor de true o false dependiendo de la relación de los
argumentos que estén comparando.
Existe una propiedad en estos operadores que se conoce como corto circuito, significa que no
se necesita evaluar todos los argumentos cuando el resultado final está implícito antes de
terminar, es decir, para el operador Condiciona-O se conoce que es verdadero (true) cuando
algún argumento es verdadero, si se llega a este valor en algún argumento no es necesario
seguir evaluando toda la expresión ni los demás argumentos.
Operador de comparación de tipos
instanceof
compara un objeto a un tipo especificado
Bitwise y operadores de cambio de bits
~
Unary bitwise complemento
<<
Cambio a la izquierda
>>
Cambio a la derecha
>>>
Cambio a la derecha sin firma
&
Bitwise Y
^
Bitwise O exclusión
|
Bitwise O inclusión
Descargar