You are on page 1of 9

Departamento de Ciencias de la Computacin

Ing. Electrnica y Telecomunicaciones


Programacin II
Nombre: Israel Villarroel
Tutor: Ing. Dorys Quiroz
NRC: 1602
Anlisis de diferentes clases aplicadas en el lenguaje java
En este documento analizaremos, detallaremos, y ejemplificaremos las ms
frecuentes clases que se usan en el lenguaje de programacin java, entre las cuales
se encuentran las siguientes:

Clase String
Clase Random
Clase Time
Clase Math
Clase Callendar

Clase String
En Java al igual que en C++ un string representa una cadena de caracteres no
modificable a la cual se le puede asignar valores en cdigo como tambin por
teclado.
Los literales que se encuentran en el cdigo y entre comillas, son interpretados
como objetos de la clase string (cualquier texto).
Algunas formas de crear un string son las siguientes:

Usando una cadena de caracteres entre comillas:

String s1 = abcdef;

Tenemos que en java se pueden sumar los objetos de clase string, usando
operadores de concatenacin:

String s2 = s1 + ghij /* s2 contiene abcdefghij */


Constructores clase String:
A ms de esto la clase string tiene varios constructor entre los cuales tenemos los
mas importantes:
CONSTRUCTOR
String()

DESCRIPCIN
Constructor por defecto. El nuevo String toma el valor ""
String s = new String(); //crea el string s vaco.
Equivale a: String s = "";

String(String s )

Crea un nuevo String, copiando el que recibe como parmetro.


String s = "hola";
String s1 = new String(s);
//crea el String s1 y le copia el contenido de s

String( char[] v )

Crea un String y le asigna como valor los caracteres


contenidos en el array recibido como parmetro.
char [] a = {'a', 'b', 'c', 'd', 'e'};
String s = new String(a);
//crea String s con valor "abcde"

String(char[] v, int pos, int n)

Crea un String y le asigna como valor los n caracteres


contenidos en el array recibido como parmetro, a partir de la
posicin pos.
char [] a = {'a', 'b', 'c', 'd', 'e'};
String s = new String(a, 1, 3);
//crea String s con valor "bcd";

Mtodos clase String


La clase string proporciona mtodos para el tratamiento de las cadenas de
caracteres: acceso a caracteres individuales, buscar y extraer una subcadena,
copiar cadenas, convertir cadenas maysculas a minsculas y viceversa, etc.
MTODO

DESCRIPCIN

length()

Devuelve la longitud de la cadena

indexOf(caracter)

Devuelve la posicin de la primera aparicin de


carcter

lastIndexOf(caracter)

Devuelve la posicin de la ltima aparicin de


carcter

charAt(n)

Devuelve el carcter que est en la posicin n

substring(n1,n2)

Devuelve la subcadena
posiciones n1 y n2-1

toUpperCase()

Devuelve la cadena convertida a maysculas

toLowerCase()

Devuelve la cadena convertida a minsculas

comprendida

entre

las

equals("cad")

Compara dos cadenas y devuelve true si son iguales

equalsIgnoreCase("cad")

Igual que equals pero sin considerar maysculas y


minsculas

compareTo(OtroString)

Devuelve 0 si las dos cadenas son iguales. <0 si la


primera es alfabticamente menor que la segunda
>0 si la primera es alfabticamente mayor que la
segunda.

compareToIgnoreCase(OtroString)

Igual que compareTo pero sin considerar maysculas


y minsculas.

valueOf(N)

Mtodo esttico. Convierte el valor N a String. N


puede ser de cualquier tipo.

Por lo tanto los mtodos que actan sobre un string con la intencin de modificarlo
lo que hacen es crear un nuevo string debido a que los datos de este tipo no son
modificables; por ejemplo al usar el toupper al convertir la cadena de minsculas a
maysculas un mtodo string no modifica la original, sino que crea un nuevo string
como resultado de la operacin.
Clase Random
La clase Random nos proporciona un generador de nmeros aleatorios mucho mas
flexible que el mtodo random de la clase math.
Para poder usar la clase random lo primero que debemos hacer es proporcionar a
nuestro programa informacin acerca de la clase random con las palabras
reservadas:
import java.util.Random;
Constructores clase Random
La clase dispone de dos constructores, el primero crea un generador de nmeros
aleatorios los cuales se generan en base al instante de tiempo actual
Random rnd = new Random();
Y el segundo lo inicializa con numero de tipo long
Random rnd = new Random(3816L);
El sufijo L no es necesario ya que aunque 3816 es un numero entero por defecto, es
este el nmero que se promueve automticamente de int a long.

Ciertamente es imposible predecir que nmeros se generaran con una semilla


particular, pero se puede duplicar una serie antes generada usando la misma semilla
particular, es decir que cada vez que se generen nmeros aleatorios de la clase
Random con la misma semilla, la lista de nmeros ser la misma, cosa no muy til en
la lotera pero si muy til en el caso de juegos, exmenes basados en una secuencia
de preguntas, etc.
Funciones clase Random
Podemos cambiar la semilla de los nmeros aleatorios en cualquier momento,
llamando a la funcin miembro setSeed.
rnd.setSeed(3816);
Podemos generar nmeros aleatorios en cuatro formas diferentes:
rnd.nextInt();
Genera un nmero aleatorio entero de tipo int
rnd.nextLong();
Genera un nmero aleatorio entero de tipo long
rnd.nextFloat();
Genera un nmero aleatorio de tipo float entre 0.0 y 1.0, aunque siempre menor
que 1.0
rnd.nextDouble();
Genera un nmero aleatorio de tipo double entre 0.0 y 1.0, aunque siempre menor
que 1.0
Casi siempre usaremos esta ltima versin. Por ejemplo, para generar una
secuencia de 10 nmeros aleatorios entre 0.0 y 1.0 escribimos
for (int i = 0; i < 10; i++) {
System.out.println(rnd.nextDouble());;
}

Para crear una secuencia de 10 nmeros aleatorios enteros comprendidos entre 0 y


9 ambos includos escribimos
int x;
for (int i = 0; i < 10; i++) {
x = (int)(rnd.nextDouble() * 10.0);
System.out.println(x);

}
(int) transforma un nmero decimal double en entero int eliminando la parte
decimal.
Clase Time
Esta clase aade a la clase Date del paquete java.util los mtodos y caractersticas
para trabajar con clusulas de escape JDBC identificndolo como un tipo TIME de
SQL.
Constructores clase time

Hora normal
public Time(int hora,int minuto, int segundo)
Los valores vlidos son hora entre 0 y 23, y minuto y segundos entre 0 y 59.
Milisegundos
public Time(long time)
La hora en milisegundos, contados desde el 1 de Enero de 1970 a las 00:00:00 GMT
Mtodos clase Time

Hora en milisegundos: setTime()


public void setTime(long hora)
Asigna el valor hora en milisegundos contados desde el 1 de Enero de 1970 a las
00:00:00 GMT.

Hora como cadena de caracteres: valueOf()


public static Time valueOf(String hora)
Asigna el valor hora en el formato "hh-mm-ss".

Hora como cadena de caracteres: toString()


public String toString()
Devuelve una cadena de caracteres con la hora en el formato "hh-mm-ss".

Obtencin de la Fecha: getXXX()


public int getXXX()

Mtodo

Parte de la Fecha que devuelve

getYear()

El ao menos 1900.

getMonth()

Mes.

getDay()

Da de la semana.

getDate()

Da del mes

Asignacin de la Fecha: setXXX()


public void setXXX(int valor)

Mtodo

Parte de la Fecha que asigna

setYear()

El ao menos 1900.

setMonth()

Mes.

setDay()

Da de la semana.

setDate()

Da del mes

Clase Calendar
import java.util.Calendar;

La clase Calendar posee una gran cantidad de mtodos para operar, consultar y
modificar las propiedades de una fecha. Un aspecto principal es que es una clase
abstracta y como tal posee algunos mtodos que deben ser implementados por sus
subclases.
Calendar se suele instanciar con su mtodo getInstance() el cual nos crea un
objeto de la clase conteniendo la fecha de ese momento. As es muy tpico el
uso: Calendar ahoramismo = Calendar.getInstance();
Calendar tiene 2 mtodos de funcionamiento, lo que se llama lenient o nonlenient mode. Es decir modo permisivo o modo no permisivo. Por defecto se
trabaja en modo permisivo y esto quiere decir que si configuramos un Calendar
como el da 32 de Enero (lo cual sera un error), a la hora de formatear la fecha y
por ejemplo imprimirla por pantalla se mostrar el 1 de Febrero. Es decir, con
lenient mode Java trata de encontrar una fecha si le es posible aunque hayamos
introducido un dato errneo.
Si configuramos el Calendar en modo no permisivo, antes de calcular la fecha ms
asemejable lanzara una excepcin si algn parmetro sale de su rango permitido.
El 32 de enero dara error.
El conjunto de mtodos set permite establecer una fecha, mientras que los
mtodos add y roll permiten cambiar las fechas sumando o restando una
cantidad. Estos dos ltimos mtodos fuerzan que los valores para los campos no
sobrepasen el mnimo o el mximo del permitido segn el calendario. Tambin estos
mtodos suponen un reclculo inmediato de la fecha tras el cambio de sus valores,
cosa que no ocurre con el uso de los mtodos set.

Clase math
A continuacin, mostraremos las funciones ms importantes y ejemplos de uso:

Funcin

Significado

Ejemplo de uso

Resultado

abs

Valor absoluto

int x = Math.abs(2.3);

x = 2;

atan

Arcotangente

double x = Math.atan(1);

x = 0.78539816339744;

sin

Seno

double x = Math.sin(0.5);

x = 0.4794255386042;

cos

Coseno

double x = Math.cos(0.5);

x = 0.87758256189037;

tan

Tangente

double x = Math.tan(0.5);

x = 0.54630248984379;

double x = Math.exp(1);

x = 2.71828182845904;

matemtica

exp

Exponenciacin
neperiana

log

Logaritmo neperiano

pow

Potencia

round

Redondeo

random

Nmero aleatorio

double x =
Math.log(2.7172);

double x = Math.pow(2.3);

double x =
Math.round(2.5);

double x =
Math.ramdom();

x = 0.99960193833500;

x = 8.0;

x = 3;

x = 0.20614522323378;

http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/clases1/azar.htm
http://puntocomnoesunlenguaje.blogspot.com/2013/02/clase-string.html
http://eolo.cps.unizar.es/java/JDBC/time.html
http://docs.oracle.com/javase/8/docs/api/java/lang/Math.html

You might also like