2. Métodos
La mejor forma de
crear y mantener un
programa grande, es
construirlo a partir de
piezas más pequeñas o
módulos.
Cada uno de los cuales
es más manejable que
el programa en su
totalidad.
3. Métodos
Los métodos(subprogramas em
Algoritmos) también son
utlizados para evitar la repetición
de código en un programa al
poder ejecutarlo desde varios
puntos de un programa con sólo
invocarlo.
4. Métodos
Esta técnica de descomposición se
denomina Divide y vencerás.
Los módulos en Java se denominan
métodos.
Un método se invoca ,es decir, se le pide
realizar su tarea designada con una llamada
de método.
5. Métodos
La llamada a métodos especifica el nombre del
método y proporciona la información (en forma
de argumentos) cuando el método lo necesite
para hacer su trabajo.
El formato de una definición de método es:
tipo-de-valor-devuelto nombredelmétodo(lista-param)
{
declaraciones y sentencias
}
6. Métodos
Casi todos los métodos tienen una lista de
parámetros; los parámetros de un método
también son variables locales.
Es recomendable limitar los métodos a
realizar una sola tarea bien definida y el
nombre del método debe expresar
efectivamente dicha tarea.
7. Métodos
El nombre es cualquier identificador válido.
El tipo-de-valor-devuelto es el tipo de dato
del resultado, que el método devuelve al
invocador.
El tipo-de-valor-devuelto void indica que el
método no devuelve ningún valor.
8. Métodos
Omitir el tipo-de-valor-devuelto en
una definición de método causa un error
de sintaxis.
Olvidar devolver un valor desde un
método que se supone debe devolver un
valor es un error de sintaxis.
9. Métodos
Si se especifica un tipo-de-valor-devuelto
distinto de void el método debe contener
una sentencia return.
Devolver un valor de un método cuyo tipo
devuelto se ha declarado void causa un
error de sintaxis.
10. Métodos
Todas las variables declaradas en las
definiciones de los métodos son
variables locales; solo se conocen
en el método en el que se definen.
static int sumarNum(int e)
{
e+=e;
System.out.println(+e);
return e; //Este método retorna un valor
}
11. Métodos
La lista-de-parámetros es una lista separada
por comas que contiene las declaraciones de
los parámetros que el método recibe cuando
es invocado.
Si un método no recibe valores, se coloca un
juego de paréntesis vacío ( ) después del
nombre del método.
12. Métodos
Declarar parámetros para un método que
poseen el mismo tipo float x,y en lugar de
float x, float y producirá un error de
compilación porque se requiere un tipo para
cada parámetro.
Colocar punto y coma después del paréntesis
que encierra la lista de parámetros es un error
de sintaxis.
Esta es una declaración de un método que contiene 2 errores.
static void Calcular (float x,y);
13. Métodos
Definir una variable local de un método igual que un
parámetro es un error de sintaxis.
Ejemplo:
class CCmporvalor
{
public static void main(String args[])
{
int a=10;
System.out.println(a);
SumarNum(a);
System.out.println(a);
}
static int SumarNum(int e)
{
e+=e;
System.out.println(e);
return e; //Este método retorna un valor
}
}
14. Métodos
Definir un método dentro de otro es un error
de sintaxis.
Existen tres formas de devolver el control al
punto en el que se invocó un método:
a) Si el método no devuelve un resultado el control se
devuelve cuando se llega a la llave derecha que
termina el método.
b) Al ejecutarse la sentencia return también, si el
método NO devuelve ningún resultado.
c) return expresión;
16. Entrada: v1,v2,v3 :numéricos
Inicio Programa Principal
V1,v2,v3,promn,mayor:numéricos
Procesar IntroDatos //Llamada a un subprograma tipo procedimiento
promn Procesar Calprom //Llamada a un subprograma tipo función
Procesar Imprime(promn)
Mostrar (“El mayor es “ mayor Procesar Max)
Terminar Programa Principal
17. class CPrueba //Clase (Programa)
{
static int v1,v2,v3;//Números enteros declarados en forma Global
public static void main (String args[ ]) //Método principal
{
float prom;
IntroDatos(); //Llamada a un método que no devuelve nada
prom=CalcProm(); //Llamada a un método tipo función
Imprime(prom); //Llamada a un método con pase de parámetros
System.out.println("El mayor: "+ Max( ));
}
18. Inicio IntroDatos
Mostrar (“Introduce el primer valor v1”)
Leer v1
Mostrar (“Introduce el segundo valor v2”)
Leer v2
Mostrar (“Introduce el tercer valor v3”)
Leer v3
Regresar
19. static void IntroDatos() //Método que no devuelve ni recibe nada
{
System.out.println("introduce el valor V1: ");
v1=CTeclado.ReadInt( );
System.out.println("introduce el valor V2: ");
v2=CTeclado.ReadInt( );
System.out.println("introduce el valor V3: ");
v3=CTeclado.ReadInt( );
}
21. static float CalcProm( ) //Método que devuelve un valor
{
float aux;
aux=(v1+v2+v3)/3; //V1,V2,V3 variables globales
return aux; // Valor que retorna el método
}
static void Imprime(float valor)//Observe el cambio de nombre
{
System.out.print("Promedio: ");
System.out.println(valor);
}
22. Inicio Max
aux:numérico
aux 0
Si ((v1>=v2)and (v1>=v3)) entonces
Auxv1
Si ((v2>=v1)and(v2>=v3))entonces
Auxv2
Si ((v3>=v1)and(v3>=v2))entonces
Auxv3
Retornar aux.
23. static int Max() // Método que retorna un valor
{
int aux=0;
if((v1>=v2)&&(v1>=v3))
{ //V1,V2,V3 variables globales
aux=v1;
}
if((v2>=v1)&&(v2>=v3))
{
aux=v2;
}
if((v3>=v1)&&(v3>=v2))
{
aux=v3;
}
return aux;
}
}// fin de clase