Vous êtes sur la page 1sur 52

INTRODUCCIN

a) Presentacin y contextualizacin
En esta Unidad trataremos los temas de fundamento que te permitan comprender la
filosofa e importancia de la programacin orientada a objetos como un estndar
actual en el desarrollo de aplicaciones informticas.
Adicionalmente, tambin aprenders a expresar tu percepcin de la realidad en
objetos, para luego a partir de esta percepcin crear tus primeras clases e
implementarlas con mtodos y propiedades.
Finalmente, en esta Unidad aprenders dos de las clases importantes de Java: La
clase String y la Clase Math.

b) Competencia
Analiza, y plantea las funcionalidades y propiedades de un objeto con relacin
a su clase.

c) Capacidades
1. Analiza una realidad, se abstrae y lo formula en un modelo de objetos.
2. Diferencia las variables y mtodos estticos de las propiedades y mtodos de instancia
(miembros) y los aplica al desarrollar una aplicacin.
3. Diferencia la capa de la Lgica de Presentacin y Lgica de Negocios y los utiliza al
desarrollar aplicaciones en dos capas.
4. Distingue la utilidad de los mtodos estticos de la clase Math y String

d) Actitudes
Desarrolla una actitud analtica y sistmica, a partir de la cual expone diversos
planteamientos en relacin con la actividad asignada.
Acta con responsabilidad personal, al cumplir con los cronogramas establecidos
y la metodologa del plan de estudio virtual.
Disposicin emprendedora

e) Presentacin de ideas bsicas y contenido esenciales de la Unidad.


La Unidad de Aprendizaje 1: FUNDAMENTOS DE LA PROGRAMACION
ORIENTADA A OBJETOS comprende el desarrollo de los siguientes temas:
Tema 01: Conceptos Bsicos de la Programacin Orientada a Objetos
Tema 02: Variables y Mtodos Estticos
Tema 03: Modelamiento de Clases
Tema 04: La Clase Math y La Clase String

Tema 01: Conceptos Bsicos de la Programacin Orientada a


Objetos
1.

Antecendentes de la Programacin Orientada a Objetos

La Programacin Orientada a Objetos (POO) es una forma especial de programar,


ms cercana a como expresaramos las cosas en la vida real,
que otros tipos de programacin.
Durante aos, los programadores se han dedicado a construir
aplicaciones muy parecidas que resolvan una y otra vez los mismos
problemas. Para conseguir que los esfuerzos de los programadores
puedan ser reutilizados por otras personas se cre la POO, la cual usa
una serie de normas y estndares para cumplir este objetivo.

POO no es difcil, pero es una manera especial de pensar, a veces subjetiva de quien la
programa, de manera que la forma de hacer las cosas puede ser diferente entre uno u otro
programador, aunque podamos hacer los programas de formas distintas, no todas ellas son
correctas, lo difcil no es programar orientado a objetos sino programar bien. Programar bien
es importante, porque as podemos aprovechar de todas las ventajas de la POO.

Programacin Estructurada Vs Programacin Orientada a Objetos (POO):

El desarrollo de la POO empieza a destacar durante la dcada de los 80


tomando en cuenta la programacin estructurada, a la que engloba y
dota de nuevos elementos para el anlisis y desarrollo de software.
La POO permite a los programadores desarrollar software, de forma que
est organizado en la misma manera como el problema que se trata de
modelizar (analizar).

La programacin estructurada es una programacin de diseo ARRIBA ABAJO


(Top-Down), donde las instrucciones del programa se van ejecutando una detrs de
otra secuencialmente desde un inicio hasta un fin. En esta forma de diseo se
descomponen los requerimientos del programa paso a paso (secuencialmente),
hasta llegar a un nivel que permite expresarlos mediante procedimientos y
funciones. (Ejemplo: un Diagrama de Flujo, Pseudocdigo)

En cambio, la POO estructura los datos en objetos que pueden almacenar,


manipular y combinar informacin de modo analtico, lgico y funcional

En la actualidad, la POO es el estndar de programacin utilizado por la gran


mayora de programadores y las distintas herramientas de anlisis y diseo de
sistemas utilizado por los profesionales en informtica. Por otro lado, los lenguajes
de programacin de la actualidad son orientados a objetos (entre los que podemos
citar estn: Java y Microsoft Visual Studio .Net)

Ventajas de la Programacin Orientada a Objetos:

a) Uniformidad. Ya que la representacin de los objetos que lleva, implica tanto el


anlisis como el diseo y la codificacin de los mismos. Esto quiere decir que
nos permite una mejor integracin entre las diferentes etapas del desarrollo de
un proyecto informtico.

b) Flexibilidad. Al tener relacionados los procedimientos que manipulan los datos


con los datos a tratar, cualquier cambio que se realice sobre ellos quedar
reflejado automticamente en cualquier lugar donde estos datos aparezcan.

c) Reusabilidad. De esta forma, el desarrollo de un programa puede llegar a ser


una simple combinacin de objetos ya definidos donde estos estn relacionados
de una manera particular.

Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para
escribir nuestros programas en trminos de objetos, propiedades, mtodos.

2.- Conceptos Bsicos de la Programacion Orientada a Objetos:

a) Clase

La clase es una plantilla o patrn a partir de la cual se crean muchos otros objetos similares,
tambin se podra definir a una clase como la agrupacin de objetos que poseen
caractersticas comunes.

Ejemplos:

Si usted tuviera que dibujar 30 mapas del Per Cmo los podra hacer de un modo muy
rpido? Tendra que conseguir un molde o plantilla y a partir de ste podra crear los
30 mapas de un modo fcil y rpido. En este ejemplo el Molde o Patrn sera la Clase
y cada uno de los mapas reproducidos vendran ser los objetos instanciados.
Qu clases puedes distinguir dentro de tu aula? En el aula existe la clase Alumnos,
cada alumno vendra ser un objeto que se origina de esta clase. Otras clases podran
ser: carpetas, tiles, etc.

Como podemos darnos cuenta, los conceptos de la POO estn en la


vida diaria, y son estos conceptos los que se aplican al momento de
programar aplicaciones informticas.

b) Propiedades de la clase

Las propiedades o atributos son las caractersticas descriptivas de una clase. Cuando
definimos una propiedad especificamos su nombre y su tipo de dato.

Ejemplos:

Propiedades de la clase alumnos


Apellidos

(Tipo de dato String)

Nombres

(Tipo de dato String)

Edad

(Tipo de dato int)

Talla

(Tipo de dato double)

c) Mtodos de la clase

Son las funcionalidades, acciones o habilidades de la clase. Los mtodos son funciones que
estn asociadas a un objeto. Los mtodos responden a la pregunta: Qu es lo que es capaz
de hacer la clase?
Los nombres de los mtodos generalmente estn asociados a una accin o verbos. Al final del
nombre de los mtodos siempre se utilizarn parntesis dentro de los cuales muchas veces es
necesario enviar algunos datos, para que puedan realizarse los procesos.

Ejemplos:

La clase alumnos contiene los siguientes


mtodos:
estudiar()
hablar()
decirSuEdad()

La clase plumones contiene los siguientes


mtodos:
pintar()
escribir()

La clase calculadora contiene los siguientes


mtodos:
Sumar(4,5)
Restar(3,2)
Multiplicar(4,3)
Multiplicar(4,2)

Nota:
Algunos mtodos reciben entre los parntesis: datos, los cuales sirven al mtodo para
realizar su tarea. Estos datos son conocidos como argumentos del mtodo.
Algunos mtodos retornan un dato como resultado de la accin, por ejemplo el mtodo
sumar (4,5) de la clase calculadora, luego de realizar su accin devolver un dato de
respuesta el cual es el resultado de la suma: 9.

d) Objeto Instaciado

Los objetos instanciados son ejemplares resultantes de una clase. Cuando creamos un
ejemplar tenemos que especificar la clase a partir de la cual se crear. Esta accin de crear un
objeto a partir de una clase se llama instanciar (que viene de una mala traduccin de la palabra
instance que en ingls significa ejemplar). Por ejemplo, un objeto instanciado de la clase
fraccin es por ejemplo 3/5. El concepto o definicin de fraccin sera la clase, pero cuando ya
estamos hablando de una fraccin en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto
instanciado.

Todo objeto instanciado hereda automticamente las propiedades y mtodos de


su clase base

e) Estado en un objeto

Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos una
fraccin, la propiedad numerador tomar un valor en concreto, como por ejemplo 1 y la
propiedad denominador puede tomar el valor de 3. Estos valores que se llaman estados de
un objeto.

Para acceder a un estado de un objeto, para ver su valor o cambiarlo se utiliza el operador
punto. Ejemplo

f1.numerador = 2
f1.denominador=5

El objeto instanciado es f1, luego colocamos el operador punto y por ltimo el nombre de la
propiedad a la que deseamos acceder. En el ejemplo anterior, estamos cambiando el valor del
estado de la propiedad numerador del objeto f1 a 2 con una simple asignacin, y el valor de la
propiedad denominador a 5.

EJEMPLOS PRCTICOS
A continuacin, mostraremos algunos ejemplos de clases con sus
respectivas propiedades y mtodos.

Clase Reloj
Propiedades: marca, modelo, precio, tipo
Mtodos: mostrarLaHora(), mostrarLaFecha(), fijarAlarma(), iniciarCronometro()

Clase Tringulo
Propiedades: color, tipo de borde, tipo de tringulo
Mtodos: calcularArea(), calcularSemiPermetro()

Clase BoletadeNota
Propiedades: n de boleta, fecha de emision, apellidos, nombres
Mtodos: calcularPromedioporAsignatura(), calcularPromedioPonderado()

1.

CREACIN DE UNA CLASE

Crearemos como ejemplo: la clase Calculdora

Cada IDE tiene sus propios pasos para crear una clase y esto lo aprendimos
durante el pasado semestre. Como ejemplo, crearemos la clase Calculadora

public class Calculadora {


public static void main(String args[])
{
}
}
//Fin de la clase

2.- CREACIN DE LAS PROPIEDADES DE LA CLASE

Se debern crear a nivel de la clase (debajo de public class) y cada una


corresponder a un tipo de dato.

Ejemplo: La clase con sus propiedades

public class Calculadora {


// DEFINICION DE PROPIEDADES
public String marca;
public double precio;
public String modelo;
public static void main(String args[])
{
}
}
//Fin de la clase

3.- CREACIN DE LOS MTODOS DE LA CLASE

Se debern crear dentro de la clase, cada mtodo devuelve un tipo de dato como
resultado final (el cual puede ser int, double, String, boolean, etc), de no ser as el
tipo de dato devuelto es void. Los mtodos usan parntesis para recibir algunos
datos (argumentos) desde el exterior.

Ejemplo:

Ejemplo:
Ahora veamos integralmetne todo el cdigo fuente de la clase Calculadora con sus
propiedades y mtodos:

public class Calculadora {


// DEFINICION DE PROPIEDADES
public String marca;
public double precio;
public String modelo;
public double sumar(double a, double b)
{
double r;
r=a+b;
return r; //Retorna el resultado
}
public double restar(double a, double b)
{ double r;
r=a-b;
return r;
}
public double multiplicar(double a, double b)
{ double r;
r=a*b;
return r;
}
public double dividir(double a, double b)
{double r;
if(b!=0)
{ r=a/b; }

else
{System.out.println("Resultado no determinado en
N");
}
return r;
}
public double dimetuprecio()
{ return precio; }
public static void main(String args[])
{
}
}
//Fin de la clase

4. CREACIN DE LOS MTODOS CONSTRUCTORES

Un mtodo constructor es un mtodo especial dentro de la clase, que lleva el nombre


de la misma clase. Pueden existir uno o varios mtodos constructores. Este mtodo
se ejecuta automticamente cada vez que nosotros instanciemos un objeto de la
clase, por lo que puede ser utilizado para el instanciamiento de objetos y al mismo
tiempo introducir estados (datos) a todas o a algunas las propiedades del objeto
instanciado.

Ejemplo: La clase Calculadora con 3 mtodos constructores

Nota: Si una clase posee varios mtodos constructores, significa que tiene varias formas de
instanciar un objeto.

public class Calculadora {


// DEFINICIN DE PROPIEDADES
public String marca;
public double precio;
public String modelo;

public double sumar(double a, double b)


{

double r;
r=a+b;

return r; //Retorna el resultado


}
public double restar(double a, double b)
{ double r;
r=a-b;
return r;
}
public double multiplicar(double a, double b)
{ double r;
r=a*b;
return r;
}
public double dividir(double a, double b)
{

double r;

if(b!=0)
{ r=a/b; }
else
{ System.out.println("Resultado no determinado en N");
}
return r;
}
public double dimetuprecio()
{ return precio; }
// EL MTODO CONSTRUCTOR 1
// Permite el ingreso de los estados solo a 2 de
// las propiedades del objeto instanciado
public Calculadora(String ma, double p) {
marca=ma;
precio=p;
}
// EL MTODO CONSTRUCTOR 2 - Permite el ingreso de los
// estados solo a 3 de las propiedades del objeto
// instanciado
public Calculadora(String ma, double p, String mo) {

marca=ma;
precio=p;
modelo=mo;
}
// EL MTODO CONSTRUCTOR 3 - Permite solo el
// instanciamiento
public Calculadora() {
}
public static void main(String args[])
{
}
}

//Fin de la clase

5. EL MTODO ESTTICO MAIN

Este mtodo es el Mtodo principal de la clase, es aquel que es invocado cuando


ejecutamos la clase, si una clase no cuenta con el mtodo main, es imposible
ejecutarla.

6. INSTANCIAMIENTO DE LA CLASE

Tal como vimos durante la semana anterior, instanciar, significar, crear un objeto a
partir de una clase base, recordemos tambin que al instanciar un objeto, este
hereda automticamente propiedades y mtodos de su clase.

Ejemplo:
Veamos con se instancia la clase Calculadora desde el mtodo main de la misma
clase.

public class Calculadora {


// DEFINICION DE PROPIEDADES
public String marca;
public double precio;
public String modelo;
public double sumar(double a, double b)
{
double r;
r=a+b;
return r; //Retorna el resultado
}
public double restar(double a, double b)
{ double r;
r=a-b;
return r;
}
public double multiplicar(double a, double b)
{ double r;
r=a*b;
return r;
}
public double dividir(double a, double b)
{double r=0;
if(b!=0)
{ r=a/b; }
else
{System.out.println("Resultado no determinado en N");
}
return r;
}
public double dimetuprecio()
{ return precio; }
// EL MTODO CONSTRUCTOR 1
// Permite el ingreso de los estados solo a 2 de
// las propiedades del objeto instanciado
public Calculadora(String ma,double p) {
marca=ma;
precio=p;
}
// EL MTODO CONSTRUCTOR 2 - Permite el ingreso de los
// estados solo a 3 de las propiedades del objeto
// instanciado
public Calculadora(String ma,double p, String mo) {
marca=ma;
precio=p;
modelo=mo;
}
// EL MTODO CONSTRUCTOR 3 - Permite solo el
// instanciamiento
public Calculadora() {
}
public static void main(String args[])
{
//Creacin de los objetos instanciados
Calculadora c1=new Calculadora("CASIO",25.45);
//Usa el constructor 1
Calculadora c2=new Calculadora("CITIZEN",32.99,"RS23"); //Usa el constructor 2
Calculadora c3=new Calculadora();
//Usa el constructor 3

//Visualizando el contenido de la propiedad marca del primer objeto instanciado


System.out.println("La marca de la calculadora 1 es : "+ c1.marca);
//Invocando a los mtodos del 1er. obj. instanciado
System.out.println("La calculadora 1 suma 12+34 : "+ c1.sumar(12,34));
System.out.println("La calculadora 1 resta 12-34 : "+ c1.restar(12,34));
System.out.println("La calculadora 1 multiplica 12*34 : "+ c1.multiplicar(12,34));
System.out.println("La calculadora 1 divide 12/34 : "+ c1.dividir(12,34));

//Usando la propiedades y mtodos del 2do. obj. Instanciado


System.out.println("Accedemos al precio de la calculadora 2 : "+ c2.precio);
System.out.println("La calculadora 2 suma 2+-5 : "+ c2.sumar(2,-5));
System.out.println("La calculadora 2 nos dice su precio : "+ c2.dimetuprecio());

//Usando la propiedades y mtodos del 3er. obj. Instanciado


c3.marca="Panasonic";
c3.precio=29.99;
c3.modelo="RX123";
System.out.println("Accedemos al precio de la calculadora 3 : "+ c3.precio);
System.out.println("La calculadora 3 suma 10+32 : "+ c3.sumar(10,32));
System.out.println("La calculadora 3 nos dice su precio : "+ c3.dimetuprecio());
}
}
//Fin de la clase

7. INVOCACIN DE UNA CLASE DESDE OTROS PAQUETES


Qu es una Paquete?

Es una carpeta de java, dentro de la cual podemos almacenar muchas clases, los
paquetes en Java sirven para organizar nuestras clases, cada IDE tiene una forma
distinta de crear paquetes.

Cuando una clase es creada dentro de un paquete, debe llevar en la primera lnea:
el nombre del paquete.

Clase Anexo, creada en otro paquete

Tema 02: Variables y Mtodos Estticos


1. CREACIN DE VARIABLES ESTTICAS

Variables Estticas:

Son aquellas variables que se declaran a nivel de la clase, se diferencian de las


propiedades, porque para acceder a ellas no se requiere de una instancia, se puede
acceder a estas variables directamente a travs del nombre de la clase. Las variables
estticas conservan un mismo valor para toda la clase y no cuentan con estados (datos)
diferentes en cada objeto instanciado.

Nota:
En otros lenguajes de programacin a este tipo de variables se le denomina Variables
Globales.

Ejemplo del uso de variables estticas en la clase Calculadora:


En este ejemplo se estn creando dos variables estticas:

Total: Variable utilizada para acumular el precio de cada uno de los objetos instanciados
Cuenta: Variable utilizada para contar la cantidad de objetos instanciados

Se usan las variables estticas en cada uno de los mtodos constructores, para que de esta
forma se acumule o cuente, cada vez que se produce una instancia.

2. CREACIN DE MTODOS ESTTICOS

Son aquellos mtodos que pertenecen directamente a la clase y que para acceder a ellos
no se requiere de una instancia, se puede acceder a estos mtodos directamente a travs
del nombre de la clase.

Son acciones de la clase y no de un objeto en particular.

Ejemplo del uso de mtodos estticos en la clase Calculadora:

En este ejemplo se estn creando dos mtodos estticos:

Totalizar()

: Mtodo utilizado para devolver la cantidad acumulada de todos los precios

Promediar() :Mtodo utilizado para promediar todos los precios de los objetos instanciados.

USO DE CONSTANTES:

Las constantes son tambin variables estticas que al ser declaradas


reciben un valor, y luego de esto, no permiten que dicho valor sea
modificado por ninguna razn.

Ejemplo:

public static final double IGV=0.19;


public static final String RazonSocial=TecniSystem SRL;

Tema 03: Modelamiento de clases


EJERCICIOS DE MODELAMIENTO DE OBJETOS A PARTIR DE LA ABSTRACCIN DE
CASOS REALES

En la programacin orientada a objetos (POO), podemos dividir el desarrollo de


aplicaciones informticas en 2 partes:

a. La Lgica de Presentacin (Lgica de Clientes)


b. La Lgica de Negocios (Lgica de Procesos)

La Lgica de Presentacin:
Est constituida por la interfaz de usuario, lugar en la que se realiza: el ingreso y
salida de datos.

La Lgica de Negocios:
Est constituida por la programacin de los procesos o tareas, para este fin se
utiliza la POO. (Clases, Mtodos, Propiedades, etc)

CASO 1
Crear una aplicacin visual en Java basada en POO que cambie una cantidad de
dlares a soles y muestre el tipo de cambio resultante.

DESARROLLO DEL CASO 1


Crear un proyecto con el nombre Caso1. Automticamente se crear el paquete
caso1

a. Crear la Lgica de Presentacin.

Crear un formulario o Frame con el nombre FrmMoneda que contenga los


siguientes controles:

b. Crear la Lgica de Negocios


Ahora debemos crear la clase Moneda en el mismo paquete

c.
Botn Procesar

Codificacin de los botones del formulario

d. Ejecutar el Formulario [Presionar la tecla Shift F6]

CASO 2

Crear una aplicacin visual en Java basada en POO que calcule el descuento por faltas
de un trabajador, si se sabe que por cada inasistencia la empresa descuenta el doble
del salario de un da, finalmente muestre el descuento y el neto a percibir.

DESARROLLO CASO 2
Crear un proyecto con el nombre Caso2. Automticamente se crear el paquete caso2.

a. Crear la Lgica de Presentacin


Crear un formulario que contenga los
siguientes controles:

b. Crear la Lgica de Negocios

Ahora crearemos la clase Trabajador en el paquete actual

c. Codificacin de los botones del formulario

d. Ejecutar el formulario [presionar la tecla Shif F6]

Tema 04: Mtodos de la clase Math y la clase String


1. LA CLASE MATH

La clase java.lang.Math deriva de la clase Object. La clase Math proporciona


mtodos estticos para realizar las operaciones matemticas ms habituales.
Adicionalmente, proporciona adems las variables estticas final (Constantes) E y
PI, cuyo significado no requiere muchas explicaciones.
Para utilizar la clase Math, escriba el nombre de la clase y luego digite y escriba el
nombre del mtodo esttico que desea utilizar, algunos de estos mtodos reciben
argumentos.

VARIABLES ESTTICAS FINAL (Constantes)

Contamos con las siguientes:


Math.PI

Devuelve el valor

de PI
Math.E

Devuelve el valor

de E

METODOS ESTTICOS
a. Mtodo abs

Devuelve el valor absoluto


Ejemplo:

b. Mtodo cos

Devuelve el coseno de una cantidad de radianes

c. Mtodo sin

Devuelve el seno de una cantidad de radianes

d. Mtodo tan

Devuelve la tangente de una cantidad de radianes

Ejemplo:

e. Mtodo atan2

Convierte coordenadas rectangulares a polares.

Ejemplo:
Para pasar de coordenadas rectangulares a polares es til la funcin atan2, que
admite dos argumentos, la ordenada y la abscisa del punto. Devuelve el ngulo en
radianes.

f. Mtodo exp

Devuelve el nmero e elevado a una potencia.

Para expresar un nmero real con un nmero especificado de cifras decimales


empleamos la funcin round. Por ejemplo, para expresar los nmeros x e y con
dos cifras decimales escribimos

Se obtiene 72.35 y 0.35 como cabra esperar. Fijarse que round devuelve un
nmero entero int que es necesario promocionar a double para efectuar la divisin
entre 100.

Se obtiene 72.35 y 0.34. La aproximacin del primero es correcta ya que la


tercera cifra decimal es 4 inferior a 5. La aproximacin del segundo es incorrecta
ya que la tercera cifra decimal es 9 mayor que 5. En la mayor parte de los
clculos se cometen errores, por lo que la diferencia entre floor y round no es
significativa.

m. Mtodo random

La clase Math define una funcin denominada random que devuelve un nmero
pseudoaleatorio comprendido en el intervalo [0.0, 1.0).

2. LA CLASE String
Una de las clases importantes de Java contenidas en el paquete java.lang es sin
duda la clase String, esta clase es la plantilla base desde la cual se instancian
todas las cadenas de texto. Aunque, muchas veces pase inapercibido por el
usuario, al momento de declarar una cadena de texto, lo que est haciendo es crear
un objeto instanciado.

Ejemplo:
String apellido=Torres;//apellido es un objeto instanciado de la clase String

Para comprobarlo, escriba apellido y luego escriba el (punto). Observar las


propiedades y mtodos heredados por este objeto de la clase String.
Por lo expuesto anteriormente, dara lo mismo haber instanciado apellido de esta
otra manera:

String apellido=new String("Torres")

CONCLUSION:
En Java todas las cadenas de texto son objetos instanciados de la clase String.

MTODOS DE INSTANCIA DE LA CLASE String


Cada una de las cadenas de texto hereda automticamente los siguientes mtodos:

Mtodo toUpperCase

Devuelve el contenido de la cadena en maysculas.


Ejemplo:

if (txtlogin.getText()).toUpperCase=PEPE)
{ JOptionPane.showDialog(null,Usuario Admitido,Aviso,1);
}

Explicacin: Si el contenido de la caja de texto txtlogin es igual a PEPE, saldr


un caja de mensaje con el contenido Usuario Admitido, no interesar si el
usuario haya ingresado el texto en minscula o mayscula porque el mtodo
toUpperCase siempre lo convertir a maysculas.

Mtodo toLowerCase

Devuelve el contenido de la cadena en minsculas.


Ejemplo:

if (txtlogin.getText()).toLowerCase=PEPE)
{
JOptionPane.showDialog(null,Usuario Admitido,Aviso,1);
}

Mtodo charAt

Devuelve un carcter especfico de la cadena. (el primer carcter tiene la posicin


0). El dato devuelto es tipo char.
Ejemplo:

Explicacin: Se hace un recorrido por todos los caracteres de la cadena usando


la estructura for, empezando desde la primera posicin (cero) hasta la ultima
posicin 5, en cada vuelta se toma el carcter que corresponde a la variable i y
se convierte dicho carcter a su equivalente ASCII, luego se pregunta si dicho
carcter es igual al carcter e (Cdigo ASCII 101), si es as se mostrar un
mensaje en la consola indicando la posicin que ocupa dicho carcter en la
cadena.

Mtodo compareTo

Compara dos cadenas de texto, si la primera cadena es mayor que la segunda el


valor devuelto es un nmero mayor a 0, si el caso es viceversa devuelve un nmero
menor a 0, y si ambas cadenas son iguales devuelve el nmero 0.

Ejemplo:

String ape1=Torres;
String ape2=Castillo;
int r;
if(ape1.compareTo(ape2)>0)
{ System.out.println(El ape1 esta despus de ape2); }
else
{ System.out.println(El ape1 esta antes de ape2); }

Explicacin: La comparacin de ambas cadenas se hace a travs del valor del


cdigo ASCII de cada uno de los caracteres, comenzando desde el primero al
ltimo. Por ejemplo, la comparacin entre Torres y Castillo, dicha comparacin se
realizar en primer orden evaluando los cdigos ASCII de T (84) y C (67), en este
caso el primer valor es mayor al segundo, por lo que el valor devuelto de
comapreTo es un nmero mayor a 0.

Mtodo length()

Devuelve la longitud de la cadena.


Ejemplo:

if ((txtdni.getText()).length()!=8)
{ System.out.println(ERROR: No es un nmero de DNI vlido);
}

Mtodo endsWith

Devuelve verdadero si termina con


Ejemplo:
if (txtDNI.getText().endsWith(3))==true
{ System.out.println(Este DNI termina en 3);
}

Mtodo indexOf

Devuelve la posicin de la primera ocurrencia del carcter dado.


Ejemplo 1:

int c;
String ape=Torres Huaman;
c=ape.indexOf( );
System.out.println(El espacio en blanco esta situado en la posicin + c);

Ejemplo 2:

int p=0;
while(true)
{ p=str.indexOf(' ', p+1);
if(p==-1)

{ break; }
else
{ System.out.println("La posicin del espacio en blanco es: "+p); }
}

Explicacin: En este ejemplo, dado a que indexOf se encuentra dentro de una


estructura repetitiva, seguir buscando en qu posiciones se encuentra el espacio
en blanco ( )

Mtodo indexOf

Este mtodo devuelve verdadero cuando ambas cadenas son idnticamente


iguales.
Ejemplo:
If ((txtpassword.getText()).equals(TELESUP))==true)
{ System.out.println(Acceso permitido); }

Mtodo startsWith

Este mtodo devuelve verdadero cuando la cadena de texto empieza con la cadena
indicada.
Ejemplo:
If ((txtDireccion.getText()).startsWith(AV)==true)
{ System.out.println(Este domicilio esta ubicado en una Avenida); }

Mtodo substring

Extrae un segmento de la cadena


Ejemplo:

String cad= "Universidad";


cad = cad.substring(3, 6);
System.out.println(cad);

Explicacin: El mtodo substring en el ejemplo anterior extrae a partir de la posicin


3 hasta antes de la posicin 6

Mtodo trim

Elimina los espacios en blanco a la izquierda o derecha de la cadena.


Ejemplo:

if((txtdato.getText()).trim=)
{ System.out.println(El dato no puede ser vaco);
}
CONVERTIR OTROS TIPOS DE DATOS AL TIPO DE OBJETO STRING:

Mtodo valueOf

Es un mtodo esttico de la clase String que se encarga de convertir los diferentes tipos
de datos al tipo String.
Ejemplo:

int x=123;
String dato1=String.valueOf(x);
double y=23.345;
String dato2=String.valueOf( y );

EJEMPLOS PRCTICOS
A. Utilizando la Clase Math

// ESTE ES UN EJEMPLO DONDE SE PODRA OBSERVAR


// EJEMPLOS DE LOS DISTINTOS METODOS ESTTICOS DE LA CLASE MATH
public class mate {
public static void main(String args[]) {
int i = 7;
int j = -9;
double x = 72.3543;

double y = 0.3498;
System.out.println("i es " + i);
System.out.println("j es " + j);
System.out.println("x es " + x);
System.out.println("y es " + y);
// Valor absoluto de un nmero
System.out.println("|" + i + "| es " + Math.abs(i));
System.out.println("|" + j + "| es " + Math.abs(j));
System.out.println("|" + x + "| es " + Math.abs(x));
System.out.println("|" + y + "| es " + Math.abs( y ));
// aproximacin decimal
//empleando (round)
System.out.println(x + " es " + Math.round(x));
System.out.println(y + " es " + Math.round( y ));
System.out.println(x + " es aprox." + (double)Math.round(x*100)/100);
System.out.println(y + " es aprox." + (double)Math.round(y*100)/100);
System.out.println((double)Math.round(3.14156*100)/100); // Redondea a 1 decimal
// devuelve un int debeos convertrilo a double
//empleando floor
System.out.println("The floor of " + x + " es " + (100*Math.floor(x))/100);
System.out.println("The floor of " + y + " es " + (100*Math.floor( y))/100);
System.out.println(Math.floor(3.14159*100)/100);
// para hallar el menor de dos nmero
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 nmeros
System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j));
System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));
// las constantes PI y E
System.out.println("Pi es " + Math.PI);
System.out.println("e es " + Math.E);
//funciones trigonomtricas
//double angulo = 45.0 * Math.PI/180.0;
double angulo=Math.toRadians(90); // Convertimos 90 Grados a Radianes
System.out.println("cos(" + angulo + ") es " + Math.cos(angulo));
System.out.println("sin(" + angulo + ") es " + Math.sin(angulo));
System.out.println("tan(" + angulo + ") es " + Math.tan(angulo));
// Funciones trigonomrtricas inversas
double valor = 0.707;
System.out.println("acos(" + valor + ") es " + Math.acos(valor)); // Halla el Arcocoseno
System.out.println("asin(" + valor + ") es " + Math.asin(valor)); // Halla el Arcoseno
System.out.println("atan(" + valor + ") es " + Math.atan(valor)); // Halla el Arcotangente
y=6.2; //ordenada
x=-5.4; //abscisa
System.out.println("atan2(" + y+" , "+x + ") es " + Math.atan2(y, x));
//Funciones exponencial y logartmica
System.out.println("exp(1.0) es " + Math.exp(1.0));
System.out.println("exp(10.0) es " + Math.exp(10.0));

System.out.println("exp(0.0) es " + Math.exp(0.0));


System.out.println("log(1.0) es " + Math.log(1.0));
System.out.println("log(10.0) es " + Math.log(10.0));
System.out.println("log(Math.E) es " + (double)Math.log(Math.E*100)/100);
// pow(x,y) devuelve x elevado a y.
System.out.println("pow(2.0, 2.0) es " + Math.pow(2.0,2.0));
System.out.println("pow(10.0, 3.5) es " + Math.pow(10.0,3.5));
System.out.println("pow(8, -1) es " + Math.pow(8,-1));
// sqrt(x) devuelve la raz cuadrada de x.
System.out.println("La raz cuadrada de " + y + " es " + Math.sqrt( y ));
// Devuelve un nmero pseudo-aleatorio comprendido entre 0.0 y 1.0
System.out.println("Nmero aleatorio de 0 a 1 : " + Math.random());
System.out.println("Otro nmero aleatorio de 0 a 100 : " + Math.random()*100);
System.out.println("Nmero aleatorio de 10 a 20 : " + ((Math.random()*(20-10)) + (10)) ) ;
}
}

b. Utilizando la Clase String


// ESTE EJEMPLO MUESTRA LOS MTODOS ESTTICOS DE //LA
// CLASE STRING

public class String_cadena {


public static void main(String[] args) {
//longitud del string
String str="El primer programa";
System.out.println("longitud "+str.length());
//comienza y termina por...
str="El primer programa";
System.out.println("comienza por El "+str.startsWith("El"));
System.out.println("termina por programa "+str.endsWith("programa"));
//posicin de un carcter

int pos=str.indexOf('p');
System.out.println("posicin de la letra p "+pos);
//segunda ocuurencia de p
int p=0;
while(true)
{ p=str.indexOf(' ', p+1);
if(p==-1)
{ break; }
else
{ System.out.println("La posicion del espacio en blanco es: "+p); }
}
//comparacin - Si devuelve < que 0 significa que es menor
// Si devuelve > que 0 signfica que es mayor
// Si devuelve = a 0 signfica que ambos son iguales
str="Toms";
System.out.println("Orden alfabtico "+str.compareTo("Alberto"));
str="Alberto";
System.out.println("Orden alfabtico "+str.compareTo("Toms"));
System.out.println("Orden alfabtico "+str.compareTo("Alberto"));
//substring
str="El lenguaje Java";
System.out.println("Substring a partir de pos. 12 "+str.substring(12));
System.out.println("Substring desde pos. 3-11:" + str.substring(3, 11));
//eliminar los espacios en blanco
str=" 12 ";
System.out.println("string original "+str);
System.out.println("string sin espacios en blanco "+str.trim());
//convertir un nmero en string
String ape1="Torres";
String ape2="Castillo";
int r;
if(ape1.compareTo(ape2)>0)
{ System.out.println("El ape1 est despus de ape2"); }
else
{ System.out.println("El ape1 est antes de ape2"); }
}
}

Ejemplo: Realizacin comparacin de cadenas


public class Comparacion {
public static void main(String[] args) {
String str1="El lenguaje Java";
String str2=str1;

System.out.println("String1 --> "+str1);


System.out.println("String2 --> "+str2);
System.out.println("Es el mismo objeto? --> "+(str2==str1));
str2=new String(str1);
System.out.println("String1 --> "+str1);
System.out.println("String2 --> "+str2);
System.out.println("Es el mismo objeto? --> "+(str2==str1));
System.out.println("El mismo valor? --> "+(str2.equals(str1)));
}
}

Vous aimerez peut-être aussi