métodos y funciones

Upload: esteban-andres-rodriguez-leiva

Post on 10-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Mtodos y funciones

    1/12

    MTODOS Y

    FUNCIONESAyudante: Esteban Rodrguez

  • 8/8/2019 Mtodos y funciones

    2/12

    Qu es una funcin o un mtodo?

    Un mtodo es lo mismo que una funcin.

    Un mtodo es un bloque de cdigo que posee un nombre

    Recibe parmetros o argumentos (opcionalmente)

    Contiene sentencias o instrucciones ( opcionalmente)

    Devuelve un valor de un tipo conocido ( opcionalmente)

    Cuando crebamos un programa ocupbamos la funcin principal llamada main.

    (Al escribir public static void main (String [] args) nos referamos a la funcin principal)

    Cmo se crea un mtodo?

    Al momento de crear un mtodo nos encontramos con 2 casos

    Devuelve un valor NO devuelve un valor

  • 8/8/2019 Mtodos y funciones

    3/12

    Creando un mtodo que devuelve un valor

    Public static Tipo_de_valor_devuelto nombre_funcin ( lista_argumentos){

    SENTENCIA1

    SENTENCIA2

    }

    Tipo_de_valor_devuelto, se refiere al tipo, ya sea int, String, char, del valor que se

    retornar hacia la funcion principal.

    Nombre_funcin es el nombre con la cual se llamar a la funcin desde el main.

    La lista de argumentos se expresa declarando el tipo y nombre de los mismos (comoen las declaraciones de variables). Si hay ms de uno se separan por comas.

  • 8/8/2019 Mtodos y funciones

    4/12

    Creando un mtodo que NO devuelve un valor

    Public static void nombre_funcin ( lista_argumentos){

    SENTENCIA1

    SENTENCIA2

    }

    Void , se refiere al tipo, ya sea int, String, char, del valor que se retornar hacia la

    funcion principal.

    Nombre_funcin es el nombre con la cual se llamar a la funcin desde el main.

    La lista de argumentos se expresa declarando el tipo y nombre de los mismos (comoen las declaraciones de variables). Si hay ms de uno se separan por comas.

    Si no devuelve nada, la clausura return(); no va!

    Las matrices se trabajan siempre con void!

  • 8/8/2019 Mtodos y funciones

    5/12

    Los mtodos se ubican antes o despus del main siempre dentro de la misma clase

    public class metodos_despues{

    public static void main (String [] args){

    SENTENCIA 1.

    SENTENCIA 2.

    }// main

    FUNCION 1.

    FUNCION 2.

    } // class

    public class metodos_antes{

    FUNCION 1.FUNCION 2.

    public static void main (String [] args){

    SENTENCIA 1.

    SENTENCIA 2.

    }// main

    } // class

  • 8/8/2019 Mtodos y funciones

    6/12

    Confuso?... Vamos a un ejemplo.

    Supongamos que queremos hacer un programa que sume dos numeros. Para ello,

    tenemos 2 opciones, realizar todas las operaciones dentro del main o crear una

    funcin que haga lo que estoy buscando.

    Primero lo realizaremos de forma bsica como lo hacamos antes.

    public static SumaNumeros{

    public static void main (String [] args){

    int numero1,numero2,resultado;

    StdOut.print( Ingrese el primer numero);

    numero1= StdIn.readInt();

    StdOut.print( Ingrese el segundo numero);numero2= StdIn.readInt();

    resultado= (numero1+numero2);

    StdOut.print( El resultado es + resultado)

    }

    }

  • 8/8/2019 Mtodos y funciones

    7/12

    Fcil no?... Ahora lo haremos de otra forma, utilizando 2 funciones,

    una para agregar los nmeros y otra para realizar la suma.public class SumaNumeros{

    Public static double numero1,numero2; // se declaran variables globales ( las reconocen todas las

    funciones)

    Public static void AgregarNumeros (){

    StdOut.print( Ingrese el primer numero);numero1=StdIn.readInt();

    StdOut.print( Ingrese el segundo numero);

    numero2=StdIn.readInt();

    } // termina funcin AgregarNumeros

    public static double SumarNumeros ( int a, int b){

    Int resultado= a+b;

    return ( resultado);}

    public static void main (String [] args){

    int Resultado;

    AgregarNumeros();

    Resultado = SumarNumeros( numero1, numero2 );

    StdOut.print(Resultado);

    }

    }

  • 8/8/2019 Mtodos y funciones

    8/12

    Muy difcil?, analicemos por partes, partamos por el main.

    public static void main (String [] args){

    int Resultado;

    AgregarNumeros();

    Resultado = SumarNumeros( numero1, numero2 );

    StdOut.print(Resultado);

    }

    Lo primero que se hace es declarar una variable int para mostrar el resultado

    En la tercera lnea, notamos una operacin llamada AgregarNumeros(); lo que hace es llamar una funcin

    fuera del main llamada AgregarNumeros la cual realizar lo que esta indique, en este caso llama a la

    funcin que se muestra a continuacin:

    Public static void AgregarNumeros (){StdOut.print( Ingrese el primer numero);numero1=StdIn.readInt();StdOut.print( Ingrese el segundo numero);numero2=StdIn.readInt();}

    Lo que hace es darle valores a las variables globales numero1 y numero2 de las cuales, sus

    valores son reconocidos por todas las funciones dentro del class.

  • 8/8/2019 Mtodos y funciones

    9/12

    public static void main (String [] args){

    int Resultado;

    AgregarNumeros();

    Resultado = SumarNumeros( numero1, numero2 );

    StdOut.print(Resultado);

    }

    Luego de haber asignado valores a las variables numero 1 y numero 2, a la variable Resultado ya

    declarada como double le asignamos un valor que depende de una funcin ya creada llamada

    SumarNumeros que recibe dos enteros a y b para funcionar.

    public static double SumarNumeros ( int a, int b){double resultado= a+b;return ( resultado);

    }

    En esta funcin, se declara una variable llamada resultado la cual suma los numeros a y b, que

    corresponden a los valores de numero1 y numero2. y por ltimo, retorna el valor asignndolo a

    la variable Resultado.

    Volviendo al main:

  • 8/8/2019 Mtodos y funciones

    10/12

    Con eso termina el programa y se muestra por pantalla la variable Resultado.

    Lo mas difcil de esto es la funcin que recibe parmetros, revismosla nuevamente.

    La funcin esta declarada de esta manera:

    public static int SumarNumeros ( int a, int b)

    O sea, es una funcin que retorna una variable de tipo double ( no lleva void) y que

    recibe como parmetros dos enteros que dentro de la funcin se les llamarn a y b.

    Como los recibe , tiene que haber algo que se los de, es por esto, que en el main la

    funcin se le llama asi:

    Resultado = SumarNumeros( numero1, numero2 );

    En la sentencia anterior, les estamos enviando dos valores con los cuales yo deseo

    que mi funcin trabaje, le envo dos nmeros enteros llamado numero1 y numero2,

    los cuales tendran de apodo a y b respectivamente, dentro de la funcin.

  • 8/8/2019 Mtodos y funciones

    11/12

    Por ltimo, revisemos el comando return(variable);

    public static double SumarNumeros ( int a, int b){

    double resultado= a+b;return ( resultado);

    }

    La funcion que reciba parametros y retornaba un valor era la siguiente:

    Dentro del main, llamamos la funcion asi:

    Resultado = SumarNumeros( numero1, numero2 );

    Podemos notar que en la funcin, retornamos la variable resultado que equivale a la

    suma de a+b. Que pasa con esto?

    Le estamos diciendo a la variable Resultado que su valor sea la funcin SumarNumero

    con los parmetros numero1 y numero2 por lo tanto el valor retornado de la funcin

    corresponder al valor que la variable Resultado adquiera

  • 8/8/2019 Mtodos y funciones

    12/12

    ESPERO QUE ENTIENDAN ESTAMATERIA, NO ES NADA

    COMPLICADA, ESPERO QUE

    ESTUDIEN PARA QUE LLEGENCON DUDAS!

    SALUDOS

    teban