Clase 2
Introduccin a Java
Este obra est bajo una Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional.
UTN FRA Curso desarrollo de aplicaciones mviles basadas en Android http://www.lslfra.com.ar
Mnimo : -2.147.483.648
Mximo : 2.147.483.647
Pueden obtenerse los valores mximos y mnimos de cada tipo de datos en la documentacin
de Java en la pgina de Oracle.
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
El tipo de dato boolean
Imaginemos que existe un tipo numrico como el tipo int pero en el cual el nmero ms
pequeo que podemos almacenar es 0 y el nmero ms grande es 1, llamamos a este tipo
de dato boolean. Este tipo slo puede contener 2 valores.
Nos podemos preguntar para qu puede servir un tipo de dato de esta caracterstica, y la
respuesta es que existe todo un lgebra desarrollada para poder realizar operaciones con estos
tipos de datos y es muy til. A estas operaciones se las conoce como operaciones lgicas y
al lgebra, lgebra booleana.
El tipo de dato boolean almacena dos valores, si nos abstraemos del lenguaje, podemos pensar
en una variable booleana como algo en donde se almacenan dos estados bien diferenciados:
Blanco o Negro.
Prendido o Apagado.
Verdadero o Falso.
Si o No.
En el lenguaje Java, estos dos valores no son nmeros sino que se representan con las
palabras reservadas* true y false.
*
Variable 2
Resultado
false
&
false
false
false
&
true
false
true
&
false
false
true
&
true
true
Variable 2
Resultado
false
false
false
false
true
true
true
false
true
true
true
true
Variable 2
Resultado
false
false
false
false
true
true
true
false
true
true
true
false
a = true ;
b = false ;
resultado = a & b ;
System.out.println("Resultado de a interseccin b:"+resultado);
}
Al ejecutar el programa, obtenemos como resultado false, ya que la tabla mencionada
anteriormente define que la operacin interseccin entre un valor true y uno false, da como
resultado false:
Operadores relacionales
Existen ciertos smbolos que nos permiten hacer comparaciones, estas operaciones dan como
resultado valores del tipo boolean.
Si queremos saber si el valor almacenado en una variable es mayor que 5, utilizamos el
operador relacional >:
int variable;
boolean resultado;
variable = 8;
resultado = variable > 5;
System.out.println("Resultado de la comparacin:"+resultado);
Si ejecutamos el programa, obtenemos que el resultado de la comparacin de la variable (que
contiene el valor 8) y el literal 5, da true (verdadero).
igual
mayor
menor
distinto
que otra variable o literal. Estas 4 comparaciones dan como resultado un valor del tipo
boolean.
Cmo comparamos por menor? Simplemente utilizando el smbolo en sentido contrario:
Ejemplo:
int variableA;
int variableB;
boolean resultado;
variableA = 3;
variableB = 5;
resultado = variableA < variableB;
System.out.println("Resultado de la comparacin:"+resultado);
En este ejemplo, comparamos si variableA es menor que variableB de ser as, la variable
resultado almacenar un true, de lo contrario, almacenar un false.
Cmo comparamos por igual? Mediante el smbolo ==
Cmo comparamos por distinto? Mediante el smbolo !=
Ejemplo:
int variableA;
int variableB;
boolean resultado;
variableA = 5;
variableB = 5;
resultado = variableA == variableB;
System.out.println("Resultado de la comparacin:"+resultado);
Al ejecutar el cdigo, da como resultado true:
System.out.println("Resultado de la comparacin:"+resultado);
La condicin se lee : Si x es distinto de cero Y, 1 dividido x, es mayor que 1, entonces
resultado se cargar con true.
Si ejecutamos el ejemplo con x = 2 obtenemos como resultado false, ya que :
Para evitar este problema, se utiliza el operador interseccin condicional && o unin
condicional ||.
Cuando escribimos el operador dos veces, se comenzarn a calcular los trminos de
izquierda a derecha, si alguno es false, la operacin completa devuelve false sin
calcular los trminos faltantes que estn ms a derecha. Esto se conoce como short
circuiting.
Ejemplo:
resultado = (x != 0) &&
Trmino 1
1er bloque
2do bloque
if(aprobo)
{
System.out.println("El alumno est aprobado");
}
else
{
System.out.println("El alumno est desaprobado");
}
En este ejemplo, realizamos la comparacin de una variable que contiene el valor de la nota de
un alumno, y la comparamos con el valor literal 7 en el caso de que al nota sea mayor o
igual a 7 la variable boolean aprobo se cargar con true, de la contrario, con false.
Como se explic anteriormente, si la condicin de la sentencia if es true, como en este
caso, (porque nota vale 8 y entonces aprobo vale true) entonces se ejecutar el primer
bloque encerrado entre llaves, y se saltear el segundo.
Sentencia if-else-if
Dentro de un bloque ( el de if o el de else ), o en ambos, puede volver a escribirse otro
if-else.
Supongamos que en caso de no aprobar, ( bloque else ) queremos indicar si el alumno puede
recuperar ( si saco ms de 4 ) o debe recursar la materia ( nota menor a 4 ). Escribimos el
siguiente programa:
10
Es importante aclarar que una vez que alguna de las condiciones de alguno de los if se
cumple, y se ejecuta el bloque de cdigo que le corresponde, no se ejecutan el resto de los
bloques, y el programa continuar despus de todos los bloques if-else.
11
12
double variable;
Variable = 5,56;
System.out.println("Variable vale:"+variable);
}
3. Crear un programa que defina las variables nota1 y nota2 del tipo double.
Asignarle valores a ambas. Comparar si nota1 es mayor a nota2 e imprimir el
resultado de la comparacin.
4. Crear un programa que defina las variables nota1 y nota2 del tipo double.
Asignarle valores a ambas. Comparar si nota1 es mayor a nota2 imprimir el
mensaje Nota1 es mayor o Nota2 es mayor segn el resultado de la comparacin.
5. Las puntuaciones de las pelculas se clasifican en:
0 : mala
1 : regular
2 : buena
3 : muy buena
4 : excelente
Definir una variable del tipo int llamada puntuacion y cargarla con un valor de 0 a 4.
Imprimir la clasificacin de la pelcula segn el valor numrico.
13