Está en la página 1de 5

18/04/2004

3.7 Caracteres, String


y Otros Tipos de
Datos

3.7.1 Arreglos

Arreglos, Character, String,


StringBuffer, Number, Date

Arreglos en Java
l
l
l

Arreglos en Java son agrupaciones ordenadas de


elementos
Los elementos pueden ser tipos primitivos o
referencias (incluso referencias a otros arreglos)
Las dimensiones de un arreglo se omiten en la
declaracin de variables
l
l

Los ndice varan desde 0 a largo-1


l

La dimensin se determina en la creacin del arreglo


Tamao permanece fijo despus de su creacin

Ejemplo de un Arreglo
public class demoArreglo {
public static void main(String[] args) {
// declarar un arreglo de enteros
int[] unArreglo;
// crear un arreglo de enteros
unArreglo = new int[10];
// asigna un valor a cada elemento del arreglo e imprime
for ( int i = 0; i < unArreglo.length ; i + +) {
anArray[i ] = i;
System.out.print(unArreglo[i] + " ") ;
}
System.out.println();
}
}

Acceso ilegal lanza IndexOutOfBoundsException

Los arreglos no se pueden derivar

Uso de Arreglos

Arreglo de Arreglos

Declaracin de un Arreglo (sin tamao)

public class ArregloDeArreglo {

tipo[] variable;
Creacin de un arreglo vaco (especifica tamao)
l variable = new tipo[tamao];

Creacin e inicializacin rpida

public static void main(String[] args) {


String[][] cartoons = {
{"Flintstones ","Fred" ,"Wilma" ,"Pebbles", "Dino" } ,
{"Rubbles ","Barney"," Betty"," Bam Bam " },
{"Jetsons ","George","Jane","Elroy "," Judy ","Rosie ","Astro" },
{"Scooby Doo Gang ","Scooby D o o"," Shaggy" ,"Velma" ,"Fred", "Daphne" }
};
for ( int i = 0; i < cartoons.length; i++ ) {
System.out.print(cartoons[i][0] + ": ");
for ( int j = 1; j < cartoons[i].length; j++)
System.out.print(cartoons[i][j] + " ");
System.out.println();
}
}
}

tipo[] variable = {val0 , val1 , ... , valn-1 };

Acceso a un elemento del arreglo


variable[indice]

Tamao del arreglo


l

variable.length

Flintstones: Fred Wilma Pebbles Dino


Rubbles: Barney Betty Bam Bam
Jetsons: George Jane Elroy Judy R o s i e Astro
Scooby D o o Gang: Scooby Doo Shaggy Velma Fred Daphne

18/04/2004

Copiado de Arreglos
l

Para copiar un arreglo se puede usar mtodo


arraycopy de System :
l

public static void arraycopy(


Object fuente,
int indiceFuente,
Object destino,
int indiceDestino,
int largo)

Ejemplo de Copia de Arreglos


public class DemoCopiaArreglos {
public static void main(String[] args) {
char[] copiarDesde = { 'd', 'e', 'c', 'a', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' };
char[] copiarA = new char[7];

}
}

cafeina

Utilidades para arreglos


l

l
l
l

static
static
static
static
l

int binarySearch(<tipo>[] a, <tipo> key)


boolean equals(<tipo>[] a, <tipo>[] a2)
void fill(<tipo>[] a, <tipo> val)
void sort(Object[] a)

Los objetos deben implementar la interfaz java.util.Comparable

Clases Bsicas para


Caracteres
l
l

3.7.2 Caracteres y
Strings

Clase utilitaria java.util.Arrays


l

System.arraycopy(copiarDesde, 2, copiarA, 0, 7);


System.out.println(new String(copiarA));

Character.Clases cuyas instancias pueden


mantener un nico valor (wrapper)
String. Clase para almacenar y manipular
datos inmutables compuestos de mltiples
caracteres
StringBuffer. Clase para almacenar y
manipular datos mutables compuestos de
mltiples caracteres

Mtodos de Character
l
l
l
l
l
l

Character(char )
l Constructor crea objeto inmutable
int compareTo(Character )
l Retorna entero que compara con otro carcter
boolean equals(Object)
l Retorna true si son de igual valor
String toString ()
l Convierte a string
char charValue()
l Retorna valor del objeto
isUpperCase(char )
l Retorna true si es mayscula

18/04/2004

Ejemplo de Character
public class CharacterDemo {
public staticvoid main(String args[]) {
Character a = new Character('a');
Character a2 = new Character('a');
Character b = new Character('b');
int diferencia = a.compareTo(b);
if (difference == 0) {
System.out.println("a es igual a b.");
} else if (diferencia < 0) {
System.out.println("a es menor que b.");
} else if (diferencia > 0) {
System.out.println("a es mayor que b.");
}
System.out.println("a es " + (( a.equals(a2)) ? igual" : no igual") + " a a2.");
System.out.println(El carcter " + a.toString() + " es " +
(Character.isUpperCase(a.charValue()) ? mayscula" : minscula"));
}
}

Creacin de Strings y
StringBuffers
l
l

Java permite crear un String en diversas situaciones


Ejemplo:

Ejemplo de String y
StringBuffer
public class StringsDemo {
public static void main(String [] args) {
String palindrome = recocer ";
int largo = palindrome.length();
StringBuffer destino = new StringBuffer(len);
for (int i = (largo - 1); i >= 0; i --) {
destino.append(palindrome.charAt(i));
}
System.out.println(destino.toString ());
}
}

Mtodos Accesores
(Comunes)
l

int length()
l

Este es un String" // literal

String palindrome = recocer"; // referencia String


char[] ArregloHola = { 'h', o', 'l', a'}; // arreglo de caracteres

System.out.println(StringHola);

StringBuffer debe siempre usar new para crear un


string

Mtodos Especficos de
String
l

indexOf(int caracter ),
lastIndexOf(int caracter )
l

l
l

Retorna ndice de primera (ltima) ocurrencia de carcter,


buscando hacia delante (atrs) desde ndice especificado

indexOf(String str),
lastIndexOf(String str )

Retorna ndice de primera (ltima) ocurrencia de String str ,


buscando hacia delante (atrs) desde ndice especificado.

Convierte a string

Mtodos Especficos de
String
l

Retorna ndice de la primera (ltima) ocurrencia del String str.

indexOf(String str, int desde ),


lastIndexOf(String str , int from)

Obtiene parte del String


Los dos enteros indican primera y ltima posicin. Sino se
indica segundo entero, se asume hasta el final

String toString()

indexOf(int car , int desde) ,


lastIndexOf(int car, int desde)
l

Retorna ndice de la primera (ltima) ocurrencia de caracter

Obtiene carcter en posicin pos. 0 es el primero y


length()-1 el ltimo

String substring(int), String substring(int, int)


l

String StringHola = new String(ArregloHola);

Obtiene el largo del String o StringBuffer

char charAt(int pos)

int compareTo(String otroString)


l Compara dos lexicogrficamente(interfaz Comparable)
String concat(String str)
l Concatena el string str al final
String toLowerCase()
l Convierte un String a minsculas

String toUpperCase()
l

Convierte un String a maysculas

etc.
l

VER:
http://java.sun.com /j2se/1.4/docs/api/java/lang /String.html

18/04/2004

Mtodos de StringBuffer
StringBuffer append(String str)
l Agrega str al final del buffer de string.
int capacity()
l Retorna la capacidad actual del buffer de string
StringBuffer insert(int offset, String str)
l Inserta str en la posicin offset del buffer de string.
StringBuffer delete (int inicio, int fin)
l Elimina los caracteres entre inicio y fin

VER:
http://java.sun.com /j2se/1.4/docs/api/java/lang /StringBuffer.ht
ml

Clases Extendidas de
Number

Clase Number
l

byte byteValue()
l Retorna el valor del nmero
double doubleValue()
l Retorna el valor del nmero
float floatValue()
l Retorna el valor del nmero
int intValue()
l Retorna el valor del nmero
long longValue()
l Retorna el valor del nmero
short shortValue()
l Retorna el valor del nmero

l
l
l
l
l

especificado como byte


especificado como double
especificado como float

l
l
l
l
l
l

especificado como long

l
l
l

Byte. Clase envolvente para byte


Double. Clase envolvente para double
Float. Clase envolvente para float
Integer. Clase envolvente para int
Long. Clase envolvente para long
Short. Clase envolvente para short
BigDecimal. Nmero decimal de precisin arbitraria
BigInteger. Nmero entero de precisin arbitraria

especificado como short

exponenciacin
logaritmos
raz cuadrada
Funciones trigonomtricas
Mximos y mnimos
Redondeos
etc.

Ver
l

especificado como int

El paquete java.lang.Math contiene funciones tales


como:
l

l
l

Funciones Matemticas

Wrappers y funciones

etc.

3.7.3 Nmeros

http://java.sun.com /j2se/1.4/docs/api/java/lang /Math.html

Formatos de Nmeros
l
l

Los programas almacenan y operan nmeros en


forma independiente de la localidad
Al desplegar los valores con toString se debieran
hacer en el formato de la localidad
l
l
l

Ingls:
Francs:
Alemn:

123456.78
123 456,78
123.456,78

Java provee soporte para realizar tales


conversiones en paquete java.text
l
l

NumberFormat
DecimalFormat

18/04/2004

Clase java.util.Date

3.7.4 Date
Fecha y hora

l
l
l

til para manejar datos fecha/hora


Constructor por defecto entrega fecha actual
Operaciones
l
l
l

Comparacin
Suma
Formato

Clase utilitarias
l
l

java.util.Calendar
java.text.DateFormat

También podría gustarte