Sie sind auf Seite 1von 4

Arrays y cadenas de caracteres (String)

Tanto los arrays como las cadenas son tipos de objetos privilegiados en Java ya que existen facilidades que simplifican su manejo Por ejemplo se proporcionan primitivas que simplifican su creacin y su inicializacin La clase String se incluye en el API estndar de Java dentro del paquete bsico java.lang

Cadenas y Arrays

Java

Arrays y Cadenas

BFM

Java

Arrays y Cadenas

BFM

Cadenas
La clase java.lang.String implementa cadenas Las cadenas son objetos constantes e inmutables Su tamao es constante Cambiar una cadena significa construir una nueva Creacin de cadenas String saludo = hola; // creacin de una cadena asignando un literal String cadena = new String(); // creacin de una cadena vaca Diversos constructores
String( String cadena ); String( char array[] ); String( char array[],int desplazamiento,int cuenta );

Comparacin de cadenas
Con equals() se sabe si dos cadenas son iguales Con == se comparan referencias Se diferencia entre maysculas y minsculas Con equalsIgnoreCase() no se diferencia entre maysculas y minsculas Con compareTo() se obtiene <0, 0, >0 segn el argumento sea menor, igual o mayor que la cadena Con toLowerCase() y con toUpperCase() se convierte una cadena a minculas o maysculas respectivamente

Longitud de la cadena con el mtodo length()

System.out.println(longitud de la cadena: + saludo.length());


BFM 3 Java Arrays y Cadenas BFM 4

Java

Arrays y Cadenas

Operaciones con cadenas


Se pueden concatenar con el operador + Es el nico operador sobrecargado en Java

Cadenas y objetos
Con valueOf() se obtiene una representacin de cadena de una variable u objeto

saludo = saludo + que tal;

Cuando se concatenan cadenas se realiza copia de los operandos Una cadena se puede concatenar con cualquier otro valor de otro tipo de datos Con charAt(indice ) se obtiene el carcter situado en la posicin ndice de la cadena La primera posicin de una cadena, si existe, es la posicin 0 Tiene otros muchos mtodos de utilidad => consultar en la API de Java
Java Arrays y Cadenas BFM 5 Java

Conversin directa de un tipo bsico en cadena Llamada a toString() para cualquier otro objeto

Todos los objetos tienen el mtodo toString() heredado de Object

Redefiniendolo se puede obtener una representacin como cadena del objeto (muy til en depuracin)
public class Punto { int x; int y; public Punto(int x, int y) { this.x = x; this.y = y;} public String toString() { return Punto[ + x + , + y + ]; } public static void main(String args[]) { Punto punto = new Punto(2,3); System.out.println( "visualizar datos del punto+ punto );}}

Arrays y Cadenas

BFM

API de String
Method Summary
char int int int String boolean contentEquals(StringBuffer sb) charAt(int index)

Arrays
Coleccin de variables todas del mismo tipo

Returns the character at the specified index.


compareTo(Object o)

Tamao fijo Pueden ser variables simples o referencias a objetos tipoValor [] variableArray; tipoValor variableArray [];
int vector[]; int [] vector; int vector[10]; // vector es un array de enteros // igual que la declaracin anterior // ERROR: no se especifica el tamao en la declaracin

Compares this String to another Object.


compareTo(String anotherString)

Compares two strings lexicographically.


compareToIgnoreCase(String str)

Declaracin de variables array: dos alternativas


Compares two strings lexicographically, ignoring case considerations.


concat(String str)

Concatenates the specified string to the end of this string.

Array de tipos bsicos de datos Definicin: reserva de la memoria para el array Antes de usarse, un array tiene que crearse (con new):
int vector[] = new int[10]; // array de 10 enteros: vector[0]..vector[9]

Returns true if and only if this String represents the same sequence of characters as the specified StringBuffer.

static Str ing static Str ing boolean boolean boolean

copyValueOf(char[] data)

Returns a String that represents the character sequence in the array specified.
copyValueOf(char[] data, int offset, int count)

Returns a String that represents the character sequence in the array specified.
endsWith(String suffix)

Tests if this string ends with the specified suffix.


equals(Object anObject)

Compares this string to the specified object.


equalsIgnoreCase(String anotherString) Compares this String to another String, ignoring case considerations.

En este momento se especifica el tamao del array (que no forma parte del tipo de datos)
7 Java Arrays y Cadenas BFM 8

Java

Arrays y Cadenas

BFM

Acceso a los elementos y arrays de objetos


Acceso a los elementos del array

Arrays de tipos simples y de objetos


Tipos simples
int [] array; // reserva de memoria array= new int[10]; array null array 0 1 2

variableArray[indice]
primer elemento indice 0

Declaracin de arrays de objetos


String S[]; String S,T[]; String[] S,T;

// un array de cadenas -- Referencias a cadenas // S es una cadena y T un array de cadenas // Ambos, S y T, son arrays de cadenas

Objetos

9 arrayCadenas null null null null 0 1 2

String [] arrayCadenas; // Definicin: reserva de memoria para las referencias a los objetos arraysCadenas = new String[10]; arrayCadenas // iniacilizacin reserva de memoria para los objetos del array for (int i=0; i<arrayCadenas.length; i++) arrrayCadenas[i] = new String(); arrayCadenas 0 1 2

null

Java

Arrays y Cadenas

BFM

Java

Arrays y Cadenas

BFM

10

Arrays
Tamao de un array: miembro length
A.length // correcto A.length() // ERROR: no se usan parntesis for (int i = 0; i < A.length; i++) A[i]=i;

Arrays multidimensionales
Array de arrays Declaracin, definicin e inicializacin
int[][] array; // creacin de la referencia array = new int[2]; // array con dos filas for (int i = 0; i < array.length; i++) array[i] = new int[5]; // cada fila puede tener distinto tamao

Comprobacin automtica de lmites del array

Si se intenta acceder fuera de los lmites del array (entre 0 y length-1), se produce la excepcin IndexOutOfBoundsException.
int[] arrayNumeros = { 147, 323, 89 };

Se puede especificar una lista de inicializacin

Cada fila puede tener un tamao diferente

Si todas las filas tienen el mismo tamao


array = new int[2][5]; // lo mismo que las dos sentencias anteriores

No se utiliza el operador new y no se especifica el tamao Se pasa la referencia al array (como con todos los objetos) Una variable de tipo String[] puede almacenar cualquier array de cadenas de cualquier tamao
BFM 11 Java

El paso de los arrays a los mtodos es por referencia

Se permiten declaraciones parciales en las que al final pueden existir dimensiones sin especificar
int[][] arrayPar = new int[3][];

El tamao del array no es parte del tipo

Java

Arrays y Cadenas

Arrays y Cadenas

BFM

12

Arrays multidimensionales
Inicializacin mediante listas

Arrays
Los arrays son la nica coleccin directamente implementada en Java Implementa directamente los interfaces Serializable y Clonable
static int[] cloneArray(int original[]) { return (int[])original.clone(); }
int[] array = { 2, 3, 4}; int[] otro= (int[])array.clone(); for (int i=0; i<array.length; i++) System.out.println("num: "+array[i]); otro[2]=2; for (int i=0; i<otro.length; i++) System.out.println("num: "+otro[i]);
13 Java Arrays y Cadenas BFM 14

int[][] array = { {79, 87, 94, 82, 67}, {98, 87, 81, 74, 91} };
array

79 87 94 82 67
0,0 0,1 0,2 0,3 0,4

98 87 81 74 91
1,0 1,1 1,2 1,3 1,4

Arrays Una vez que se reserva el espacio de memoria el tamao de un array no puede cambiar
String[] miArray = new String[20]; miArray = new String[10]; // correcto se pierde la referencia al array anterior miArray.length = 30; // ERROR - no permitido

Java

Arrays y Cadenas

BFM

Das könnte Ihnen auch gefallen