Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 2. Metodos y Estructuras de Control
Unidad 2. Metodos y Estructuras de Control
Programa desarrollado
Programa de la asignatura:
Programacin orientada a objetos I
Unidad 2. Mtodos y estructuras de control
ndice
Propsito
En esta unidad logrars:
Describir las generalidades de los mtodos.
Distinguir los mtodos que devuelven valores contra los que no devuelven.
Manejar las estructuras de control selectivas y cclicas.
Competencia especfica
Desarrollar programas modulares para solucionar problemas diversos, mediante la
aplicacin de los diferentes tipos de variables, mtodos, y estructuras de control en
lenguaje JAVA.
00000101
byte z
contenedor de bits
Los bits representan el valor 5.
Este valor es el dato que se
almacena en memoria y se
trabajar con l durante la
ejecucin del programa.
Siguiendo lo antes expuesto, x
ser el nombre del
contenedor y byte indicar la
forma del contenedor.
Por otro lado, cuando se habla de variables referenciadas o asociadas a un objeto, los
bits representan un identificador que permite acceder al valor de la variable, es decir nos
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Se puede notar claramente que en la primer imagen (Figura 2.1.) el IDE est indicando
algn tipo de error en la lnea 21, sealando la variable con identificador a como la posible
causa. En la segunda imagen (Figura 2.2.) muestra los detalles completos de la causa del
error, el programador deber entender que no se puede encontrar el smbolo (variable)
especificado.
Hay ms normas de mbito respecto a las variables miembro de una clase, donde
intervienen los modificadores de acceso public o private. Cuando una variable es
declarada con el modificador public se accede directamente a ellas a travs de
nombre_clase.nombre_variable, y en el caso de que una variable sea declarada con el
modificador private slo se podr acceder a ella mediante los mtodos de la clase que lo
permitan.
2.2.1. Caractersticas
El hecho de que un mtodo regrese valores o no, es opcional. Cuando un mtodo no
retorna valores, se deber modificar la definicin de sus parmetros y quedar como
sigue:
void nombre_mtodo([parmetros]){
sentencia1;
sentencia2;
sentenciaN;
}
En donde se deber utilizar la palabra reservada void que le indica al compilador y al
mtodo que su valor de retorno ser vacio. Dentro del cuerpo de sus sentencias se
omite la sentencia return por no regresar valor alguno a donde fue llamado. Los
parmetros de igual manera son opcionales, aunque los parntesis van por obligacin.
10
Parmetros de entrada, que son las entradas propias del mtodo que le
ayudarn a saber sobre qu se realizarn las operaciones indicadas en las
sentencias que lo conforman, aunque este apartado se puede considerar opcional.
Parmetros de retorno, que es la respuesta que nos regresar una vez que haya
ejecutado el cuerpo de sus sentencias.
11
}
Este mtodo recibe dos parmetros de tipo entero, cuyos identificadores son base y
potencia.
12
}
As, se omiten muchas partes de los mtodos, y los que se incluyen slo son ejemplos
ilustrativos de cada uno de los puntos.
Tambin como nota importante, recordando los tipos de variables, cabe mencionar que en
Java los parmetros de tipo primitivo (int, long, double, ) siempre se pasan por valor. Las
variables de tipo objeto y arrays se pasan por referencia (referencia a su direccin de
memoria de alojamiento).
13
14
MTODO INCORRECTO
MTODO CORRECTO
15
2.4.1. If - else
La estructura de seleccin simple o if es aquella secuencia de un programa que se ve
afectada por una condicin, si la condicin es cumplida la secuencia del programa entrar
en el bloque de instrucciones de dicha estructura, de lo contrario la secuencia del
programa se saltar ese bloque de cdigo y entrar al bloque de instrucciones del else
dado que la condicin se cumpli. Esta estructura de control se conforma como sigue:
// Instrucciones previas a la condicin
if( condicin) {
Instrucciones a ejecutarse solo si la condicin se cumpli.
}
else{
Instrucciones a ejecutarse si la condicin NO se cumpli.
}
// Instrucciones a ejecutarse despus de la condicin
Las llaves se utilizan para agrupar las instrucciones que se han de ejecutar, si slo se
quiere que se ejecute una instruccin se puede omitirlas.
Es importante mencionar que las instrucciones previas y posteriores al bloque if-else se
ejecutan de manera normal, se cumpla o no la condicin, por lo que slo se altera la
secuencia del programa en ese bloque.
16
2.4.2. If anidados
La estructura If anidados es un agrandamiento de la estructura anterior (if-else), ya que se
pueden evaluar diferentes condiciones ligadas. Por ejemplo, en el tema anterior slo se
quera mostrar Aprobado o Reprobado segn una calificacin, pero ahora se quiere dar
mayor reconocimiento a los puntos obtenidos; esto se realizara de la siguiente manera:
package ejemplos;
/**
* @author ESAD
*/
public class estructuraIF {
public static void main(String[] args) {
int calificacion=90;
if(calificacion> 90 && calificacion <= 100){
System.out.print("Excelente");
}
else if(calificacion >80 && calificacion <= 90){
17
18
Las caractersticas ms relevantes de switch son las siguientes (Gosling, J., Holmes, D. &
Arnold, K., 2001):
1. Cada sentencia case se corresponde con un nico valor de expresin. No se
pueden establecer rangos o condiciones, sino que se deben comparar con valores
concretos.
2. Los valores no comprendidos en ninguna sentencia case se pueden gestionar en
default, que es opcional.
3. En la ausencia de break, cuando se ejecuta una sentencia case se ejecutan
tambin todas las case que van a continuacin, hasta que se llega a un break o
hasta que termina el switch.
Se muestra un ejemplo a continuacin:
package ejemplos;
import javax.swing.JOptionPane;
/**
* @author ESAD
*/
public class ejemploSwitch {
public static void main(String[] args) {
int mes= Integer.parseInt(JOptionPane.showInputDialog("Cul es el nmero del mes"));
switch(mes){
case 1: System.out.print("Enero");
break;
case 2: System.out.print("Febrero");
break;
case 3: System.out.print("Marzo");
break;
case 4: System.out.print("Abril");
break;
case 5: System.out.print("Mayo");
break;
case 6: System.out.print("Junio");
break;
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
19
20
2.5.1. While
El ciclo while tiene como caracterstica que primero evala la condicin y slo si se
cumple realiza las instrucciones, de tal forma que si la condicin no es cumplida desde un
inicio el control del programa no entrar en el bloque de instrucciones que se encuentran
dentro del ciclo. Su declaracin es como se muestra a continuacin:
while (condicion){
Bloque de Instrucciones a repetir
}
La condicin que se d, deber ser evaluada verdadera para que el control del programa
ingrese al bloque de instrucciones y deber llegar en algn punto a que esa misma
condicin se evale falsa y salga del bloque repetitivo. Si se plantea mal la condicin y
21
2.5.2. Do - while
El ciclo do-while permite la ejecucin del bloque repetitivo al menos una vez, se cumpla o
no la condicin, pues ejecuta primero el bloque do y al finalizarlo evala la condicin, si
sta se cumple regresa a ejecutar nuevamente el bloque do, de lo contrario termina la
ejecucin, como se observa a continuacin:
do{
Bloque de instrucciones a repetir
}
While(condicion);
Veamos el siguiente ejemplo:
package ejemplos;
import javax.swing.JOptionPane;
/**
* @author ESAD
*/
public class ejemploDoWhile {
public static void main(String[] args) {
22
2.5.3. For
El ciclo for es especialmente til cuando de antemano se conoce el nmero de veces que
se quiere ejecutar el mismo bloque de instrucciones, su declaracin es como sigue:
for(inicio ; condicin; incremento){
Bloque de instrucciones repetitivas
}
Inicio: se debe colocar un valor numrico donde comenzar el conteo de ejecuciones.
Condicin: se coloca la condicin a evaluar en cada iteracin del ciclo para que se siga
ejecutando el nmero de veces que se cumpla esta condicin, pues en el momento que la
condicin se evale como falsa el ciclo dejar de repetirse.
Incremento: esta instruccin se evala como si fuese la ltima del bloque de
instrucciones e indica el incremento o decremento de la variable numrica de inicio para
reevaluar la condicin en cada iteracin.
Veamos el ejemplo:
package ejemplos;
import javax.swing.JOptionPane;
23
Otro punto importante respecto al ciclo for es que se puede anidar, esto se refiere a que
es posible utilizar un ciclo dentro de otro, a manera de explicacin observa el siguiente
cdigo y su salida:
package ejemplos;
import javax.swing.JOptionPane;
/**
* @author ESAD
*/
public class forAnidado {
public static void main(String[] args) {
int n= Integer.parseInt(JOptionPane.showInputDialog("Cuantos temas son"));
int m= Integer.parseInt(JOptionPane.showInputDialog("Cuantos subtemas contiene
cada tema"));
for(int i=1; i<=n; i=i+1){
for(int j=1; j<=m; j=j+1){
System.out.print(i+","+j);
System.out.print("\n");
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
24
25
Al realizar los cambios comentados es posible observar que la salida nos muestra los 5
nmeros, pero de manera descendente.
Autoevaluacin
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta
segunda unidad del curso, es necesario que resuelvas la autoevaluacin de la unidad.
26
Cierre de la unidad
Has concluido la unidad 2 del curso! A lo largo de sta has visto lo que es una variable,
su mbito y declaracin, as como las generalidades de los mtodos, sus caractersticas,
llamadas y los tipos de parmetros que se manejan. Posteriormente te involucraste
conociendo las estructuras de control selectivas, como lo son el If-else, If anidado y
switch-case.
Al final de la unidad tambin se revisaron las estructuras de control cclicas while, do-while
y for, cuyo propsito ha sido que obtengas conocimientos sobre estructuras de control y
logres aplicarlas en la resolucin de problemas y creacin de programas para dichas
soluciones.
27
Es aconsejable que revises nuevamente la unidad en caso de que los temas que se
acaban de mencionar no te sean familiares o no los recuerdes, de no ser este tu caso, ya
ests preparado(a) para seguir con la Unidad 3. Caractersticas de POO y excepciones,
en donde continuars con la revisin de herencia, polimorfismo y excepciones en un
programa JAVA. Todo ello con el fin de obtener el conocimiento necesario para comenzar
a realizar pequeos programas computacionales al final de la cuarta y ltima unidad del
curso de Programacin Orientada a Objetos I.
Para saber ms
Consulta la pgina oficial del lenguaje JAVA http://www.java.com/es/, donde podrs
encontrar manuales de referencia sobre los mtodos, variables, estructuras de control
selectivas y de repeticin.
Fuentes de consulta
Garca, J., Rodrguez, J., Mingo, I., Imaz, A., Brazlez, A., Larzabal, A. et al.
(2000). Aprenda JAVA como si estuviera en primero. Espaa: Escuela Superior de
Ingenieros, TECNUM. Recuperado el 1 de Marzo del 2011, de
http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf
Gosling, J., Holmes, D. & Arnold, K. (2001). El lenguaje de programacin Java TM.
Madrid: Addison-Wesley. Recuperado el 1 de marzo del 2011, de
http://icesecurity.org/programacion/JAVA/Libro_Java-SP.pdf
28