Sunteți pe pagina 1din 37

Arreglos

JAVA
POO (Java) Arreglos

 Imagine un programa en el que almacene las edades de 7


personas.
int edad1 = 27;
int edad2 = 12;
int edad3 = 70;
int edad4 = 1;
int edad5 = 30;
int edad6 = 34;
int edad7 = 82;

Que pasaría si tuviese que almacenar 1000 o 10000 edades?


POO (Java) Arreglos

 Creación de un array unidimensional


 El lenguaje Java permite agrupar múltiples valores del mismo tipo
(listas) utilizando arrays unidimensionales.

 Los arrays son útiles cuando se dispone de varios datos relacionados ,


pero no se quiere crear variables distintas para guardar cada dato.

 Para acceder a un elemento puede utilizar su índice dentro del array.


POO (Java) Arreglos

 Creación de un array unidimensional


 Por ejemplo:
POO (Java) Arreglos

 Declaración de un array unidimensional

 Los array se controlan mediante un objeto Array.

 Como cualquier objeto se debe de declara una referencia al


array, instanciar un objeto Array e inicializar ese objeto para
poder utilizarlo.

 Los arreglos son entidades “estáticas” que mantienen el mismo


tamaño durante la ejecución del programa.
POO (Java) Arreglos

 Declaración de un array unidimensional

 Sintaxis:

tipo [] identificador_array;

Donde:

 tipo representa el tipo de dato primitivo o el tipo de objeto


correspondiente a los valores almacenados.
 Los corchetes [] , indican al compilador que se está declarando un
array.
 identificador_array es el nombre asignado al array.
POO (Java) Arreglos

 Instanciación de un array unidimencional

 Para inicializar un array, es preciso instanciar un objeto Array.


 Un array se instancia definiendo el número de elementos que contiene.
 La sintaxis es:
identificador_array = new tipo[ longitud];

Donde:
 identificador_array es el nombre asignado al array.
 tipo representa el tipo de dato primitivo o el tipo de objeto
correspondiente a los valores almacenados.
 longitud representa el tamaño (numero de elementos) del array.
Arreglos
 Los nombres de arreglo, como los demás nombres de variables,
pueden contener sólo letras, dígitos y guiones bajos.
 Los nombres de arreglos no pueden comenzar con un dígito.
 Para hacer referencia a una localidad o a un elemento del arreglo
en particular, especificamos el nombre del arreglo y la posición
numérica del elemento en particular dentro del arreglo.
 El primer elemento de cada arreglo es el elemento cero
POO (Java) Arreglos

 Instanciación de un array unidimencional

 Por ejemplo:

estatus = new char[20];


edades = new int[5];

nombre = new String[6];


POO (Java) Arreglos

 Instanciación de un array unidimencional

 Cuando se instancia un objeto Array cada elemento se inicializa


con el valor cero correspondiente al tipo especificado.

edades = new int[5];

 En el caso de las variables camisas y nombre, las referencias


se inicializan con null.

camisas = new Camisa[3];


POO (Java) Arreglos

 Inicialización de un array unidimencional

 La sintaxis para definir los valores de un array es:

identificador_array[indice] = valor;

Donde:
 identificador_array es el nombre asignado al array.
 indice representa el lugar del array donde se situara el valor. El
primer valor de un array se sitúa en el índice 0 y el ultimo elemento
en lugar de longitud menos 1.
 Valor es el valor que se asigna al índice n el array.
Arreglos
El primer elemento de cada arreglo es el elemento cero.

Entonces:
la referencia al primer elemento del arreglo c es c[ 0 ],
la referencia al segundo elemento del arreglo es c[ 1 ],
la referencia al séptimo elemento del arreglo es c[ 6 ],
la referencia al iésimo elemento del arreglo c es c[ i–1].

La posición numérica que


se encuentra entre
corchetes se denomina, de
manera formal, índice.
POO (Java) Arreglos

 Inicialización de un array unidimencional

 Por ejemplo:

edad[0] = 19;
edad[1] = 4;
edad[2] = 80;
edad[3] = 33;
edad[4] = 11;
POO (Java) Arreglos

 Declaración, instanciación e inicialización


de un array unidimencional

 Si conoce los valores que va a incluir en el array en el momento de


declararlo, puede declarar, instanciar y definir los valores del objeto
array en la misma línea de código.

 La sintaxis es:

tipo [] identificador_array =
{lista_de_valores_o_expresiones_separados_por_coma};
POO (Java) Arreglos

 Ejemplo
public class InicArreglo
{
public static void main( String args[]){
int arreglo[];
arreglo = new int[10];

System.out.printf(“%s%8s\n”,”Indice”,”Valor”);

for(int contador = 0; contador < arreglo.length; contador ++)


System.out.printf(“%5d%8d\n”,contador,arreglo[contador]);

}
POO (Java) Arreglos

 Establecimiento de valores de arrays utilizando el atributo length

 Todos los objetos Array tienen una variable de atributo llamado length
que contiene la longitud del array.
int [] edades;
edades = new int[10];

System.out.println(“Total de elemento : ”+edades.length);


Salida
Total de elementos: 10

 Todos los arrays empiezan con el elemento cero (0).

edades[0]=1;
POO (Java) Arreglos

 Establecimiento de valores de arrays utilizando un bucle

 Es posible utilizar el atributo length de la clase Array en la parte


condicional de un bucle para iterar en un array.

int[] edades;
edades = new int[10];

for(int contador = 0 ; contador < edades.length; contador ++){


edades[contador] = contador;
}
POO (Java) Arreglos

 Ejemplo
public class InicArreglo
{
public static void main( String args[]){
final int LONGITUD_ARREGLO = 10;
int arreglo[];
arreglo = new int[LONGITUD_ARREGLO] ;

for(int contador = 0; contador < arreglo.length; contador ++)


arreglo[ contador ] = 2 + 2 * contador;
}

System.out.printf(“%s%8s\n”,”Indice”,”Valor”);

for(int contador = 0; contador < arreglo.length; contador ++)


System.out.printf(“%5d%8d\n”,contador,arreglo[contador]);

}
POO (Java) Arreglos

 Declaración, instanciación e inicialización


de un array unidimencional

 Por ejemplo:

int [] edades = {19,42,92,33,46};

 No es posible declarar e inicializar un array en líneas diferentes.

int [] edades ;
edades = {19,42,92,33,46};
POO (Java) Arreglos

 Acceso a un valor dentro de un array


 El acceso a cada elemento de un array se realiza a través de su
índice.
 Para acceder al valor de un array, indique el nombre del array y
el numero del índice del elemento entre corchetes.
 Por ejemplo:

estatus[0] = ‘3’;

char s = estatus[0];
POO (Java) Arreglos

 Ejemplo
public class InicArreglo
{
public static void main( String args[]){
int arreglo[] = {33,43,56,78,12,45,78,25,98,9};

System.out.printf(“%s%8s\n”,”Indice”,”Valor”);

for(int contador = 0; contador < arreglo.length; contador ++)


System.out.printf(“%5d%8d\n”,contador,arreglo[contador]);

}
POO(Java) Arreglos

A1.- Elabore un programa que almacene 10 números


enteros en un arreglo unidimensional

A2.- Elabore un programa que almacene 10


números enteros en un arreglo unidimensional y que
los sume

A3.- Almacene 10 números enteros en un arreglo y


cámbielos a otro de forma inversa

A4.- Almacene 10 numero y verifique si esta en


orden creciente.

A5.- Almacene 5 numero y determine cuales son los


dos valores mas grandes y su posición
POO (Java) Arreglos

 Bucle mejorado

 Existe una forma diseñada para iterar los array.

public class ExampleFor{


int[] edades = {1,3,5,7,9,11,13,15,17,19};

int sum = 0;

for(int item : edades){


sum = sum + item;
}

System.out.println(“La suma es ”+sum);

}
POO (Java) Arreglos

 Array Bidimensional

 Es parecido a una hoja de calculo con multiples columnas y multiples


filas.
 En la siguiente figura se ilustra un array bidimensional

Domingo Lunes Martes Miercoles Jueves Viernes Sabado

Semana 1

Semana 2

Semana 3

Semana 4
POO (Java) Arreglos

 Declaración de un Array Bidimensional


 Sintaxis:

tipo [ ] [ ] identificador_array;

Donde:

 tipo representa el tipo de dato primitivo o el tipo de objeto


correspondiente a los valores almacenados en el array.
 Los corchetes [ ] [ ] , indican que es un array bidimensional.
 identificador_array es el nombre del array.
POO (Java) Arreglos

 Instanciación de un Array Bidimensional


 Sintaxis:

identificador_array = new tipo [numero_de_array ] [longitud ] ;

Donde:

 identificador_array es el nombre del array.


 numero-de_array es el numero de arrays contenidos en el array.
 longitud es la longitud de cada array dentro del array.
POO (Java) Arreglos

 Ejemplo de un Array Bidimensional


 Declaración:

int [ ][ ] aniosVentas;

 Instanciación:

aniosVentas = new int [5] [4];


Trimestre 1 Trimestre 2 Trimestre 3 Trimestre 4
Año 1

Año 2

Año 3

Año 4

Año 5
POO (Java) Arreglos

 Inicialización de un Array Bidimensional


 Ejemplo:

aniosVenta[0][0] = 1000;
aniosVenta[0][1] = 1500;
aniosVenta[0][2] = 1800;
aniosVenta[1][0] = 1000;
aniosVenta[2][0] = 1400;
aniosVenta[3][3] = 2000;
POO (Java) Arreglos

 Ejemplo de un Array Bidimensional

Trimestre 1 Trimestre 2 Trimestre 3 Trimestre 4


Año 1 1000 1500 1800

Año 2 1000

Año 3 1400

Año 4 2000

Año 5

Los array son estaticos, no cambian su tamaño una vez definido


import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int ventas[][] = new int[2 ][4];
Scanner e = new Scanner(System.in);
for(int i = 0; i<ventas.length;i++){
for(int j =0 ; j<ventas[i].length;j++){
System.out.print("Capture "+i+"-"+j+" : ");
ventas[i][j]= e.nextInt();
}
}
System.out.println("\t Trimestre 1 Trimestre 2 Trimestre 3 Trimestre 4");
for(int i = 0; i<ventas.length;i++){
System.out.print("Año "+(i+1)+"\t");
for(int j =0 ; j<ventas[i].length;j++){
System.out.printf("%10d ",ventas[i][j]);
}
System.out.println("");
}
Arreglos

 Ejercicio A6(A Y B)
 Suponga que se tiene el siguiente arreglo de números:
0 2 5 7 6
0 0 0 3 8
2 9 6 3 4
1 5 6 1 4
0 9 2 5 0
Elabore un programa en C que calcule cuantos “ceros” aparecen en
cada renglón del arreglo.
Arreglos

A7 Programa que suma filas y columnas


de una matriz:
Arreglos

 A8
Escribir un programa que lea una matriz de 3 filas y 3 columnas de
valores enteros. A continuación, el programa debe pedir el número de
una fila. El programa deberá devolver el máximo de esa fila
 A9
Escribir un programa que lea una matriz de números enteros y que
devuelva la suma de los elementos positivos de la matriz y la suma de
los elementos negativos.
 A10
Escribir un programa que lea una matriz de 4 filas y 3 columnas, la
visualice por pantalla y a continuación encuentre el mayor y el menor
elemento de la matriz y sus posiciones.
POO (Java) Arreglos

 Array Tridimensional

 En la siguiente figura se ilustra un array tridimensional

{0,1,1}

{0,0,0}
{1,1,2}
POO (Java) Arreglos

 Declaración de un Array Tridimensional


 Sintaxis:

tipo [ ] [ ][] identificador_array;

Donde:

 tipo representa el tipo de dato primitivo o el tipo de objeto


correspondiente a los valores almacenados en el array.
 Los corchetes [ ] [ ] [], indican que es un array tridimensional.
 identificador_array es el nombre del array.
POO (Java) Arreglos

 Instanciación de un Array Tridimensional


 Sintaxis:

identificador_array = new tipo [ren ] [col ][prof];

Donde:

 identificador_array es el nombre del array.


 ren es el numero de renglones
 col es nuero de columnas
 prof es la profundidad del arreglo
POO (Java) Arreglos

 Array Tridimensional

int matriz[][][]=new int[fil][col][prof];

int matriz[][][]=new int[2][3][2];

{0,1,1}

{0,0,0}
{1,1,2}

S-ar putea să vă placă și