Sie sind auf Seite 1von 79

MTODOS Y ESTRUCTURAS DE CONTROL

Clase 4 13 de Septiembre de 2010

Contenido
El Lenguaje Java Comentarios mbito de variables

Operadores Relacionales Lgicos Mtodos Estructuras de Control Estructura if-else Estructura switch
EISC
Universidad del Valle Slide 2

Comentarios
Los comentarios son sentencias que permiten aclara las lneas de cdigo de un programa en Java. Los comentarios no son tenidos en cuenta por el compilador, es decir, todo lo que est en un comentario ser ignorado. Existen dos tipos de comentarios: // Esto es un comentario, esta lnea ser ignorada /* Este es un comentario de varias lneas, es decir todo lo que est entre estos dos smbolos es ignorado. */
EISC
Universidad del Valle Slide 3

Comentarios
/* Esta clase permite ingresar los datos para una pelcula y obtener el valor de recargo para una cantidad de das especificada por el usuario */
Public class Pelicula{ // declaracionde los atributos String genero; String titulo; int duracionMin; int valorRecargo; // declaracin de los mtodos Public void ingresarDatos(){ // cdigo del mtodo ingresarDatos } Public void calcularRecargo(intdiasRecargo){ } // cdigo del mtodo diasRecargo }

EISC
Universidad del Valle Slide 4

mbito de variables
mbito de una Variable: Se refiere a la parte del programa donde dicha variable es conocida y, por tanto se puede usar.
Hay tres mbitos distintos: Atributo: puede ser usado en cualquier mtodo de la clase Variable local: su alcance es dentro de las llaves donde es creada. Parmetro de un mtodo: su alcance es dentro del mtodo.

EISC
Universidad del Valle Slide 5

mbito de variables
public class Pelicula{ // declaracion de los atributos String genero; int duracionMin; int valorRecargo;

// declaracin de los mtodos public void ingresarDatos(){ String mensaje = Ingreso Exitoso; genero=JOptionPane.showInputDialog(Digite genero); duracionMin=Integer.parseInt(JOptionPane.showInputDialog(Digite duracion)); JOptionPane.showMessageDialog(null, mensaje); }
public void calcularRecargo(intdiasRecargo){ int recargo; recargo = diasRecargo* valorRecargo;
JOptionPane.showMessageDialog(null, El valor del recargo es + recargo);

} }
EISC
Universidad del Valle Slide 6

mbito de variables
public class Pelicula{ // declaracion de los atributos String genero; int duracionMin; int valorRecargo;

Atributo

// declaracin de los mtodos public void ingresarDatos(){ String mensaje = Ingreso Exitoso; genero=JOptionPane.showInputDialog(Digite genero); duracionMin=Integer.parseInt(JOptionPane.showInputDialog(Digite duracion)); JOptionPane.showMessageDialog(null, mensaje); } parmetro
public void calcularRecargo(intdiasRecargo){ int recargo; recargo = diasRecargo* valorRecargo;
JOptionPane.showMessageDialog(null, El valor del recargo es + recargo);

Variable local

} }
EISC
Universidad del Valle Slide 7

Operadores Relacionales
Los Operadores Relacionales actan sobre valores enteros, reales y caracteres. Estos operadores retorna (devuelven) un valor de tipo booleano.

Operador
== != > < >= <=
EISC
Universidad del Valle

Significado
Igualdad lgica Diferente Mayor que Menor que Mayor o igual que Menor o igual que
Slide 8

Operadores Relacionales

EISC
Universidad del Valle Slide 9

Operadores Relacionales
Cual es el valor de result en cada una de las lneas? boolean result; result result result result result result result result result
EISC
Universidad del Valle Slide 10

= = = = = = = = =

5 > 2; 10 > 20; 5 >= 3; 10 <= 10; 3 == 1; 12 != 10; 5.5 > 5.3 3.2 <= 3.1 13.3 != 13.1

Operadores Relacionales
Cual es el valor de result en cada una de las lneas? boolean result; result result result result result result result result result
EISC
Universidad del Valle Slide 11

= = = = = = = = =

5 > 2; 10 > 20; 5 >= 3; 10 <= 10; 3 == 1; 12 != 10; 5.5 > 5.3 3.2 <= 3.1 13.3 != 13.1

//true //false //true //true //false //true //true //false //true

Operadores Lgicos
Los Operadores lgicos actan sobre operadores expresiones lgicas, como las tablas de verdad. Retornan (devuelven) un valor de tipo booleano.

Operador
|| && !

Significado
OR AND NOT

EISC
Universidad del Valle Slide 12

Operadores Lgicos

EISC
Universidad del Valle Slide 13

Operadores Lgicos
Cual es el valor de result en cada una de las lneas? boolean result; int a, b; a = 3; b = 5;

result result result result Result


EISC
Universidad del Valle

= = = = =

a b a b a

> > > > >

0 0 0 0 5

&& && || || ||

a b a b b

< < < < <

5; 4; 5; 4; 3;
Slide 14

Operadores Lgicos
Cual es el valor de result en cada una de las lneas? boolean result; int a, b; a = 3; b = 5;
result result result result Result = = = = = a b a b a > > > > > 0 0 0 0 5 && && || || || a b a b b < < < < < 5; 4; 5; 4; 3; //true && true = true //true && false = false //true || true = true //true || false = true //false || false = false

EISC
Universidad del Valle Slide 15

Mtodos en Java
Los mtodos son las operaciones o funciones que pueden realizar los objetos o las clases.

EISC
Universidad del Valle Slide 16

Mtodos en Java
Los mtodos son las operaciones o funciones que pueden realizar los objetos o las clases.

Operaciones
Matemticas

numero1 nuemro2
sumar() restar() dividir()

EISC
Universidad del Valle Slide 17

Mtodos en Java
Cmo se escribe un mtodo en java?

EISC
Universidad del Valle Slide 18

Mtodos en Java
Cmo se escribe un mtodo en java?
Operaciones Matemticas public void sumar ( ) {

contenido del mtodo


}

numero1 nuemro2
sumar() restar() dividir()

EISC
Universidad del Valle Slide 19

Mtodos en Java
Cmo se escribe un mtodo en java?
Operaciones Matemticas public void sumar ( ) {

contenido del mtodo


} public void restar( ) {

numero1 nuemro2
sumar() restar() dividir()

contenido del mtodo


}

EISC
Universidad del Valle Slide 20

Mtodos en Java
Cmo se escribe un mtodo en java?
Operaciones Matemticas public void sumar ( ) {

contenido del mtodo


} public void restar( ) {

numero1 nuemro2
sumar() restar() dividir()

contenido del mtodo


} public void dividir( ) {

contenido del mtodo


}

EISC
Universidad del Valle Slide 21

Mtodos en Java
Un mtodo es:
Un bloque de cdigo que tiene un nombre, Recibe unos parmetros o argumentos (opcionalmente), Contiene sentencias o instrucciones para realizar algo, y Devuelve un valor de algn Tipo de dato conocido (opcionalmente). Tiene un modificador de acceso La sintaxis global es:
modificador TipoDeDatoDeValorDevuelto nombreMtodo(lista_argumentos ){

sentencias o instrucciones de cdigo;


}
EISC
Universidad del Valle Slide 22

Mtodos en Java
Partes de un mtodo en java:
public void sumar ( )
{

contenido del mtodo


}

EISC
Universidad del Valle Slide 23

Mtodos en Java
Partes de un mtodo en java:
public
{ void sumar ( )

contenido del mtodo


}

EISC
Universidad del Valle Slide 24

Mtodos en Java
Partes de un mtodo en java: public
{ void sumar ( )

contenido del mtodo


}

Modificador de acceso:
public - Todo el mundo puede acceder al elemento, es decir, usarlo e invocarlo (llamarlo). private - Slo se puede acceder invocarse el mtodo desde otro mtodo de la clase. protected - proporciona acceso pblico para las clases derivadas y acceso privado (prohibido) para el resto de clases. (en herencia)
EISC
Universidad del Valle Slide 25

Mtodos en Java
Partes de un mtodo en java:
public {

void

sumar ( )

contenido del mtodo


}

Tipo de dato del valor devuelto: void : El mtodo no devuelve nada String, int, double, float, boolean, char
EISC
Universidad del Valle Slide 26

Mtodos en Java
Partes de un mtodo en java:
public void
{

sumar

( )

contenido del mtodo


}

Nombre del mtodo: Especificado por el programador, el cual debe ser relacionado con las operaciones que se realizan en el mtodo.
EISC
Universidad del Valle Slide 27

Mtodos en Java
Partes de un mtodo en java:
public void sumar
{

( )

contenido del mtodo


}

Lista de argumentos o parmetros recibidos: Hay mtodos que reciben algunos valores para poder hacer operaciones con ellos. Si son varios se separan con comas,
EISC
Universidad del Valle Slide 28

Mtodos en Java
Partes de un mtodo en java:
public void calcularValor(n1,n2,n3)
{

operacin = (n1*n2)/n3;
}

Este mtodo recibe 3 argumentos, ntese que estn separados por comas
EISC
Universidad del Valle Slide 29

Mtodos en Java
Ejemplo de mtodos que reciben parmetros:
JOptionPane.showInputDialog(null,"Digite el nmero de horas trabajadas")

EISC
Universidad del Valle Slide 30

Mtodos en Java
Ejemplo de mtodos que reciben parmetros:
JOptionPane.showInputDialog(null,"Digite el nmero de horas trabajadas" )

EISC
Universidad del Valle Slide 31

Mtodos en Java
Ejemplo de mtodos que reciben parmetros:
JOptionPane.showInputDialog(

null,"Digite el nmero de horas trabajadas")

Ubicacin en pantalla

EISC
Universidad del Valle Slide 32

Mtodos en Java
Ejemplo de mtodos que reciben parmetros:
JOptionPane.showInputDialog(null,"Digite

el nmero de horas trabajadas")

Dato de tipo String

EISC
Universidad del Valle Slide 33

Mtodos en Java
Ejemplo de mtodos que reciben parmetros:
JOptionPane.showInputDialog(null,"Digite el nmero de horas trabajadas")

parseInt(JOptionPane.showInputDialog(null,"Digite lnumero de horas trabajadas"));

EISC
Universidad del Valle Slide 34

Mtodos en Java
Ejemplo de mtodos que reciben parmetros:
JOptionPane.showInputDialog(null,"Digite el nmero de horas trabajadas")

parseInt(JOptionPane.showInputDialog(null,"Digite lnumero de horas trabajadas"));

Dato de tipo String

EISC
Universidad del Valle Slide 35

Cmo se escribe un objeto en Java?


Operaciones
Matemticas

numero1 nuemro2
sumar() restar() dividir()

OperacionesMatematicas objOperaciones = new OperacionesMatematicas()

EISC
Universidad del Valle Slide 36

Cmo se escribe un objeto en Java?


Operaciones
Matemticas

numero1 nuemro2
sumar() restar() dividir() OperacionesMatematicas objOperaciones = new OperacionesMatematicas()

Nombre de la clase de la que se quiere crear el objeto


EISC
Universidad del Valle Slide 37

Cmo se escribe un objeto en Java?


Operaciones
Matemticas

numero1 nuemro2
sumar() restar() dividir()
OperacionesMatematicas

objOperaciones

= new OperacionesMatematicas()

Nombre del objeto


EISC
Universidad del Valle Slide 38

Cmo se escribe un objeto en Java?


Operaciones
Matemticas

numero1 nuemro2
sumar() restar() dividir()
OperacionesMatematicas objOperaciones =

new OperacionesMatematicas()

Palabra reservada de java que representa que se va a crear un nuevo objeto


EISC
Universidad del Valle Slide 39

Cmo se escribe un objeto en Java?


Operaciones
Matemticas

numero1 nuemro2
sumar() restar() dividir()
OperacionesMatematicas objOperaciones = new

OperacionesMatematicas()

Llamado al mtodo constructor de la clase


EISC
Universidad del Valle Slide 40

Cmo se escribe una relacin de uso?


A B

atributo1 atributo2
metodo1ClaseA() metodo2ClaseA() metodo1() metodo2() metodo3()

EISC
Universidad del Valle Slide 41

Cmo se escribe una relacin de uso?


A B

atributo1 atributo2
metodo1ClaseA() metodo2ClaseA() metodo1() metodo2() metodo3()

Cuando se dice que la clase A usa la clase B, quiere decir que en algn mtodo de la clase A, se tiene un objeto de la clase B, para as poder llamar (invocar) los mtodos que tiene la clase B.

EISC
Universidad del Valle Slide 42

Cmo se escribe una relacin de uso?


A B

atributo1 atributo2
metodo1ClaseA() metodo2ClaseA()

metodo1() metodo2() metodo3()

Cuando se dice que la clase A usa la clase B, quiere decir que en algn mtodo de la clase A, se tiene un objeto de la clase B, para as poder llamar (invocar) los mtodos que tiene la clase B. Public void metodo1ClaseA(){ B objClaseB = new B(); objClaseB.metodo1(); objClaseB.metodo3(); }
EISC
Universidad del Valle Slide 43

Cmo se escribe una relacin de uso?


Calculadora Operaciones
Matemticas

main()

numero1 numero2
sumar() restar() dividir()

EISC
Universidad del Valle Slide 44

Cmo se escribe una relacin de uso?


Calculadora Operaciones
Matemticas

main()

numero1 numero2
sumar() restar() dividir()

public static void main(String a[]){


OperacionesMatematicas objOperaciones = new OperacionesMatematicas()

objOperaciones.sumar(); objOperaciones.restar(); objOperaciones.dividir(); }


EISC
Universidad del Valle Slide 45

Estructuras de control (if- else, switch)

EISC
Universidad del Valle Slide 46

Estructuras de Control

La forma de tomar decisiones en un programa es a travs de las estructuras de control

EISC
Universidad del Valle Slide 47

Estructuras de Control

Las estructuras de control son elementos del lenguaje de programacin que nos permiten tomar decisiones en un programa. Hay dos estructuras de control en Java: if-else switch

EISC
Universidad del Valle Slide 48

Estructuras if-else

EISC
Universidad del Valle Slide 49

Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no

EISC
Universidad del Valle Slide 50

EISC
Universidad del Valle Slide 51

Paso3: Diagrama de clases

Integer Persona
int edad parseInt() ingresarEdad() determinarMayoriaEdad()

Principal

main()

EISC
Universidad del Valle Slide 52

Paso 4: Hacer Algoritmos

Mtodo ingresarEdad inicio edad = pedirAlUsiarioElValorDeLaEdad fin

EISC
Universidad del Valle Slide 53

Instruccin if - else
Mtodo DeterminarMayoraDeEdad

inicio
Si la edad que el usuario digit es menor que 18

EISC
Universidad del Valle Slide 54

Instruccin if - else
Mtodo DeterminarMayoraDeEdad

inicio
Si la edad que el usuario digit es menor que 18 muestre el mensaje Es menor de edad

EISC
Universidad del Valle Slide 55

Instruccin if - else
Mtodo DeterminarMayoraDeEdad

inicio
Si la edad que el usuario digit es menor que 18 muestre el mensaje Es menor de edad

Sino
muestre el mensaje Es mayor de edad

EISC
Universidad del Valle Slide 56

Instruccin if - else
Mtodo DeterminarMayoraDeEdad

inicio
Si ( edad <18 ) muestre un mensaje indicando Es menor de edad

Sino
muestre un mensaje indicando Es mayor de edad fin
Las condiciones en Java se colocan entre parntesis

EISC
Universidad del Valle Slide 57

Instruccin if - else
Si ( edad <18 )

JOptionPane.showMessageDialog(null,Es menor de edad);


Sino JOptionPane.showMessageDialog(null,Es mayor de edad);

EISC
Universidad del Valle Slide 58

Instruccin if - else
if ( edad <18 ){

JOptionPane.showMessageDialog(null,Es menor de edad);


} sino{

JOptionPane.showMessageDialog(null,Es mayor de edad);


}

EISC
Universidad del Valle Slide 59

Instruccin if - else
if ( edad <18 ){

JOptionPane.showMessageDialog(null,Es menor de edad);


} else{

JOptionPane.showMessageDialog(null,Es mayor de edad);


}

EISC
Universidad del Valle Slide 60

Problema: Desarrollar una aplicacin Java que solicite la edad de una persona e indique si es mayor de edad o no

int edad; edad = Integer.parseInt(JOptionPane.showInputDialog(Digite su edad));

EISC
Universidad del Valle Slide 61

import javax.swing.*; public class Persona{ int edad;


public void ingresarEdad(){ }

edad = Integer.parseInt(JOptionPane.showInputDialog("Digite su edad "));

public void determinarMayoraDeEdad(){ if (edad<18){ JOptionPane.showMessageDialog(null,"Usted es menor de edad"); } else{ JOptionPane.showMessageDialog(null,"Usted es mayor de edad"); }

EISC
Universidad del Valle Slide 62

import javax.swing.*; public class Principal{


public static void main(String a[]){ Persona unaPersona = new Persona(); unaPersona.IngresarEdad(); unaPersona. determinarMayoraDeEdad(); System.exit(0); } }

EISC
Universidad del Valle Slide 63

Resumen: Instruccin if - else


if (condicin) {

conjunto de instrucciones que se deben realizar si se


cumple la condicin }

else {
conjunto de instrucciones que se deben realizar si no se cumple la condicin }

EISC
Universidad del Valle Slide 64

Instruccin if - else
Problema: Desarrollar una aplicacin Java que solicite un nmero entero y determine si es positivo

EISC
Universidad del Valle Slide 65

import javax.swing.*; public class Numero{ int numero; public void IngresarNumero(){ numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un nmero"));

public void determinarPositivo(){ if (numero>0){ JOptionPane.showMessageDialog(null, numero + es positivo"); } } }

EISC
Universidad del Valle Slide 66

import javax.swing.*; public class Numero{ int numero; public void IngresarNumero(){ numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un nmero"));

public void determinarPositivo(){ if (numero>0){ JOptionPane.showMessageDialog(null, numero + es positivo"); } } }


No en todos los casos se coloca else

EISC
Universidad del Valle Slide 67

Instruccin if - else
Problema: Desarrollar una aplicacin Java que solicite un nmero entero y determine si es igual, o no, a 1000

EISC
Universidad del Valle Slide 68

Instruccin if - else
Problema: Desarrollar una aplicacin Java que lea un nmero real y determine si pertenece, o no, al rango [10.24-200.21]

EISC
Universidad del Valle Slide 69

Instruccin if - else
Problema: Desarrollar una aplicacin Java que solicite la edad de un usuario y muestre un mensaje indicando si es menor de edad, adulto o pertenece a la tercera edad Menor de edad [1-18) Adulto [18-60)

Tercera edad [60-100)

EISC
Universidad del Valle Slide 70

Instruccin if - else
Problema: Desarrollar una aplicacin Java que dado un nmero entero indique el mes correspondiente. Si es un nmero de mes no vlido, se le debe indicar al usuario

EISC
Universidad del Valle Slide 71

Instruccin if - else
Problema: Desarrollar una aplicacin Java que lea dos nmeros reales (A y B) y que determine si: A es mayor que B

A es igual a B A es menor que B

EISC
Universidad del Valle Slide 72

Instruccin if - else
Problema: Desarrollar una aplicacin Java que lea dos nmeros reales (A y B) y que determine si: A es mayor que B

A es igual a B A es menor que B

EISC
Universidad del Valle Slide 73

Instruccin switch
Existen ocasiones donde se exige evaluar muchas condiciones a la vez, en estos casos, o se usan una condicin compuesta muy grande o se utiliza la instruccin switch();

EISC
Universidad del Valle Slide 74

Instruccin switch
La instruccin switch() es una instruccin de decisin mltiple, dnde se busca el valor contenido en una variable contra una lista de constantes (int o char), cuando el computador encuentra el valor de igualdad entre variable y constante, entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un default.

EISC
Universidad del Valle Slide 75

Instruccin switch

EISC
Universidad del Valle Slide 76

Instruccin switch
switch(variable int o char) { case const1 : instruccines; break; case const2 : instruccines; break; case const3 : instruccines; break; default : instruccines; };

EISC
Universidad del Valle Slide 77

Instruccin switch
Problema: Desarrollar una aplicacin Java que lea el nombre de un plato que usted desea comprar, y me diga cuanto vale ese plato. Los datos de precio segn el plato se encuentran en la siguiente tabla:
Numero
1 2 3 sancocho bandeja paisa arroz mixto $ 8.000 $ 10.000 $ 12.000

4
5

ajiaco
Trucha asada

$ 7.500
$ 18.000

EISC
Universidad del Valle Slide 78

import javax.swing.*;
public class Plato{

int plato;
public void ingresarPlato() { plato= Integer.parseInt(JOptionPane.showInputDialog("Digite un nmero del plato que desea: \n 1- Sancocho \n 2- bandeja paisa \n 3- arroz Mixto \n 4- ajiaco \n 5- Trucha asada ")); } Public void calcularVAlor(){ switch(plato)

{
case 1

case 2
case 3 case 4

case 5
default

: JOptionPane.showMessageDialog(null, break; : JOptionPane.showMessageDialog(null, break; : JOptionPane.showMessageDialog(null, break; : JOptionPane.showMessageDialog(null, break; : JOptionPane.showMessageDialog(null, break; : JOptionPane.showMessageDialog(null,

el sancocho vale $8.000");

la bandeja paisa vale $10.000");


el arroz mixto vale $12.000"); el ajiaco vale $7.500");

La trucha asada vale $18.000");


ingrese un numero de 1 a 5");

}
EISC

};

Universidad del Valle

Slide 79