Documente Academic
Documente Profesional
Documente Cultură
int [ ] numeros;
int numeros [ ];
numeros=new int[4];
Los arrays se pueden declarar, crear e inicializar en una misma línea, del siguiente modo:
En Java es posible crear arrays con más de una dimensión, pasando de la idea de lista,
vector o matriz de una sola fila a la idea de matriz de m x n elementos, estructuras
tridimensionales, tetradimensionales, etc. La sintaxis será:
Tipo_de_variable[ ][ ] … [ ] Nombre_del_array;
Nombre_del_array = new Tipo_de_variable[dimensión1][dimensión2]…[dimensiónN];
Por ejemplo:
int[][] edad = new int[4][3];
Una matriz bidimensional puede tener varias filas, y en cada fila no tiene por qué haber el
mismo número de elementos o columnas. Los índices empiezan a partir de Cero y se
indican entre corchetes. El primer índice indica la fila y el segundo la columna.
Por ejemplo:
Para mostrar los elementos del array bidimensional escribimos el siguiente código
CLASE MATH
Ejemplos:
1. En este caso, dependiendo del tipo de dato que se le pasa, el resultado será en el
mismo tipo de dato.
int i = -9;
double x = 0.3498;
System.out.println("|" + i + "| es " + Math.abs(i));
System.out.println("|" + x + "| es " + Math.abs(x));
double x = 72.3543;
double y = 0.3498;
System.out.println(x + " es aprox. " + (double)Math.round(x*100)/100);
System.out.println(y + " es aprox. " + Math.round(y*100)/100.0);
Se obtiene 72.35 y 0.35 como cabría esperar. Fijarse que round devuelve un número
entero int que es necesario promocionar a double para efectuar la división entre 100. La
opción de colocar 100.0 en el denominador también es válida.
int i = 7;
int j = -9;
double x = 72.3543;
double y = 0.3498;
// para hallar el menor de dos número
System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j));
System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y));
// Para hallar el mayor de dos números
System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j));
System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));
9. La clase Math define una función denominada random que devuelve un número
pseudoaleatorio comprendido en el intervalo [0.0, 1.0).
Funciones Básicas:
• int length();
• String substring( int beginindex );
• String substring( int beginindex,int endindex );
• String concat( String str );
• String replace( char oldchar,char newchar );
• String toLowerCase();
• String toUpperCase();
• int compareTo( String str2 );
La clase String posee numerosas funciones para transformar valores de otros tipos de
datos a su representación como cadena. Todas estas funciones tienen el nombre de
valueOf, estando el método sobrecargado para todos los tipos de datos básicos.
• String.valueOf( boolean b );
• String.valueOf( int i );
• String.valueOf( long l );
• String.valueOf( float f );
• String.valueOf( double d );
Por ejemplo:
float f = 3.141592f;
String StrPI = String.valueOf( f );
Ejemplos:
Para obtener las sucesivas posiciones de la letra p, se llama a otra versión de la misma
función
pos=cadena.indexOf('p', pos+1);
Otra versión de indexOf busca la primera ocurrencia de un substring dentro del string.
Vemos que una clase puede definir varias funciones con el mismo nombre pero que
tienen distinto número de parámetros o de distinto tipo.
Esta porción de código devolverá que cadena1 y cadena2 son distintos objetos pero con
el mismo contenido. cadena1 y cadena2 ocupan posiciones distintas en memoria pero
guardan los mismos datos.
6. Para extraer una porción de un string dado, hay una función miembro de la
clase String denominada substring.
Para extraer un substring desde una posición determinada hasta el final del string
escribimos;
Una segunda versión de la función miembro substring, nos permite extraer un substring
especificando la posición de comienzo y la el final.
Para convertir un string en número entero, primero quitamos los espacios en blanco al
principio y al final y luego, llamamos a la función miembro estática parseInt de la
clase Integer (clase envolvente que describe los números enteros)
Para convertir un string en número decimal (double) se requieren dos pasos: convertir el
string en un objeto de la clase envolvente Double, mediante la función miembro
estática valueOf, y a continuación convertir el objeto de la clase Double en un tipo
primitivo double mediante la función doubleValue
String cadena="12";
int numero=Integer.valueOf(cadena).intValue();
EXCEPCIONES:
try
{
//Código que puede provocar errores
}
catch(Tipo1 var1)
{
//Gestión del error var1, de tipo Tipo1
}
….
catch(TipoN varN)
{
//Gestión del error varN, de tipo TipoN
}
finally
{
//Código de finally
}
Como podemos ver es obligatorio que exista la zona try, o zona de pruebas, donde
pondremos las instrucciones problemáticas. Después vienen una o más zonas catch,
cada una especializada en un tipo de error o excepción. Por último está la zona finally,
encargada de tener un código que se ejecutará siempre, independientemente de si se
produjeron o no errores.
Se puede apreciar que cada catch se parece a una función en la cual sólo recibimos un
objeto de un determinado tipo, precisamente el tipo del error. Es decir sólo se llamará al
catch cuyo argumento sea coincidente en tipo con el tipo del error generado.
Entre las excepciones más utilizadas, tenemos:
ArithmeticException
int i = 12 / 0;
NullPointerException
Se produce cuando se intenta acceder a una variable o método antes de ser definido
ArrayIndexOutOfBoundsException
Se genera al intentar acceder a un elemento de un array más allá de los límites definidos
inicialmente para ese array.
ClassCastException
IllegalArgumentException
Lanzado cuando un método recibe un argumento formateado de diferente manera del que
el método espera.
StackOverflowError
InternalException
Este error se reserva para eventos que no deberían ocurrir. Por definición, el usuario
nunca debería ver este error y esta excepción no debería lanzarse.
Ejemplos:
try
{
array[-3] = 24;
}
catch(Exception excepcion)
{
excepcion.printStackTrace();
}