Fundamentos De Java
Enviado por nemonado • 29 de Octubre de 2012 • 4.715 Palabras (19 Páginas) • 332 Visitas
Tema 4. TRABAJANDO CON ARREGLOS
Resumen
Se estudiara el uso de arreglos y cadenas en la solución de problemas en Java.
4.1. DEFINICION DE ARREGLOS
4.1.1 Definición
Un arreglo es una colección de variables del mismo tipo.
La longitud de un arreglo es fijo cuando se crea.
Elemento 0 [0] Valor = 1
Elemento 1 [1] Valor = 2
Elemento 2 [2] Valor = 4
Elemento 3 [3] Valor = 8 1
2
4
8
Pasos de la creación de arreglos de primitivas
Se declara el arreglo
Inicialmente la variable referencia un valor nulo
int[] potencias; //forma mas usada
int potencias[];
potencias-> null
Se crea el arreglo
Se requiere la longitud del arreglo
potencias = new int[4];
En caso de variables primitivas se inician en 0 o false. Las primitivas no se pueden operar con el valor null.
En caso de variables referencia se inician en null. No referencian a ningún objeto.
potencias-> 0
0
0
0
Se inicia los valores del arreglo
Se asignan valores elemento por elemento
potencias[0] = 1;
potencias[1] = 2;
potencias[2] = 4;
potencias[3] = 8;
Los arreglos pueden ser creados e iniciados al mismo tiempo
int[] potencias = {1,2,4,8};
potencias-> 1
2
4
8
Los arreglos son muy usados para buscar datos, especialmente si se conocen sus valores cuando se crean.
int[] diasMesesAnioBisiesto = {31,29,31,30,31,30,31,31,30,31,30,31};
4.1.2. Practica Guiada
Los elementos de un arreglo inician con el valor por defecto de una primitiva.
La propiedad length del arreglo es su longitud.
Cual es el resultado los siguientes bloques.
Encuentre 3 errores en el siguiente código.
// bloque 1
int[] numeros = new int[5];
System.out.println(numeros.length-1); // 4
// bloque 2
int[] truco = new int[3];
System.out.println(truco[0]); // 0
// bloque 3
int[] cubos = {1, 8, 27, 64, 125};
int indice = cubos.length; // 5
System.out.println(cubos[indice]); // Error el índice va de 0 a 4, n
to
// bloque 4
int[] pares = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
int cantidad = 0;
while (cantidad < 10) { //while (pares[cantidad] != null) {
cantidad++;
}
// bloque 5
char[] vocales;
System.out.println(vocales.length); // Falta inicializar
Encuentre cuatro errores en el siguiente código
1. int[] a= new int[20];
2. float[] b= new float[10];
3. int a2 = new int[20];
4. int[] b2 = new float[10]; // No asigne float a int
5. a[2] = -5;
6. a[4] = 10;
7. int k = a[6];
8. a[k] = 20;
9. a[20] = 0; // El índice va de 0 a 19: ArrayIndexOutOfBoundsException
10. a[3] = 1.1; // No asigne decimales a números enteros
Errores:
• Ocurre ArrayIndexOutOfBoundsException cuando el índice del arreglo es incorrecto.
• Ocurre NullPointerException cuando se intenta acceder a un elemento no inicializado.
• Una primitiva no se puede comparar o asignar con un valor null(aplica a objetos).
• Solo las referencias se comparan con null (sólo objetos).
4.2. ARREGLOS MULTIDIMENSIONALES
Se trata de arreglos de arreglos y se declara de la siguiente forma:
tipo[][] nombreArreglo =
new tipo[cantidadFilas][cantidadColumnas];
int[][] tabla = new int[4][2];
tabla[0][0] = 1;
tabla ->
[0]
[1]
[2]
[3]
tabla[0]
tabla[1]
tabla[2]
tabla[3]
->
->
->
-> 1 7
3 5
4 8
0 0
Definir una matriz de enteros colocando como valores la suma de su numero de fila y columna en la matriz
{
int n= 10;
int p= 20;
double[][] m = new double[n][p];
for (int i= 0; i<n; i++)
for (int j= 0; j<p; j++)
m[i][j]= i+j;
}
4.3. LABORATORIO
4.3.1 Ejercicio
Se tiene en un arreglo las notas del examen parcial de 10 alumnos. Encuentre la mínima y máxima nota.
Notas.java
package ejercicios;
public class Notas {
public static void main(String[] args) {
int[] notas = {12, 04, 07, 18, 10, 15, 05, 16, 18, 11};
int i = 1;
double min= 20.1;
double max= 00.0;
while (i < 10) {
...
}
System.out.println(max);
System.out.println(min);
}
}
4.3.2. Ejercicio
Se cuenta con los arreglos siete y ocho
Multiplicar el primer elemento del arreglo siete con el primer elemento del arreglo ocho y así sucesivamente. Almacenar el resultado en otro arreglo y muéstrelo.
Matriz.java
package ejercicios;
public class Matriz {
public static void main(String[] args) {
int[] siete = {7,17,27,37,47,57,67,77,87,97,107};
int[] ocho = {8,18,28,38,48,58,68,98,108,118,198};
...
}
}
4.4. CADENAS.
4.4.1. Definición.
Una cadena es una secuencia de caracteres
La librería String (o clase String) se usa para definir todas las cadenas en Java.
Las cadenas se delimitan con comillas dobles.
//
System.out.println("Hola Mundo.");
String camara = "Camara";
String luces = camara +" Accion";
String vacio = "";
//
4.4.2. Construccion de cadenas.
También se puede usar la siguiente sintaxis para construir cadenas.
// con una constante
String nombreEmpleado = new String("R. Daneel Olivaw");
// con una cadena vacia
String inicio = new String();
// copiando una cadena
String copiaEmpleado = new String(nombreEmpleado);
// con un arreglo de char
char[] vocales
...