t9 - tipos datos estructurados

22
Tema 9 Tipos de datos estructurados

Upload: daniel-santiago-martinez

Post on 03-Jul-2015

2.440 views

Category:

Education


1 download

TRANSCRIPT

Page 1: T9 - Tipos datos estructurados

Tema – 9Tipos de datos estructurados

Page 2: T9 - Tipos datos estructurados

9.1. Introducción

• En este tema veremos algunos de los mecanismos que Java ofrece para la creación de tipos de datos compuestos. Éstos se construyen, en un principio, a partir de los tipos de datos elementales predefinidos por el lenguaje.– Arrays (vectores)

– Matrices

– Cadenas de caracteres, o strings

PROGRAMACIÓN – Daniel Santiago 2

Page 3: T9 - Tipos datos estructurados

9.2. Arrays

• Un array es una colección de datos del mismo tipo, referenciados mediante un mismo nombre, y almacenados en posiciones de memoria contiguas, de forma que, la dirección de memoria más baja corresponde a la del primer elemento del array, y la dirección de memoria más alta corresponde a la del último elemento.

PROGRAMACIÓN – Daniel Santiago 3

Page 4: T9 - Tipos datos estructurados

9.2. Arrays

• Declaración:tipo_de_datos [] nombre_array = new tipo_de_datos

[tamaño];

– tipo_de_datos indica el tipo de los datos almacenados en el array (int, char, float…).

– []: son los caracteres propios de la declaración de un array. Sin ellos, se declararía una variable simple del tipo indicado anteriormente.

– nombre_array es el identificador que usaremos para referirnos al array, así como a cada uno de sus elementos.

– tamaño: indica el número de datos que contendrá el array.

PROGRAMACIÓN – Daniel Santiago 4

Page 5: T9 - Tipos datos estructurados

9.2. Arrays

• Representación gráfica de un array:

– Ejemplo: int [] edades = new int [10];

Posiciones del array

Contenido del array

PROGRAMACIÓN – Daniel Santiago 5

0 1 2 3 4 5 6 7 8 9

15 16 24 14 28 54 38 53 23 3

Page 6: T9 - Tipos datos estructurados

9.2. Arrays

• Consulta:

– Para acceder al contenido de una posición concreta del array, utilizamos la siguiente notación:

nombre_array[índice];

• El índice representa la posición que ocupa un elemento dentro del array y se especifica mediante una expresión entera.

PROGRAMACIÓN – Daniel Santiago 6

Page 7: T9 - Tipos datos estructurados

9.2. Arrays

• Consulta:

– Ejemplo:

int [] edades = new int [10];

int i, valor;

valor = edades[1]; //Accedemos a la posición 1 del array

valor = edades[i]; //Accedemos a la posición ‘i’ del array

//El valor de la variable ‘i’ debe estar //comprendido entre 0 y 9.

PROGRAMACIÓN – Daniel Santiago 7

Page 8: T9 - Tipos datos estructurados

9.2. Arrays

• Asignación:– La asignación de valores a los elementos de un

array se realiza de forma similar a como se consultan.

– Ejemplo:int [] edades = new int [10];

edades[0] = 15;

edades[1] = 16;

edades[9] = 3;

PROGRAMACIÓN – Daniel Santiago 8

Page 9: T9 - Tipos datos estructurados

9.2. Arrays

• Java permite realizar la declaración y la asignación de forma simultánea.

• Ejemplo:

int [] edades = {10, 64, 51, 82, 43};

/*En este caso se crea un array de 5 posiciones. No hace falta indicarle el tamaño directamente, sino que se hace al escribir los valores que conforman el array*/

PROGRAMACIÓN – Daniel Santiago 9

Page 10: T9 - Tipos datos estructurados

9.2. Arrays

• Podemos saber el tamaño de un arrayutilizando la función length que proporciona Java.

• Ejemplo:

int [] edades = new int [10];

System.out.println(“El tamaño del array es“ + edades.length);

//La línea anterior imprimirá por pantalla 10

PROGRAMACIÓN – Daniel Santiago 10

Page 11: T9 - Tipos datos estructurados

9.3. Matrices

• Las matrices son arrays con dos dimensiones. Por lo tanto, las operaciones de declaración, acceso, inicialización, etc. son similares a las de los arrays.

PROGRAMACIÓN – Daniel Santiago 11

Page 12: T9 - Tipos datos estructurados

9.3. Matrices

• Declaración:tipo_de_datos [tam1][tam2] nombre_matriz = new

tipo_de_datos [tam1][tam2];

– tipo_de_datos indica el tipo de los datos almacenados en la matriz(int, char, float…).

– nombre_matriz es el identificador que usaremos para referirnos a la matriz, así como a cada uno de sus elementos.

– tam1 indica el número de filas de la matriz.

– tam2 indica el número de columnas de la matriz.

PROGRAMACIÓN – Daniel Santiago 12

Page 13: T9 - Tipos datos estructurados

9.3. Matrices

• Representación gráfica de una matriz:

– Ejemplo: int [][] matriz = new int [N][M];

PROGRAMACIÓN – Daniel Santiago 13

Page 14: T9 - Tipos datos estructurados

9.3. Matrices

• Consulta:

– Para acceder al contenido de una posición concreta de la matriz, utilizamos la siguiente notación:

nombre_matriz[índice1][índice2];

• Usamos dos índices, uno para cada dimensión. El primero representa la fila y el segundo la columna en que se encuentra dicho elemento.

PROGRAMACIÓN – Daniel Santiago 14

Page 15: T9 - Tipos datos estructurados

9.3. Matrices

• Consulta:– Ejemplo:

int [][] matriz = new int [5][10];

int i, j, valor;

valor = matriz[0][0]; //Accedemos a la primera posición //de la matriz

valor = matriz[i][j]; //Accedemos a la posición ‘i,j’ de la //matriz. El valor de la variable ‘i’ //debe estar comprendido entre 0 y 4.

//El valor de la variable ‘j’ debe estar //comprendido entre 0 y 10

PROGRAMACIÓN – Daniel Santiago 15

Page 16: T9 - Tipos datos estructurados

9.3. Matrices

• Asignación:– La asignación de valores a los elementos de una

matriz se realiza de forma similar a como se consultan.

– Ejemplo:int [][] matriz = new int [5][10];

matriz[0][0] = 15;

matriz [0][1] = 16;

matriz[4][9] = 3;

PROGRAMACIÓN – Daniel Santiago 16

Page 17: T9 - Tipos datos estructurados

9.3. Matrices

• Asignación:– Podemos asignar valores a una matriz, como con los

arrays, recorriendo secuencialmente todos sus elementos utilizando dos bucle, cada uno con una variable índice.

– Ejemplo:int [][] matriz = new int[5][10];int i, j; //Las variables i j son índices (filas y

//columnas)for(i=0; i< 5; i++)

for(j=0; j<10;j++)matriz[i][j] = 0; //Inicializamos todas las posiciones

//de la matriz con el valor 0

PROGRAMACIÓN – Daniel Santiago 17

Page 18: T9 - Tipos datos estructurados

9.3. Matrices

• Asignación:

– A continuación se muestra como inicializar la matriz en la propia declaración.

– Ejemplo:

int [][] matriz = {{24, 12, 6, 56},{17, 6, 15, 28}};

//Hemos creado una matriz de 2 filas y 4 columnas.

PROGRAMACIÓN – Daniel Santiago 18

Page 19: T9 - Tipos datos estructurados

9.4. Strings

• Los Strings, o cadenas de caracteres, son arrays de tipo carácter (char).

• La clase String forma parte del paquete "java.lang". En la API de JDK se puede encontrar la documentación detallada de esta clase.

PROGRAMACIÓN – Daniel Santiago 19

Page 20: T9 - Tipos datos estructurados

9.4. Strings

• Declaración:– Mediante el operador "new":

String s = new String("Esto es un string");

– Directamente sin el operador "new":String s = "Esto es una cadena de caracteres ";

• Es importante ver que el valor que asignamos a un String se pone entre comillas dobles (a diferencia de los caracteres simples, que se hace con comillas simples).

PROGRAMACIÓN – Daniel Santiago 20

Page 21: T9 - Tipos datos estructurados

9.4. Strings

• Otra forma de declaración es a través de un array de caracteres:

char letras[] = {‘H’, ‘o’, ‘l’, ‘a’};

String saludo = new String(letras);

• O leer del teclado:

String saludo = br.readLine();

PROGRAMACIÓN – Daniel Santiago 21

Page 22: T9 - Tipos datos estructurados

9.4. Strings

• La clase String incluye varios métodos, entre ellos podemos encontrar para:– Examinar los caracteres de la secuencia

individualmente.

– Comparar strings.

– Realizar búsquedas en strings.

– Extraer substrings.

– Crear una copia de un string.

– Cambiar mayúsculas por minúsculas y viceversa.

PROGRAMACIÓN – Daniel Santiago 22