Vous êtes sur la page 1sur 10

Programacin Orientada a Objetos con Java

OOP
Arreglos y Mtodos

Ing. Jess Bernardo Olavarria Paz

OOP con Java


Arreglos Mtodos

2
Ing. Jess Bernardo Olavarria Paz

Arreglos
Un arreglo es un grupo de posiciones de memoria contiguas, todas las cuales tienen el mismo nombre y el mismo tipo. float[] x; float x[]; x = new float[10];

OOP con Java

19 15 18 24 12

Ing. Jess Bernardo Olavarria Paz

Caractersticas
Los arreglos se crean con el operador new seguido del tipo y nmero de elementos. Se puede acceder al nmero de elementos de un array con la variable miembro implcita length (por ejemplo vector.lenght) Se accede a los miembros de un arreglo con los corchetes [] y un ndice que varia de 0 a length-1.

OOP con Java

Ing. Jess Bernardo Olavarria Paz

Inicializacin
Los arrays se pueden inicializar con los valores entre llaves {...} separados por comas. Creacin de una referencia a un array. Son posibles dos formas: double[ ] x; double x[ ]; Creacin del array con el operador new. x = new double[6]; Las dos etapas anteriores se pueden unir en una sola double[ ] x = new double[10];
Ing. Jess Bernardo Olavarria Paz

OOP con Java

Ejemplos
crear un array de 10 enteros, que por defecto se inicializan a cero. int v[ ] = new int[10]; crear arrays inicializandolos con determinados valores int v[ ] = {1,2,3,4,5,6,7,8}; String dias[ ]={lunes ,martes...}

OOP con Java

Ing. Jess Bernardo Olavarria Paz

Arreglos Bidimensionales
En java una matriz es una vector de vectores fila, o mas en concreto un vector de referencias a los vectores fila. Con este esquema, cada fila podra tener un nmero de elementos diferentes. Se puede crear directamente en la forma: int [ ][ ] mat = new int[3][4]; O bien se puede crear de modo dinmico dando los siguiente pasos: Crear la referencia indicando con un doble corchete que es una referencia a matriz, int[ ][ ] mat ; Crear el vector de referencias a la filas, mat = new int[nfilas ][ ]; Reservar espacios de memoria para los vectores correspondientes a las filas; for(int i=0; i<=nfilas ; i++) mat[i] = new int[ncols ];
Ing. Jess Bernardo Olavarria Paz

OOP con Java

Ejemplos
double mat[ ][ ] = new double[3][3]; int [ ][ ]b = {{1,2,3},{3,5,7},}; int [ ][ ]c =new [3][] ; c[0] = new int[5]; c[1] = new int[5]; c[2] = new int[5]; En el caso de una matriz b, b.length es el numero de filas y b[0].length es el numero de columnas de la fila 0.

OOP con Java

Ing. Jess Bernardo Olavarria Paz

Ejemplo: Ordenacin
public class OrdenaArreglo{ public static void main(String[]args ) throwsIOException{ int[ ] num = new int[10]; int temp; String valor; BufferedReader br = new BufferedReader; System.out.println("Ingres numeros :"); for(int i=0;i<num.length;i++){ valor=br.readLine(); num[i]=Integer.parseInt(valor); } for(int i=0;i<num.length;i++) for(int j=i+1;j<num.length;j++) if(num[i]>=num[j]){ temp=num[j]; num[j]=num[i]; num[i]=temp; } for(int i=0;i<num.length;i++) System.out.println("El numero :"+i+"\t es :"+num[i]); } Ing. Jess Bernardo Olavarria Paz }

OOP con Java

Mtodos
La mejor forma de crear y mantener un programa es construirlo a partir de piezas mas pequeas o mdulos. Los mdulos en Java se llaman mtodos y clases. Los programas en java se escriben combinando mtodos nuevos que el programador escribe con mtodos preempacados disponibles en la API de Java. Un mtodo se puede crear para definir tareas especificas que se puedan utilizar en muchos puntos del programa, un mtodo se invoca con una llamada de mtodo.

OOP con Java

Ing. Jess Bernardo Olavarria Paz

Mtodos de la Clase Math


Mtodos abs(x) ceil(x) cos(x) exp(x) floor(x) log(x) max(x,y) min(x,y) pow(x,y) sin(x,y) sqrt(x) tan(x) Mtodo exponencial e Redondea x al entero ms grande no mayor que x Logaritmo natural de x Valor mayor de x y y Valor menor de x y y X elevado a la potencia y Floor(9.2) es 9 Valor absoluto de x Redondear x al entero ms pequeo no menor que x ceil(9.2) es 10 Descripcin Ejemplo

OOP con Java

Ing. Jess Bernardo Olavarria Paz

Mtodos de la Clase Math


Los mtodos de la clase Math permiten al programador realizar ciertos clculos matem ticos comunes. Invocacin : System.out.println(Math.sqrt(900.0)) Los argumentos de los mtodos pueden ser: Constantes, Variables, Expresiones Ejemplo: c1 = 13.0; d = 3.0; f = 4.0; System.out.println(Math.sqrt(c1+d*f))
Ing. Jess Bernardo Olavarria Paz

OOP con Java

Definicin de un Mtodo
[public|private] [static] tipoMetodo nombreMetodo ( [lista de parametros])

OOP con Java

Ing. Jess Bernardo Olavarria Paz

Ejemplo: mtodo para calcular el mximo de 3 nmeros


public class Maximos { static BufferedReader br = new BufferedReader;; public static void main(String[] args ) throws IOException{ int num1,num2,num3,max; System.out.println("Ingrese tres numeros "); num1=Integer.parseInt(br.readLine()); num2=Integer.parseInt(br.readLine()); num3=Integer.parseInt(br.readLine()); max=maximo(num1,num2,num3); System.out.println("El mayor es :"+max); } public static int maximo(int x, int y, int z){ return Math.max(x,Math.max(y,z)); } }
Ing. Jess Bernardo Olavarria Paz

OOP con Java

Ejemplo: mtodo para ordenar


public static void ordena(int l[]){ int temp; for(int i=0;i<l.length;i++) for(int j=i+1;j<l.length;j++) if(l[i]>l[j]){ temp=l[j]; l[j]=l[i]; l[i]=temp; } } }// fin de la clase
Ing. Jess Bernardo Olavarria Paz

OOP con Java

Pasar Objetos a Mtodos


Java pasa objetos por referencia, cuando se pasa un elemento de un tipo de dato sencillo a un mtodo, Java pasa una copia de los datos, que se llama paso por valor. Dado que el mtodo solo obtiene una copia del elemento de los datos, el cdigo del mtodo no puede afectar al elemento del dato original.
public class Impresion { void Imprimir(Circulo c){ System.out.println(El Area es: "+c.Area()); System.out.println(La Circunsferencia es: "+c.circunsf()); } }
Ing. Jess Bernardo Olavarria Paz

OOP con Java

Devolver Objetos desde Mtodos


Se pueden devolver objetos desde mtodos, igual que ocurre con otros tipos de datos. Cuando se crea un nuevo objeto usando el operador new, ese objeto no es destruido cuando el mtodo que lo cre queda fuera del alcance, y el objeto, por s mismo, no est a disposicin del recolector de basura hasta que haya ms referencia a l.
public class Persona { public Saludo getNombre(){ return new Saludo(); } } public class Saludo { public String Nombre = "Hola Jesus"; } public class Test05 { public static void main(String arg[]){ Persona p = new Persona(); Saludo s = p.getNombre(); System.out.println(s.Nombre); } } Ing. Jess Bernardo Olavarria Paz

OOP con Java

Pasar Arreglos a Mtodos


Se pasa un array a un mtodo de la misma forma como se pasa una variable simple, pero hay que tener en cuenta que los array se pasan por referencia, no por valor, lo que significa que si se cambia un array pasado a un mtodo, el array original tambin se ve afectado.
public static void Ordenar(int nota[]){ int i,j,temp; for(i=0;i<nota.length;i++){ for(j=i+1;j<nota.length;j++){ if(nota[i]<nota[j]){ temp = nota[i]; nota[i] = nota[j]; nota[j] = temp; } } } Ing. Jess Bernardo Olavarria Paz

OOP con Java

Devolver Arreglos desde Mtodos


Se pueden devolver arrays desde mtodos igual que se pueden devolver objetos y tipos de datos sencillos.
public class Notas { public int[] notas(int N[]){ int temp; for(int i=0;i<N.length;i++){ for(int j=i+1;j<N.length;j++){ if(N[i]<N[j]){ temp = N[i]; N[i] = N[j]; N[j] = temp; } } } return N; } }
Ing. Jess Bernardo Olavarria Paz

OOP con Java

Ejercicios
Ingresar N nmeros y luego mostrarlos Ingresar N notas en un arreglo y calcular el puntaje total y el promedio del alumno. Ordene un conjunto de datos de mayor a menor Ingresar N nmeros y mostrar los nmeros pares y su respectiva suma total de pares.

OOP con Java

Ing. Jess Bernardo Olavarria Paz

Vous aimerez peut-être aussi