0% encontró este documento útil (0 votos)
3 vistas22 páginas

Curso Java Abril2016 Tema3

Cargado por

spamincomming
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas22 páginas

Curso Java Abril2016 Tema3

Cargado por

spamincomming
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 22

2.

Programación Orientada a
Objetos en Java
Tipos Enumerados

Incluida en la versión 5 de la J2SE. Los tipos enumerados nos permiten


definir tipos de datos con valores limitados. Antes se usaban constantes. La
forma de definir un tipo enumerado es:
public class Direcciones {
public static final int NORTE = 1;
public static final int SUR = 2;
public static final int ESTE = 3;
public static final int OESTE = 4;
}

El uso de constantes conlleva problemas.


2.Programación Orientada a
Objetos en Java
Definición de tipos Enumerados

[public] enum Nombre_tipo {VALOR1,...VALORN}

Ejemplo:

enum Direcciones {NORTE, SUR, ESTE, OESTE}

Para declarar variables de tipo Direcciones:

private Direcciones orientacion;

La variable orientación sólo admitirá que se le asignen valores definidos en

la enumeración.
2.Programación Orientada a
Objetos en Java
Los tipos enumerados son un tipo especial de clase que hereda de
java.lang.Enum, NO! Permiten el uso del operador new para crear objetos.

Enum dispone de las operaciones heredadas y el método estático values().


2.Programación Orientada a
Objetos en Java
Constructores

Los tipos enumerados pueden tener constructores. Estos constructores


serán usados en la definición de cada uno de los valores de la enumeración.
Los tipos enumerados NO permiten el uso de new.
2.Programación Orientada a
Objetos en Java
Métodos

Dentro de los tipos enumerados también se pueden definir métodos.


2.Programación Orientada a
Objetos en Java
Ejemplo
2.Programación Orientada a
Objetos en Java
Número variable de argumentos

Se pueden definir métodos para recibir un número variable de argumentos.


(Disponible a partir de la versión 5 de J2SE)

Definición:
tipo... nombre_parámetro

Ejemplo:
String... cadenas

Este parámetro es un array en el que se almacenan los valores recibidos.


2.Programación Orientada a
Objetos en Java
Ejemplo
2.Programación Orientada a
Objetos en Java
Se pueden declarar tanto parámetros estándares como parámetros
variables. Lo único que se debe cumplir es que los parámetros variables se
coloquen siempre en última posición.

Ejemplo:
public void metodo1(int k, String s, int...nums) {} // Correcto
public void metodo2(int p, String... s, long f) {} // Incorrecto
2.Programación Orientada a
Objetos en Java
2.Programación Orientada a
Objetos en Java
Arrays

Un array es una estructura de datos que permite albergar varios elementos


del mismo tipo.

La longitud de un array se establece durante su creación.

Una vez establecida la longitud de un array, ya no se puede modificar.

Un elemento de un array, es el valor de una de sus posiciones, y se


identifica mediante un índice.
2.Programación Orientada a
Objetos en Java
Un array en Java, es un tipo de clase especial que hereda implícitamente de
java.lang.Object.

La declaración de un array se realiza mediante el tipo de datos que va a


albergar y los corchetes [ ].

Declaración de un array:
modificador_acceso tipo[] nombre [= valor_inicial];

Ejemplo:
private int[] numeros;
private String[] cadenas;
2.Programación Orientada a
Objetos en Java
Los arrays pueden albergar tanto tipos primitivos como tipos complejos.

Un array sin inicializar, por defecto vale null.

La creación de un array se realiza mediante la keyword: new, como con


cualquier otra clase.

Creación de un array:
modificador_acceso tipo[] nombre = new tipo[longitud];

Ejemplo:
private int[] numeros = new int[5];
private String[] cadenas = new String[4];
2.Programación Orientada a
Objetos en Java
Una vez hayamos creado un array, todas sus posiciones son inicializadas
al valor por defecto del tipo de variable que albergue.

Es decir, 0 ó 0.0 si se trataba de un número, false si se trataba de un


boolean y null si se trataba de un tipo complejo.

Existe una forma de crear un array inicializando todas sus posiciones a un


valor determinado, igualándolo a un listado de elementos separados por
comas entre { }.

El tamaño del array será el número de elementos del listado.


2.Programación Orientada a
Objetos en Java
Ejemplos:
private int[] numeros = {1,2,3,4,5};
private String[] cadenas = {“hola”,”adios”};
private Integer[] ints = {new Integer(12), new Integer(98)};

Para el acceso al elemento de un array se utiliza el nombre del array


seguido de unos [ ] con la posición a la que queremos acceder.

La primera posición de un array es la 0.

Ejemplo:
numeros[2] = 3;
int a = numeros[0];
if(numeros[4] == 5) System.out.println(“Es el cinco”);
2.Programación Orientada a
Objetos en Java
Para conocer la longitud de un array, podremos acceder a su atributo
público: length

El índice de un array es de tipo int

Al no ser dinámico, no podemos:


 Ni eliminar posiciones.
 Ni insertar posiciones.
El borrado será algo lógico, como igualar las posiciones a null, a -1, etc…..
dependerá del desarrollador.

Es imposible acceder a una posición fuera del array. Llegado el caso se


lanzará una excepción: ArrayIndexOutOfBoundException

Ya veremos el tratamiento de excepciones en otro tema.


2.Programación Orientada a
Objetos en Java
Ejemplo
2.Programación Orientada a
Objetos en Java
Arrays multidimensionales
Un array multidimensional es un array de arrays. Es decir, una matriz de 4x2
en realidad en Java está formada por 5 arrays: 1 array con 4 arrays.

Y si estuviéramos hablando de tres dimensiones entonces tendríamos un


array de arrays de arrays, pero mejor lo vamos a dejar en dos dimensiones.

Creación de un array bidimensional:


modificador_acceso tipo[][] nombre = new tipo[long][long];

Ejemplo:
private int[][] numeros = new int[4][2];
2.Programación Orientada a
Objetos en Java
Podemos tener arrays bidimensionales no cuadrados. Es decir, que la
segunda dimensión tenga longitud diferente dependiendo de la primera
dimensión.

Creación de un array bidimensional:


modificador_acceso tipo[][] nombre = new tipo[long][];

Ejemplo:
private int[][] numeros = new int[4][];
numeros[0] = new int[2];
numeros[1] = new int[10];
numeros[3] = new int[1];
2.Programación Orientada a
Objetos en Java
Al igual que ocurriera en los arrays de una dimensión, también se pueden
inicializar en la creación con un listado de valores.

Ejemplos:
private int[][] numeros = { {1,2,3} , {1,2,3} };
private String[][] dias = { {“Lunes”,”Martes”} , {“Miércoles”} };
2.Programación Orientada a
Objetos en Java
Ejemplo
2.Programación Orientada a
Objetos en Java
Ejercicio

Realizar un programa Java que lee por teclado la nota de los alumnos de
una clase y calcula la nota media del grupo. También muestra los alumnos
con notas superiores a la media. El número de alumnos se lee por teclado.

Para leer las notas y el número de alumnos por teclado utilizaremos:


import java.util.Scanner;

Scanner sc = new Scanner(System.in);
int i; i = sc.nextInt();
double n; n = sc.nextDouble();

1. Este programa utiliza un array de elementos de tipo double que contendrá las notas de los alumnos. El
tamaño del array será el número de alumnos de la clase, por lo tanto primero se pedirá por teclado el
número de alumnos y a continuación se creará el array.
2. Se realizan 3 recorridos sobre el array, el primero para asignar a cada elemento las notas introducidas
por teclado, el segundo para sumarlas y calcular la media y el tercero para mostrar los alumnos con
notas superiores a la media.

También podría gustarte