I UNIDAD LENGUAJE DE PROGRAMACION II.pdf

52
INTRODUCCIÓN a) Presentación y contextualización En esta Unidad trataremos los temas de fundamento que te permitan comprender la filosofía e importancia de la programación orientada a objetos como un estándar actual en el desarrollo de aplicaciones informáticas. Adicionalmente, también aprenderás a expresar tu percepción de la realidad en objetos, para luego a partir de esta percepción crear tus primeras clases e implementarlas con métodos y propiedades. Finalmente, en esta Unidad aprenderás 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 relación a su clase. c) Capacidades 1. Analiza una realidad, se abstrae y lo formula en un modelo de objetos. 2. Diferencia las variables y métodos estáticos de las propiedades y métodos de instancia (miembros) y los aplica al desarrollar una aplicación. 3. Diferencia la capa de la Lógica de Presentación y Lógica de Negocios y los utiliza al desarrollar aplicaciones en dos capas. 4. Distingue la utilidad de los métodos estáticos de la clase Math y String d) Actitudes Desarrolla una actitud analítica y sistémica, a partir de la cual expone diversos planteamientos en relación con la actividad asignada. Actúa con responsabilidad personal, al cumplir con los cronogramas establecidos y la metodología del plan de estudio virtual. Disposición emprendedora e) Presentación de ideas básicas 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 Básicos de la Programación Orientada a Objetos Tema 02: Variables y Métodos Estáticos Tema 03: Modelamiento de Clases Tema 04: La Clase Math y La Clase String

Transcript of I UNIDAD LENGUAJE DE PROGRAMACION II.pdf

  • 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))); } }