38
METODOS PASO DE PARAMETROS Y VARIABLES LOCALES » Aquino Herrera Leonel » Cortes Hernández Eduardo » Guzmán Cruz Elias Alberto » Puertos Herrera Elizabeth

Metodos,variables, pasodeparametros

  • Upload
    kenixxx

  • View
    333

  • Download
    0

Embed Size (px)

DESCRIPTION

explicacion de Metodos,variables, paso de parametros

Citation preview

Page 1: Metodos,variables, pasodeparametros

METODOSPASO DE PARAMETROS Y VARIABLES LOCALES

» Aquino Herrera Leonel» Cortes Hernández Eduardo» Guzmán Cruz Elias Alberto

» Puertos Herrera Elizabeth

Page 2: Metodos,variables, pasodeparametros

Método

Un bloque de código que tiene un nombre,recibe unos parámetros o argumentos (opcionalmente), contiene sentencias o instrucciones para realizar algo (opcionalmente) y

devuelve un valor de algún Tipo conocido (opcionalmente).

Page 3: Metodos,variables, pasodeparametros

CARACTERISTICAS DE LOS METODOS

» 1.-Contiene una o mas declaraciones» 2.-Cada método tiene un nombre y

este nombre se utiliza para llamar al método(las palabras clave no pueden ser utilizadas como el nombre del método).

» 3.-Debe llevar paréntesis después del nombre.

» 4.-El método main() esta reservado por java como el método que inicializa la ejecución del programa.

Page 4: Metodos,variables, pasodeparametros

La sintaxis global es:

Tipo_Valor_devuelto nombre_método ( lista_argumentos ) { bloque_de_codigo; }

Page 5: Metodos,variables, pasodeparametros

la lista de argumentos se expresa declarando el tipo y nombre de los mismos (como en las declaraciones de variables). Si hay más de uno se separan por comas.

Por ejemplo:int sumaEnteros ( int a, int b ) {        int c = a + b;        return c;}

El método se llama sumaEnteros.Recibe dos parámetros también enteros. Sus nombres son a y b.Devuelve un entero.

Page 6: Metodos,variables, pasodeparametros

Paso de parámetros:

Por ValorPor Referencia

Por Valor: Los parámetros correspondientes reciben una COPIA de los valores (literales, constantes, variables, resultado de la evaluación de una expresión) de los parámetros actuales; por tanto, los cambios que se produzcan en ellos por efecto de la ejecución de lafunción no podrán afectar el valor de los parámetrosactuales en caso de que estos fueran variables.

Page 7: Metodos,variables, pasodeparametros

Por Referencia:

Lo que se pasa a la función es la dirección de emoria del parámetro actual, en consecuencia debe ser una variable. Así, una variable pasada como parámetro actual es compartida; es decir, puede ser accedida y modificada durante la ejecución de la función.

Page 8: Metodos,variables, pasodeparametros

Prueba de escritorio

Page 9: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = ""; 1

6. public Aplicacion (String parametro){37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");813. nombre = sca.next();914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola ");218. }19. }

1 variable estatica ya que ser invocada en un entorno estatico( static )

Page 10: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = "";1

6. public Aplicacion (String parametro){37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");813. nombre = sca.next();914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola "); 218. }19. }

2 se instancia el contructor y se le pasa el parametro por valor

Hola

Salida

Page 11: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = "“;1

6. public Aplicacion (String parametro){ 37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");813. nombre = sca.next();914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola ");218. }19. }

3 Constructor con 1 argumento String

Page 12: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = "";1

6. public Aplicacion (String parametro){ 37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");8 13. nombre = sca.next();914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola ");//218. }19. }

4 se carga el parametro en la variable global

Page 13: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = "";1

6. public Aplicacion (String parametro){ 37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");813. nombre = sca.next();914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola ");//218. }19. }

5 se pasa el valor global por referencia al constrcutor del metodo nombre

Page 14: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = "";1

6. public Aplicacion (String parametro){ 37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");813. nombre = sca.next();914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola ");218. }19. }

6 Metodo Nombre con un argumento String

Page 15: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = "";//1

6. public Aplicacion (String parametro){ //37. this.parametroGlobal=parametro;4//8. Nombre(parametroGlobal);5//9. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");813. nombre = sca.next();914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola ");//218. }19. }

7 se implementa la clase scanner que recive un Sytem.in para poder leer la consola

Page 16: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = "";1

6. public Aplicacion (String parametro){ 37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: "); 813. nombre = sca.next();914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola ");//218. }19. }

8 se muestra la una instrucción

Ingrese nombre: amigos

Salida

Page 17: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = "";1

6. public Aplicacion (String parametro){ 37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");813. nombre = sca.next(); 914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola ");18. }19. }

9 se pasa lo obtenido en la consola a la varible local

Page 18: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = "";1

6. public Aplicacion (String parametro){ 37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");813. nombre = sca.next();914. System.out.println(parametroGlobal+nombre); 1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola "); }18. }

10 Se imprime la varible local pasada por el constructor y se concatena con la local

Hola amigos

Salida

Page 19: Metodos,variables, pasodeparametros

1. import javax.swing.*;2. import java.util.Scanner;

3. public class Aplicacion{//Definicion de clase4.5. static String parametroGlobal = ""; 1

6. public Aplicacion (String parametro){37. this.parametroGlobal=parametro;48. Nombre(parametroGlobal);59. }

10. public static void Nombre(String nombre){611. Scanner sca = new Scanner (System.in);712. System.out.print("Ingresa nombre: ");813. nombre = sca.next();914. System.out.println(parametroGlobal+nombre);1015. }

16. public static void main (String args[]){17. new Aplicacion("Hola ");218. }19. }

1 variable estatica ya que ser invocada en un entorno estatico( static )

2 se instancia el contructor y se le pasa el parametro por valor

3 Constructor con 1 argumento String

4 se carga el parametro en la variable global

5 se pasa el valor global por referencia al constrcutor del metodo nombre

6 Metodo Nombre con un argumento String

7 se implementa la clase scanner que recive un Sytem.in para poder leer la consola

8 se muestra la una instrucción

9 se pasa lo obtenido en la consola a la varible local

10 Se imprime la varible local pasada por el constructor y se concatena con la local

Hola amigos

Salida

Page 20: Metodos,variables, pasodeparametros

VARIABLES LOCALES

Una variable local es, a la que se le otorga un ámbito local. Tales variables sólo pueden accederse desde la función o bloque de instrucciones en donde se declaran. Las variables locales se contraponen a las variables globales.

Page 21: Metodos,variables, pasodeparametros

» En la mayoría de lenguajes de programación las variables locales son variables automáticas almacenadas directamente en la pila de llamadas. Esto significa que cuando una función recursiva se llama a sí misma, las variables locales reciben, en cada instancia de la función, espacio para el direccionamiento de memoria separados. De esta forma las variables con este ámbito se pueden declarar, reescribir y leer sin riesgo de efectos secundarios para los procesos fuera del bloque en el que son declarados.

Page 22: Metodos,variables, pasodeparametros

» Las variables locales estáticas en funciones globales pueden considerarse variables globales, dado que su valor permanece en la memoria durante todo el tiempo de vida del programa. La única diferencia es que sólo pueden accederse desde una única función. Las variables locales estáticas también se pueden declarar en class-level functions en lenguajes de programación orientados a objetos.

Page 23: Metodos,variables, pasodeparametros

Invocación Anidada

Page 24: Metodos,variables, pasodeparametros

» En el código que se muestra, no es un "método anidado", sino un el resultado o la acción que hace un método que fue devuelta en otro método. (En el lenguaje de programación Java, no existe el concepto de un métodos anidados.)

Page 25: Metodos,variables, pasodeparametros

Prueba de escritorio.

public class Anidados{ public static void saludo() { sal1(); sal2(); }public static void sal1(){ String a="\t -> Hola Desde El Primer Método“; System.out.println(a); }public static void sal2(){ String b="\t\t --> hola desde el segundo método"; System.out.println(b);}

public static void main(){ // 1. Se crea el registro de activación de “main”. System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); saludo(); //3.}}

1 Params.main

Page 26: Metodos,variables, pasodeparametros

public class Anidados{ public static void saludo(){ sal1(); sal2(); }public static void sal1(){ String a="\t -> Hola Desde El Primer Método"; System.out.println(a); }public static void sal2(){ String b="\t\t --> hola desde el segundo método"; System.out.println(b); }

public static void main(){ // 1. Se crea el registro de activación de “main”. System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); //2.- Realiza la impresión del mensaje saludo(); }}

1 Params.main

2 Imprime

Page 27: Metodos,variables, pasodeparametros

public class Anidados{ public static void saludo() { sal1(); sal2(); }public static void sal1(){ String a="\t -> Hola Desde El Primer Método"; System.out.println(a); }public static void sal2(){ String b="\t\t --> hola desde el segundo método"; System.out.println(b); }

public static void main(){ // 1. Se crea el registro de activación de “main”. System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); //2.- Realiza la impresión del mensaje saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

1 Params.main

2 Imprime

3 Salida

Page 28: Metodos,variables, pasodeparametros

public class Anidados{

public static void saludo() //4. Se crea el registro de activación de “saludo”.{ sal1(); sal2(); }public static void sal1(){ String a="\t -> Hola Desde El Primer Método"; System.out.println(a); }public static void sal2(){ String b="\t\t --> hola desde el segundo método"; System.out.println(b); }

public static void main(){ // 1. Se crea el registro de activación de “main”. System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); //2.- Realiza la impresión del mensaje saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

1 Params.main2 Imprime

3 Salida

4 Params.saludo

Page 29: Metodos,variables, pasodeparametros

public class Anidados{

public static void saludo() //4. Se crea el registro de activación de “saludo”. {

sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2(); }public static void sal1(){ String a="\t -> Hola Desde El Primer Método"; System.out.println(a); }public static void sal2() String b="\t\t --> hola desde el segundo método"; System.out.println(b); }

public static void main(){ // 1. Se crea el registro de activación de “main”. System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); //2.- Realiza la impresión del mensaje saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

Page 30: Metodos,variables, pasodeparametros

public class Anidados{

public static void saludo() //4. Se crea el registro de activación de “saludo”. {

sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2(); }

public static void sal1(){ //6. Se crea el registro de activación de “sal1”. String a="\t -> Hola Desde El Primer Método"; System.out.println(a); }public static void sal2(){ String b="\t\t --> hola desde el segundo método"; System.out.println(b); }

public static void main(){ // 1. Se crea el registro de activación de “main”. System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); //2.- Realiza la impresión del mensaje saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

6 Params.sal1

Page 31: Metodos,variables, pasodeparametros

public class Anidados{

public static void saludo() //4. Se crea el registro de activación de “saludo”. {

sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2(); }

public static void sal1(){ //6. Se crea el registro de activación de “sal1”. String a ="\t -> Hola Desde El Primer Método"; //7. Se crea la variable “A” con valor “Hola Desde El Primer Método” en el registro de activación de “sal1”. System.out.println(a); }public static void sal2(){ String b="\t\t --> hola desde el segundo método"; System.out.println(b); }

public static void main(){ // 1. Se crea el registro de activación de “main”. System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); //2.- Realiza la impresión del mensaje saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

6 Params.sal1

7 String a: “Hola Desde El Primer Método”

Page 32: Metodos,variables, pasodeparametros

public class Anidados{ public static void saludo() //4. Se crea el registro de activación de “saludo”. { sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2();}public static void sal1(){ //6. Se crea el registro de activación de “sal1”. String a="\t -> Hola Desde El Primer Método"; //7. Se crea la variable “A” con valor “Hola Desde El Primer Método” en el registro de activación de “sal1”. System.out.println(a); //8. Se muestra el valor de la variable “A” y salto de línea.}

public static void sal2(){ String b="\t\t --> hola desde el segundo método"; System.out.println(b); }

public static void main(){ // 1. Se crea el registro de activación de “main”. System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); //2.- Realiza la impresión del mensaje saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

6 Params.sal1

8

a -> “Hola Desde El Primer Método”

Expresiones

Hola Desde El Primer Método

Salida

7 String a: “Hola Desde El Primer Método”

Page 33: Metodos,variables, pasodeparametros

public class Anidados{ public static void saludo() //4. Se crea el registro de activación de “saludo”. { sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2(); }public static void sal1(){ //6. Se crea el registro de activación de “sal1”. String a="\t -> Hola Desde El Primer Método"; //7. Se crea la variable “A” con valor “Hola Desde El Primer Método” en el registro de activación de “sal1”. System.out.println(a); //8. Se muestra el valor de la variable “A” y salto de línea.} // 9. Termina la ejecución de “sal1” y se elimina su registro de activación.

public static void sal2(){ String b="\t\t --> hola desde el segundo método"; System.out.println(b); }

public static void main(){ // 1. Se crea el registro de activación de “main”. //2.- Realiza la impresión del mensaje System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

6 Params.sal1

8

a-> “Hola Desde El Primer Método”

Expresiones

Hola Desde El Primer Método

Salida

X7 String a: “Hola Desde El Primer Método”

9

Page 34: Metodos,variables, pasodeparametros

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

6 Params.sal1

8

a -> “Hola Desde El Primer Método”

Expresiones

Hola Desde El Primer Método

Salida

X7 String a: “Hola Desde El Primer Método”

9

10 Salida

public class Anidados{ public static void saludo() //4. Se crea el registro de activación de “saludo”. { sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2(); //10. Se invoca el método “sal2” y se marca el stack para regresar.}public static void sal1(){ //6. Se crea el registro de activación de “sal1”. String a="\t -> Hola Desde El Primer Método"; //7. Se crea la variable “A” con valor “Hola Desde El Primer Método” en el registro de activación de “sal1”. System.out.println(a); //8. Se muestra el valor de la variable “A” y salto de línea.} // 9. Termina la ejecución de “sal1” y se elimina su registro de activación.

public static void sal2(){ String b="\t\t --> hola desde el segundo método"; System.out.println(b);}

public static void main(){ // 1. Se crea el registro de activación de “main”. //2.- Realiza la impresión del mensaje System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

Page 35: Metodos,variables, pasodeparametros

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

6 Params.sal1

8

a -> “Hola Desde El Primer Método”

Expresiones

Hola Desde El Primer Método

Salida

X7 String a: “Hola Desde El Primer Método”

9

10 Salida

11 Params.sal2

public class Anidados{ public static void saludo() //4. Se crea el registro de activación de “saludo”. { sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2(); //10. Se invoca el método “sal2” y se marca el stack para regresar.}public static void sal1(){ //6. Se crea el registro de activación de “sal1”. String a="\t -> Hola Desde El Primer Método"; //7. Se crea la variable “A” con valor “Hola Desde El Primer Método” en el registro de activación de “sal1”. System.out.println(a); //8. Se muestra el valor de la variable “A” y salto de línea.} // 9. Termina la ejecución de “sal1” y se elimina su registro de activación.

public static void sal2(){ //11. Se crea el registro de activación de “sal2”. String b="\t\t --> hola desde el segundo método"; System.out.println(b); }

public static void main(){ // 1. Se crea el registro de activación de “main”. //2.- Realiza la impresión del mensaje System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

Page 36: Metodos,variables, pasodeparametros

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

6 Params.sal1

8

a -> “Hola Desde El Primer Método”

Expresiones

Hola Desde El Primer Método

Salida

X7 String a: “Hola Desde El Primer Método”

9

10 Salida

11 Params.sal2

12 String b: “hola desde el segundo método”

public class Anidados{ public static void saludo() //4. Se crea el registro de activación de “saludo”. { sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2(); //10. Se invoca el método “sal2” y se marca el stack para regresar.}public static void sal1(){ //6. Se crea el registro de activación de “sal1”. String a="\t -> Hola Desde El Primer Método"; //7. Se crea la variable “A” con valor “Hola Desde El Primer Método” en el registro de activación de “sal1”. System.out.println(a); //8. Se muestra el valor de la variable “A” y salto de línea.} // 9. Termina la ejecución de “sal1” y se elimina su registro de activación.

public static void sal2(){ //11. Se crea el registro de activación de “sal2”. String b="\t\t --> hola desde el segundo método"; //12 Se crea la variable “b” con valor “hola desde el segundo metodo ” en el registro de activación de “sal2”. System.out.println(b); }public static void main(){ // 1. Se crea el registro de activación de “main”. //2.- Realiza la impresión del mensaje System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

Page 37: Metodos,variables, pasodeparametros

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

6 Params.sal1

8

a -> “Hola Desde El Primer Método”

Expresiones

Hola Desde El Primer Método

Salida

X7 String a: “Hola Desde El Primer Método”

9

10 Salida

11 Params.sal2

12 String b: “hola desde el segundo método”

13

b -> “hola desde el segundo método”

Expresiones

hola desde el segundo método

Salida

public class Anidados{ public static void saludo() //4. Se crea el registro de activación de “saludo”. { sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2(); //10. Se invoca el método “sal2” y se marca el stack para regresar.}public static void sal1(){ //6. Se crea el registro de activación de “sal1”. String a="\t -> Hola Desde El Primer Método"; //7. Se crea la variable “A” con valor “Hola Desde El Primer Método” en el registro de activación de “sal1”. System.out.println(a); //8. Se muestra el valor de la variable “A” y salto de línea.} // 9. Termina la ejecución de “sal1” y se elimina suregistro de activación.

public static void sal2(){ //11. Se crea el registro de activación de “sal2”. String b="\t\t --> hola desde el segundo método"; //12 Se crea la variable “b” con valor “hola desde el segundo metodo ” en el registro de activación de “sal2”. System.out.println(b); //13. Se muestra el valor de la variable “b” y salto de línea.}public static void main(){ // 1. Se crea el registro de activación de “main”. //2.- Realiza la impresión del mensaje System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

Page 38: Metodos,variables, pasodeparametros

public class Anidados{ public static void saludo() //4. Se crea el registro de activación de “saludo”. { sal1(); // 5. Se invoca el método “sal1” y se marca el stack para regresar. sal2(); //10. Se invoca el método “sal2” y se marca el stack para regresar.}public static void sal1(){ //6. Se crea el registro de activación de “sal1”. String a="\t -> Hola Desde El Primer Método"; //7. Se crea la variable “A” con valor “Hola Desde El Primer Método” en el registro de activación de “sal1”. System.out.println(a); //8. Se muestra el valor de la variable “A” y salto de línea.} // 9. Termina la ejecución de “sal1” y se elimina su registro de activación.

public static void sal2(){ //11. Se crea el registro de activación de “sal2”. String b="\t\t --> hola desde el segundo método"; //12 Se crea la variable “b” con valor “hola desde el segundo metodo ” en el registro de activación de “sal2”. System.out.println(b); //13. Se muestra el valor de la variable “b” y salto de línea.} //14. Termina la ejecución de “sal1” y se elimina su registro de activación.

public static void main(){ // 1. Se crea el registro de activación de “main”. //2.- Realiza la impresión del mensaje System.out.println("Todo se imprime a partir de aquí (el main de la clase)... "); saludo(); //3. Se invoca el método “saludo” y se marca el stack para regresar.}}

1 Params.main2 Imprime

3 Salida

4 Params.saludo5 Salida

6 Params.sal1

8

a -> “Hola Desde El Primer Método”

Expresiones

Hola Desde El Primer Método

Salida

X7 String a: “Hola Desde El Primer Método”

9

10 Salida

11 Params.sal2

12 String b: “hola desde el segundo método” X

13

b -> “hola desde el segundo método”

Expresiones

hola desde el segundo método

Salida

14