Publicado el 17 de Mayo del 2021
484 visualizaciones desde el 17 de Mayo del 2021
72,5 KB
5 paginas
Creado hace 21a (18/04/2004)
18/04/2004
3.7 Caracteres, String
y Otros Tipos de
Datos
Arreglos, Character, String,
StringBuffer, Number, Date
3.7.1 Arreglos
Arreglos en Java
Ejemplo de un Arreglo
l Arreglos en Java son agrupaciones ordenadas de
elementos
l Los elementos pueden ser tipos primitivos o
referencias (incluso referencias a otros arreglos)
l Las dimensiones de un arreglo se omiten en la
declaración de variables
l La dimensión se determina en la creación del arreglo
l Tamaño permanece fijo después de su creación
l Los índice varían desde 0 a largo-1
l Acceso ilegal lanza IndexOutOfBoundsException
l Los arreglos no se pueden derivar
}
}
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();
Uso de Arreglos
l Declaración de un Arreglo (sin tamaño)
l tipo[] variable;
l Creación de un arreglo vacío (especifica tamaño)
l variable = new tipo[tamaño];
l Creación e inicialización rápida
l tipo[] variable = {val0, val1, ... , valn-1};
l Acceso a un elemento del arreglo
l variable[indice]
l Tamaño del arreglo
l variable.length
Arreglo de Arreglos
public class ArregloDeArreglo {
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();
}
}
}
Flintstones: Fred Wilma Pebbles Dino
Rubbles: Barney Betty Bam Bam
Jetsons: George Jane Elroy Judy Rosie Astro
Scooby D o o Gang: Scooby Doo Shaggy Velma Fred Daphne
1
Copiado de Arreglos
Ejemplo de Copia de Arreglos
l Para copiar un arreglo se puede usar método
arraycopy de System :
l public static void arraycopy(
Object fuente,
int indiceFuente,
Object destino,
int indiceDestino,
int largo)
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];
System.arraycopy(copiarDesde, 2, copiarA, 0, 7);
System.out.println(new String(copiarA));
}
}
cafeina
Utilidades para arreglos
l Clase utilitaria java.util.Arrays
l static int binarySearch(<tipo>[] a, <tipo> key)
l static boolean equals(<tipo>[] a, <tipo>[] a2)
l static void fill(<tipo>[] a, <tipo> val)
l static void sort(Object[] a)
l Los objetos deben implementar la interfaz java.util.Comparable
3.7.2 Caracteres y
Strings
Clases Básicas para
Caracteres
l Character.Clases cuyas instancias pueden
mantener un único valor (wrapper)
l String. Clase para almacenar y manipular
datos inmutables compuestos de múltiples
caracteres
l StringBuffer. Clase para almacenar y
manipular datos mutables compuestos de
múltiples caracteres
Métodos de Character
l Character(char )
l Constructor crea objeto inmutable
l int compareTo(Character )
l Retorna entero que compara con otro carácter
l boolean equals(Object)
l Retorna true si son de igual valor
l String toString()
l Convierte a string
l char charValue()
l Retorna valor del objeto
l isUpperCase(char )
l Retorna true si es mayúscula
18/04/2004
2
18/04/2004
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 ());
}
}
Métodos Accesores
(Comunes)
l int length()
l Obtiene el largo del String o StringBuffer
l char charAt(int pos)
l Obtiene carácter en posición pos. 0 es el primero y
length()-1 el último
l String substring(int), String substring(int, int)
l Obtiene parte del String
l Los dos enteros indican primera y última posición. Sino se
indica segundo entero, se asume hasta el final
l String toString()
l Convierte a string
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 carácter " + a.toString() + " es " +
(Character.isUpperCase(a.charValue()) ? “mayúscula" : “minúscula"));
}
}
Creación de Strings y
StringBuffers
l Java permite crear un String en diversas situaciones
l Ejemplo:
“Este es un String" // literal
String palindrome = “recocer"; // referencia String
char[] ArregloHola = { 'h', ‘o', 'l', ‘a'}; // arreglo de caracteres
String StringHola = new String(ArregloHola);
System.out.println(StringHola);
n StringBuffer debe siempre usar new para crear un
string
Métodos Específicos de
String
l indexOf(int caracter ),
lastIndexOf(int caracter )
l Retorna índice de la primera (última) ocurrencia de caracter
l indexOf(int car, int desde),
lastIndexOf(int car, int desde)
l Retorna índice de primera (última) ocurrencia de carácter,
buscando hacia delante (atrás) desde índice especificado
l indexOf(String str),
lastIndexOf(String str )
l Retorna índice de la primera (última) ocurrencia del String str.
l indexOf(String str, int desde ),
lastIndexOf(String str , int from)
l Retorna índice de primera (última) ocurrencia de String str ,
buscando hacia delante (atrás) desde índice especificado.
Métodos Específicos de
String
l int compareTo(String otroString)
l Compara dos lexicográficamente(interfaz Comparable)
l String concat(String str)
l Concatena el stringstr al final
l String toLowerCase()
l Convierte un String a minúsculas
l String toUpperCase()
l Convierte un String a mayúsculas
l etc.
l VER:
http://java.sun.com /j2se/1.4/docs/api/java/lang /String.html
3
18/04/2004
3.7.3 Números
Wrappers y funciones
Clases Extendidas de
Number
l Byte. Clase envolvente para byte
l Double. Clase envolvente para double
l Float. Clase envolvente para float
l Integer. Clase envolvente para int
l Long. Clase envolvente para long
l Short. Clase envolvente para short
l BigDecimal. Número decimal de precisión arbitraria
l BigInteger. Número entero de precisión arbitraria
Métodos de StringBuffer
l StringBuffer append(String str)
l Agrega str al final del buffer de string.
int capacity()
l Retorna la capacidad actual del buffer de string
l
l StringBuffer insert(int offset, String str)
l Inserta str en la posición offset del buffer de string.
l StringBuffer delete (int inicio, int fin)
l Elimina los caracteres entre inicio y fin
l etc.
l VER:
http://java.sun.com /j2se/1.4/docs/api/java/lang /StringBuffer.ht
ml
Clase Number
l byte byteValue()
l Retorna el valor del número especificado como byte
l double doubleValue()
l float floatValue()
l Retorna el valor del número especificado como double
l Retorna el valor del número especificado como float
l int intValue()
l Retorna el valor del número especificado como int
l long longValue()
l Retorna el valor del número especificado como long
l short shortValue()
l Retorna el valor del número especificado como short
Funciones Matemáticas
Formatos de Números
l El paquete java.lang.Math contiene funciones tales
como:
l exponenciación
l logaritmos
l raíz cuadrada
l Funciones trigonométricas
l Máximos y mínimos
l Redondeos
l etc.
l Ver
l http://java.sun.com /j2se/1.4/docs/api/java/lang /Math.html
l Los programas almacenan y operan números en
forma independiente de la localidad
l Al desplegar los valores con toString se debieran
hacer en el formato de la localidad
l Inglés:
l Francés:
l Alemán:
123456.78
123 456,78
123.456,78
l Java provee soporte para realizar tales
conversiones en paquete java.text
l NumberFormat
l DecimalFormat
4
18/04/2004
3.7.4 Date
Fecha y hora
Clase java.util.Date
l Útil para manejar datos fecha/hora
l Constructor por defecto entrega fecha actual
l Operaciones
l Comparación
l Suma
l Formato
l Clase utilitarias
l java.util.Calendar
l java.text.DateFormat
5
Comentarios de: 3.7 Caracteres, String y Otros Tipos de Datos (0)
No hay comentarios