Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arreglos
Un arreglo es una secuencia de datos del mismo tipo Los datos se llaman elementos del arreglo y se numeran 0, 1, 2, ... Estos nmeros localizan al elemento dentro del arreglo y se denominan ndices En Java, los ndices del arreglo empiezan con 0 y terminan con el tamao del arreglo -1 Si el arreglo tiene n elementos, se denotan como a[0], a[1], ... a[n-1]
Declaracin de un arreglo
Ejemplos: char cad[], p; int [] v, w; double [] m, t[], x; En la declaracin del arreglo no se permite indicar el nmero de elementos, as, int numeros[12] es erroneo
Sintaxis para definir arreglo de un nmero determinado de elementos: Ejemplo: float notas = new float [26]; int [] a; a = new int[10]
tipo nombreArreglo[] = new tipo [numeroDeElementos] tipo nombreArreglo[]; nombreArreglo = new tipo[numeroDeElementos];
Java considera cada arreglo como un objeto El nmero de elementos de un arreglo se conoce accediendo al campo length double [] v = new double [15] System.out.print(v.length); // escribe 15 El campo length est protegido, no se puede modificar
Inicializacin de arreglos
Se deben asignar valores a los arreglos antes de utilizarlos, por defecto se inicializan con 0
precios[0] = 10; precios[1] = 20; precios[2] = 30;
int numeros[]={10, 20, 30, 40, 50, 60}; char c[]={'L','u','i','s'}; final int ENE=31, FEB=28, MAR=31,ABR=30; int meses[]={ENE, FEB, MAR, ABR}; for(i=0; i<numeros.length; i++) numeros[i] = -1;
Copia de arreglos
v1[i]=(int)Math.random()*199+1;
Arreglos multidimensionales
Los arreglos vistos son unidimensionales, se conocen tambin como listas (vectores) Los arreglos multidimensionales tiene ms de una dimensin. Los de dos dimensiones, se llaman tablas o matrices Sintaxis:
<tipo datoelemento> <nombreArreglo>[][] <tipo datoelemento> [][] <nombreArreglo> char pantalla[][]; pantalla = new int[10][5];
Arreglo bidimensional
Es un arreglo de arreglos, es decir, un arreglo unidimensional donde cada elemento es un arreglo Arreglo de 4 renglones y 2 columnas: int tabla[][]=new int[4][2]; si cada entero ocupa 4 bytes:
Elemento
Tabla[0][0] Tabla[0][1] Tabla[1][0] Tabla[1][1] Tabla[2][0] Tabla[2][1] Tabla[3][0] Tabla[3][1]
int []a={1,3,5}, b={2,4,6,8,10}; int mtb[][]={a, b}; double [][]gr=new double[3][]; gr[0]=new double[3]; gr[1]=new double[6]; gr[2]=new double[5];
En un arreglo bidimensional tabla, length de tabla contiene el nmero de renglones, y length de cada rengln contiene el nmero de columnas
float ventas[][]={{0.,0.,0.},{1.0,1.0},{-1.0}};
System.out.print(ventas.length); //escribe 3
System.out.print(ventas[0].length); //escribe 3 System.out.print(ventas[1].length); //escribe 2 System.out.print(ventas[2].length); //escribe 1
nombreArreglo[renglon][columna] = valor;
variable = nombreArreglo[renglon][columna]; Tabla[2][3]=4.5; Resistencias[2][4]=50; Ventas = Tabla[1][1]; Dia = Semana[3][6]; for(ren=0; ren < Matriz.length; ++ren) for(col=0; col<Matriz[ren].length; ++col) Procesar elemento Matriz[ren][col];
Lectura y visualizacin
import input.Keyboard; class Tabla { public static void main(String[] a){ int[][]=new int[3][5]; leer(a); visualizar(a); } static void leer(int b[][]){ Int i,j; System.out.println(Mete datos a matriz); for(i=0;i<b.length; i++){ System.out.println(Rengln: +i); for(j=0;j<b[i].length; j++) b[i][j]=Keyboard.readInt(); } }
Java proporciona la posibilidad de almacenar varias dimensiones, por ejemplo un arreglo de tres dimensiones Un arreglo tridimensional:
int volumen[][][]=new[181][178][190];
Y Z
System.arraycopy
arraycopy(Object src, int srcPos, Object dest, int destpos, int length) Copia un arreglo desde el arreglo fuente especificado, empezando en la posicin especificada, hasta la posicin especificada del arreglo destino El nmero de componentes copiados es igual al argumento length. Los componentes en las posiciones srcPos hasta srcPos+length-1 en el arreglo fuente se copian en las posiciones destPos hasta destPos+length-1, respectivamente, del arreglo destino.
Variables y su alcance
El alcance de variables es la regin de un programa dentro del cual la variable puede ser invocada a travs de su nombre. El alcance tambin determina el tiempo en que el programa aparta memoria o la libera para la variable. El alcance es diferente a la visibilidad
La visibilidad est relacionada a las variables consideradas como atributos y determina si la variable puede ser utilizada fuera de la clase dentro de la cual es declarada.
Variables y su alcance
La localizacin de la declaracin de una variable dentro de un programa define su alcance. La declaracin puede considerarse como:
Variables miembro (atributos de la clase) Variables locales Parmetros de mtodos Parmetros de manejo de excepciones
Variables y su alcance
public class Prueba{ private <variable miembro (atributo)> public void metodo( <parmetros de mtodo>) { ........... < variables locales > catch (<parmetros de excepcin >{ ..................... ..................... } ............ ............
Alcance de variables miembro (atributos) Alcance de parmetros de mtodos Alcance de variables locales Alcance de parmetros de manejo de excepciones
} }
Son miembros de una clase y a su vez de objetos instanciados de ella. Son declaradas dentro de la clase pero fuera de algn mtodo o constructor. Su alcance es la declaracin de la clase completa. Su declaracin necesita aparecer antes de que sea utilizada. Se recomienda declarar todas al inicio de la clase.
Variables Locales
Son declaradas dentro de un bloque de cdigo {.......} El alcance de una variable local se extiende desde su declaracin hasta el fin del bloque donde fue declarada. Por ejemplo, todas las variables declaradas dentro del mtodo main () de alguna clase son variables locales.
Parmetros de mtodos
Son parmetros formales para mtodos o constructores. El alcance del parmetro es el mtodo o constructor completo al cual pertenece.
Son semejantes a los parmetros de mtodos. En este caso, son argumentos a un manejador de excepciones. Su alcance es desde el inicio hasta el final del bloque correspondiente a la palabra reservada catch {......}
Ejemplo
if (...) { int i = 17; ... } System.out.println("El valor de es: i = " + i);
// error
La ltima lnea no compila porque la variable local i se encuentra fuera de su alcance. El alcance est entre los corchetes {...} La variable i deja de existir despus del corchete de cierre }. Para evitar el error, la declaracin de i debe moverse fuera del if o la del println() dentro del if
clase X X X X
subclase X* X
paquete X X X
El mundo