Sei sulla pagina 1di 24

UD 4 MEJORANDO LAS CLASES

UD 4 MEJORANDO LAS CLASES


Indice

1.- Sentencias condicionales y operadores


relacionales
2.- Lectura de la informacin del teclado
3.- Sentencias repetitivas. Los bucles
4.- Visibilidad de las propiedades
5.- Mtodos que usan otros mtodos
6.- Constructores
UD 4 MEJORANDO LAS CLASES
Indice

1.- Sentencias condicionales y operadores


relacionales
2.- Lectura de la informacin del teclado
3.- Sentencias repetitivas. Los bucles
4.- Visibilidad de las propiedades
5.- Mtodos que usan otros mtodos
6.- Constructores
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

1.- Sentencias condicionales y operadores relacionales

-Condicional simple:
Preguntamos
por una
if (condicion) condicin Si la condicin es falsa
{
Si la condicin es cierta

Instrucciones que se ejecutarn


si la condicin es cierta
}
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

Ejemplo:
Si edad >= 18 es verdadero
System.out.print(Estimado ); Estimado Don Alberto
if (edad >= 18)
{
System.out.print(Don );
}
System.out.println(Alberto); Si edad >= 18 es falso
Estimado Alberto
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

- Condicional doble:

if (condicion)
{ Si la condicin es verdadera

Instrucciones que se ejecutarn si la


condicin es cierta
}
else Si la condicin es falsa
{
Instrucciones que se ejecutarn si la
condicin es falsa
}
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

Ejemplo: Si encendida == true es verdadero


La bombilla est encendida
System.out.print(La bombilla est... ); El programa sigue ejecutndose
if (encendida == true)
{
System.out.println(encendida);
}
else Si encendida == true es falso
{ La bombilla est apagada
El programa sigue ejecutndose
System.out.println(apagada);
}
System.out.print(El programa sigue ejecutndose);
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

- Echemos un ojo a la condicin.


- Normalmente es una pregunta que relaciona dos valores.
Ejemplos:
- if (superficie > 20)
- if (porcentaje <= 0.15)
- if (ingresos == 1500) ...
- if (resultado != 0) ...
- if (vivo == true)
- if (encendida == false) ...
- if (fundida !=true) ...
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

Los operadores relaciones son aquellos que nos permiten


hacer una pregunta cuya respuesta es un valor cierto o falso.

Los operadores relaciones son: <, >, <=, >=, ==, !=

OJO: no confundir el operador de asignacin = con el de


comparacin de igualdad ==.
Asignacin = Comparacin igualdad ==
Edad = 18; If (edad == 18)
Asigna o copia el valor 18 Pregunta si el valor de la
sobre la propiedad edad propiedad edad es igual a 18
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

- Sentencias condicionales anidadas. Se meten unas dentro


de otras:
if (edad < 18)
{
System.out.println(Es menor de edad);
}
else
{
if (tieneCarneConducir == true) {
System.out.println(Es mayor de edad y puede conducir);
}
else {
System.out.println(Es mayor de edad pero no puede conducir);
}
}
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

- El ejemplo anterior se puede describir tambin mediante un


diagrama de decisin como el siguiente:
verdadero falso
edad < 18

Es menor de edad verdadero falso


tieneCarneConducir == true

Es mayor de edad Es mayor de edad


y puede conducir pero no puede conducir
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

- Cuando tenemos sentencias condicionales anidadas es


importante cuidar las sangras del cdigo para que se vea
qu partes contienen a otras.
Con sangras Sin sangras
UD 4 MEJORANDO LAS CLASES
1 Sentencias condicionales y operadores relacionales

- Puede interesarnos escribir condiciones ms complejas


dentro de un if. Para ello usamos los operadores lgicos.

Los operadores lgicos son: && (Y), || (O), ! (NO)

Ejemplos:
if (edad >= 18 && estaCasado == true)

if (tieneTrabajo == true || estaJubilado == true)

if ( ! edad >= 18) ...


UD 4 MEJORANDO LAS CLASES
Indice

1.- Sentencias condicionales y operadores


relacionales
2.- Lectura de la informacin del teclado
3.- Sentencias repetitivas. Los bucles
4.- Visibilidad de las propiedades
5.- Mtodos que usan otros mtodos
6.- Constructores
UD 4 MEJORANDO LAS CLASES
2 Lectura de la informacin del teclado
2. Lectura de la informacin del teclado

Ahora podremos pedirle al usuario que introduzca


informacin por el teclado haciendo un poco ms
interactivos los programas.
Teclado

La clase Teclado tiene tres mtodos que - InputStreamReader filtro


- BufferedReader teclado
permiten leer la informacin tecleada
+ int leerInt ()
interpretndola como un entero, un + double leerDouble ()
nmero real o un texto. + String leerString ()

En la seccin Repositorio de cdigo de este tema est el


cdigo de esta clase.
UD 4 MEJORANDO LAS CLASES
2 Lectura de la informacin del teclado
Ejemplo de uso:
UD 4 MEJORANDO LAS CLASES
2 Lectura de la informacin del teclado
Descargar las clases Teclado.java y PruebaTeclado.java de la
seccin Repositorio de cdigo, compilarlas y ejecutarlas
varias veces haciendo distintas pruebas:

- Introducir valores correctos como: Antonio, 22, 1.80

- Qu ocurre si pongo 22 cuando hago un leerString?

- Qu pasa si pongo Antonio cuando hago un leerDouble?

- Qu ocurre si pongo 1.80 cuando hago un leerInt?

Ejercicios del boletn del 5 al 7


UD 4 MEJORANDO LAS CLASES
3 Sentencias repetitivas. Los bucles
3. Sentencias repetitivas. Los bucles

Al usar la abeja tenamos una sentencia


repetir X veces que repeta una o varias
instrucciones X veces.

Este tipo de instrucciones reciben el


nombre de bucles o sentencias
repetitivas.

Vamos a estudiar dos tipos en Java:

while for
UD 4 MEJORANDO LAS CLASES
3 Sentencias repetitivas. Los bucles
La sintaxis de while (mientras en ingls) es la siguiente:
Mientras sea verdadera la condicin_lgica
while (condicion_lgica) { hacemos el bloque de instrucciones.
Instrucciones a repetir Cuando la condicin_lgica sea falsa, nos
} salimos del bucle.

Ejemplo que imprime la tabla de multiplicar del 7:

int cuenta = 0;
while (cuenta <= 10) {
System.out.println(7 x ,cuenta, = ,7*cuenta);
cuenta++;
}
UD 4 MEJORANDO LAS CLASES
3 Sentencias repetitivas. Los bucles
El comportamiento del bloque es el siguiente:
falso
verdadero
while (condicion_lgica) {
Instrucciones a repetir
}

A cada una de las veces que se repite el bloque de instrucciones se


le llama iteracin o vuelta.

Para que el bucle pare en algn momento y no se convierta en un


bucle infinito tenemos que preocuparnos en el bloque de
instrucciones a repetir de que en algn momento la condicin lgica
sea falsa
UD 4 MEJORANDO LAS CLASES
3 Sentencias repetitivas. Los bucles
Ejemplos de bucles infinitos:

int cuenta = 0;
while (cuenta >= 0) {
System.out.println(7 x ,cuenta, = ,7*cuenta);
cuenta++;
Incrementar la variable cuenta
} no nos acerca a que la condicin
se haga falsa en ningn momento
int edad = 15;
boolean mayorEdad = false;
while (mayorEdad == false) {
Esta sentencia debera ser:
edad++; mayorEdad = true;
if (edad >= 18) { para que la condicin del bucle
mayorEdad = false; se haga falsa en algn momento
}
}
UD 4 MEJORANDO LAS CLASES
3 Sentencias repetitivas. Los bucles
Los bucles se pueden anidar (meterse unos dentro de otros).
Este trozo de cdigo imprime las tablas de multiplicar de los
nmeros entre el 1 y el 10.

int numero = 1;
while (numero <= 10) {
int cuenta = 0;
while (cuenta <= 10) {
System.out.println(numero; x ,cuenta, = ,numero*cuenta);
cuenta++;
}
numero++;
}
UD 4 MEJORANDO LAS CLASES
3 Sentencias repetitivas. Los bucles
Cuando sabemos de antemano cuntas iteraciones va a tener el
bucle se suele usar la instruccin for en vez de while. Su sintaxis
es la siguiente:
for (contador = valor_inicial; condicin_lgica; cambio en el contador) {
Instrucciones a repetir
}

Ejemplo:
for (cuenta = 0; cuenta <= 10; cuenta++) {
System.out.println(7 x ,cuenta, = , 7*cuenta);
}
UD 4 MEJORANDO LAS CLASES
3 Sentencias repetitivas. Los bucles
El for es una versin ms compacta de un while. Veamos las
similitudes:

Potrebbero piacerti anche