Download UP3 - Estructura y funcionamiento de un programa java: repaso

Document related concepts
no text concepts found
Transcript
Práctica 3
Estructuras de control selectivas
Fundamentos de Programación
Departamento de Lenguajes y Sistemas Informáticos
Versión 2.0.2
Concepto de sentencia y estructura de
control

El cuerpo de los métodos de una clase está formado por
una serie de unidades elementales: sentencias.

La sentencia más sencilla es una expresión.

Existen sentencias más complejas: las estructuras de
control.

Sirven para romper el orden lineal de ejecución de las
expresiones.
PR3: Estructura y funcionamiento de un programa Java: Repaso
Conceptos auxiliares

Un bloque está formado por un conjunto de sentencias
entre llaves (caracteres { }).

Dentro de un bloque puede haber declaraciones cuyo
ámbito se extiende hasta el final del bloque.

Se entiende por ámbito de una variable la parte del
código donde existe y puede ser usada.

Un bloque también es una sentencia.
PR3: Estructura y funcionamiento de un programa Java: Repaso
Sentencia de control if-else (I)

Evalúa una condición y según sea cierta o falsa ejecuta un
bloque de sentencias determinado.
if (condición) {
sentencia-1;
...
sentencia-n;
} else {
sentencia-n+1;
...
sentencia-m;
}
PR3: Estructura y funcionamiento de un programa Java: Repaso
Sentencia de control if-else (II)
Cierto
sentencia-1
sentencia-2
...
sentencia-n
condición
Falso
sentencia-n+1
sentencia-n+2
...
sentencia-m
PR3: Estructura y funcionamiento de un programa Java: Repaso
Ejemplo de uso
/*
Método que calcula el mínimo de dos enteros.
*/
public static Integer minimo(Integer a, Integer b){
Integer r;
if(a<=b){
r = a;
}else{
r = b;
}
return r;
}
PR3: Estructura y funcionamiento de un programa Java: Repaso
Sentencia de control switch (I)

Se utiliza para comparar una variable discreta con una
serie de valores diferentes.

Se indican los posibles valores que puede tomar la
variable y las sentencias que se tienen que ejecutar si la
variable coincide con alguno de dichos valores.

Es una sentencia muy indicada para comparar una variable
de un tipo enumerado con cada uno de sus posibles
valores.
PR3: Estructura y funcionamiento de un programa Java: Repaso
Sentencia de control switch (II)



Se ejecutan las sentencias del case cuyo valor es igual al de la variable.
Si el valor de la variable no coincide con ningún valor, entonces se ejecutan
las sentencias definidas en default.
Muy importante el uso de break si se quiere seleccionar sólo una opción.
switch ( variable ){
case valor1: sentencias; break;
case valor2: sentencias; break;
...
case valorN: sentencias; break;
default: sentencias;
}
PR3: Estructura y funcionamiento de un programa Java: Repaso
Otras consideraciones

Cualquier estructura selectiva (estructura switch) se puede
simular con múltiples if-else anidados.

Seleccionar switch si la legibilidad de los anidamientos if-else
es reducida.

En una estructura if-else, la cláusula else es opcional:

En ese caso, si la condición es true, se ejecuta la siguiente línea de
código del bloque if.

Cuando termina el bloque if o si la condición evaluó false, se ejecuta
la siguiente línea de código del bloque principal.
PR3: Estructura y funcionamiento de un programa Java: Repaso
Ejercicios

En este ejercicio vamos a desarrollar métodos estáticos dentro de
una clase de nombre Enteros. La clase Enteros no contará ni con
atributos, ni con métodos constructores debido a que es una clase
de utilidades.

Añada a la clase Enteros los métodos estáticos:

public static Boolean estaEnIntervaloCerrado(Integer a, Integer b,
Integer x)


public static Boolean estaEnIntervaloAbierto(Integer a, Integer b, Integer
x)


devuelve true si x está en el intervalo cerrado [a,b]
devuelve true si x está en el intervalo abierto (a, b)
Añada al método main de TestEnteros el código necesario para
probar los métodos, mostrando el resultado por pantalla.
PR3: Estructura y funcionamiento de un programa Java: Repaso
Práctica 3
Estructura y funcionamiento de un
programa Java: Repaso
Fundamentos de Programación
Departamento de Lenguajes y Sistemas Informáticos
Versión 2.0.2
Nociones generales

Tipo:


Objeto:


contrato sintáctico para un tipo de objeto.
Clase:



entidad básica en los LPOO encargada de modelar una parte de la
realidad en un sistema informático.
Interfaz:


conjunto de valores que una entidad puede tomar y las operaciones
que podemos hacer con esos valores.
elemento que define los detalles de un tipo objeto (estado interno,
propiedades,…)
En algunos casos, se usa como contenedor para un conjunto de
métodos de utilidades (métodos estáticos).
Un programa en Java está formado por un conjunto de
declaraciones de tipos enumerados, interfaces y clases.
PR3: Estructura y funcionamiento de un programa Java: Repaso
Modos de un programa Java

Modo compilación




Permite escribir nuevas clases e interfaces.
El entorno detecta si las expresiones que escribimos están bien
formadas (compilador).
Si el entorno no detecta errores entonces el programa ha
compilado bien y está listo para ser ejecutado.
Modo ejecución



Permite obtener los resultados de un programa que hemos
escrito previamente.
Debe haber compilado con éxito previamente.
En el modo de ejecución pueden aparecer nuevos errores.
PR3: Estructura y funcionamiento de un programa Java: Repaso
Pasos para definir un programa Java
1. Identificar los objetos involucrados para
solucionar un problema.
2. Definir las interfaces de cada tipo de
objeto.
3. Definir las clases que implementan las
interfaces.
4. Definir una clase con un método principal
que solucione el problema usando las clases e
interfaces previamente definidas.
PR3: Estructura y funcionamiento de un programa Java: Repaso
Definición de una interfaz



Establece cuáles son las propiedades de un objeto de un
determinado tipo y qué se puede hacer con él.
No se preocupa de saber cómo se hace.
Formalmente una interfaz (interface) contiene las
signaturas de los métodos.
public interface Punto {
Double getX();
Double getY();
void setX(Double x1);
void setY(Double y1);
}
PR3: Estructura y funcionamiento de un programa Java: Repaso
Definición de una clase (I)

Una clase es una entidad del lenguaje de programación que
permite:

Definir los detalles del estado interno de un objeto
(mediante los atributos).

Definir la manera de calcular las propiedades de los
objetos a partir del estado interno.

Describir las funcionalidades ofrecidas por los objetos (a
través de los métodos).
PR3: Estructura y funcionamiento de un programa Java: Repaso
Definición de una clase (II)
public class PuntoImpl implements Punto {
private Double x;
private Double y;
public PuntoImpl (Double x1, Double y1) {
x=x1;
y=y1;}
public PuntoImpl(){
x=0.;
y=0.;}
public Double getX() { return x; }
public Double getY() { return y; }
public void setX(Double x1) { x=x1; }
public void setY(Double y1) { y=y1; }
public String toString() {
String s="("+getX()+","+ getY()+")";
return s;
}
}
PR3: Estructura y funcionamiento de un programa Java: Repaso
Ejecutando un programa Java

Un programa Java empieza a funcionar por una clase
concreta que contenga un método main.
package test;
public class TestPunto extends Test{
public static void main(String[ ] args) {
Punto p= new PuntoImpl(2.0,3.0);
mostrar("Punto:", p);
p.setX(3.0);
mostrar("Punto:", p);
p.setY(2.0);
mostrar("Punto:", p);
}
}
PR3: Estructura y funcionamiento de un programa Java: Repaso