teoria de java

Upload: enrique-solano-garcia

Post on 23-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Teoria de java

    1/84

  • 7/24/2019 Teoria de java

    2/84

    Mtro. Enrique Solano Garca

    044 777 371 22 57

    [email protected]

  • 7/24/2019 Teoria de java

    3/84

    Este curso de Java trata de ser una guapaso a paso, desde cero, para crear una.Est dirigido a quienes dominan losfundamentos de programacin en algnotro lenguaje, que adems tienen losrudimentos de las consultas a las bases dedatos relacionales. Usa diversas librerasde la Java Estandar Edition tales como

    java.lang, java.awt, javax.swing y java. sqlde las que se estudian, ejemplifican yaplican las clases java esenciales.

  • 7/24/2019 Teoria de java

    4/84

    Qu y para qu es Java?

    Al hablar de Java, nos estamos refiriendo

    a tres cosas asociadas con la

    programacin de software: un lenguaje,

    una plataforma y un fenmeno.

  • 7/24/2019 Teoria de java

    5/84

    Qu y para qu es Java?

    La eficacia y la flexibilidad del lenguajepermitieron crear una plataforma tan extensaque tiene alcance lo mismo para aplicacionesde propsito, para el funcionamiento de

    dispositivos mviles y aparatos electrnicos, yhasta para sitios web; este alcance ha creadoun verdadero fenmenotecnolgico;

    Entonces, en estricto sentido, esta tecnologasirve para hacer aplicaciones, virtualmente,

    para cualquier componente que tenga unprocesador de software.

  • 7/24/2019 Teoria de java

    6/84

    Qu y para qu es Java?

    La plataforma para el desarrollo de Java

    est dividida en tres ediciones: la

    estndar (JSE), la empresarial (JEE) yla de dispositivos mviles (JME).

  • 7/24/2019 Teoria de java

    7/84

    Qu y para qu es Java?

    La primera contiene, entre muchas otras

    cosas, los elementos del lenguaje, los

    objetos para las interfaces grficasylos mecanismos de conexin a basede datos, que son lo primero que debe

    saberse para desarrollar aplicacionesJava bsicas.

  • 7/24/2019 Teoria de java

    8/84

    Objetivos y metodologa del curso

    El xito de la plataforma de Java se debe a quecumple plenamente con las exigencias de laprogramacin orientada a objetos (POO); estoobliga a que todo curso de Java tenga una

    introduccin a los fundamentos de estemodelo de diseo de software o a que seasuma su conocimiento. Sin embargo, hayuna ambigedad en la iniciacin en Javaporque sus aplicaciones deben orientarse aobjetos pero para explicar lo esencial no esnecesario.

  • 7/24/2019 Teoria de java

    9/84

    Objetivos y metodologa del curso

    La curva de aprendizaje de Java es ardua.Esto se debe principalmente a que losdesarrolladores no trabajan con el lenguajeen s sino con la plataforma. En elmomento que iniciamos una aplicacindebemos usar algunos objetospreexistentes que son parte de la edicinestndar y que realizan las labores

    comunes.

  • 7/24/2019 Teoria de java

    10/84

    Objetivos y metodologa del curso

    As que hay que aprender mucho antes de lograruna aplicacin robusta; la tarea puede ser agotadoray confusa, y los resultados, muy pobres. Ante esto,la metodologa de este curso ser explicar los

    elementos y la sintaxis bsica con un gradosuficiente de profundidad; y, despus, crear unaaplicacin de muestra, un paso a paso con lomnimo necesario para hacer un programa Javafuncional. Entonces, los objetivos sern dos: 1)Explicar lo esencial del lenguaje, y 2) Hacer una

    aplicacin de ejemplo que sea una interfaz grficaque haga consultas a una base de datos de MySQLy muestre los resultados en tablas.

  • 7/24/2019 Teoria de java

    11/84

    Iniciacin al lenguaje Java

    Instalacin

    Java funciona mediante un softwareconocidocomo la mquina virtual (JVM por sussiglas en ingls), que es el corazn delentorno de ejecucin y que debe estarinstalado en el sistema operativo para quelas aplicaciones Java se ejecuten. EnWindows est en una ruta semejante aesta:

    C:\Program Files\Java\jre[versin]

    En la que la versin es una sucesin denmeros como 1.4.5.6 , 1.6.0_07, etc.

  • 7/24/2019 Teoria de java

    12/84

    Para que los programas puedan ejecutarse hay que asegurarse que elJRE (java run enviroment) est instalado (que es lo ms probable); sino, se descarga de www.java.com que es un sitio dedicadoexclusivamente a la disponibilidad de la mquina virtual de Java.

    Para programar es necesario el kitde desarrollo (JDK) que sirve paracrear y probar las aplicaciones y que ya incluye el JRE. En el momento

    de la escritura de este curso la URLde descarga es:http://java.sun.com/javase/downloads/index.jsp

    En la que debe elegirse la presentacin sencilla que dice:

    Java SE Development Kit (JDK)

    JDK Update [versin]

    En la que, de la misma manera, versin es un nmero como 12, 14, 15,etc.

    http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    http://www.java.com/http://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://java.sun.com/javase/downloads/index.jsphttp://www.java.com/http://www.java.com/http://www.java.com/http://www.java.com/http://www.java.com/
  • 7/24/2019 Teoria de java

    13/84

    Hay otras descargas que tienen JFX, JEE o NetBeanspero son ms grandes y los complementos queofrecen no son necesarios para los objetivos de estecurso, aunque cualquiera de ellas sirve igual.Una vez instalado el JDK estar en un subdirectorio

    semejante a este al que se le conoce como [JAVA-HOME]:

    C:\Program Files\Java\jdk[versin]

    En cuanto al desarrollo de aplicaciones, aunque esposible trabajar los archivos de Java con cualquier

    editor de texto plano, aqu lo haremos con la versinLE de JCreator cuya pgina de descarga es:http://www.jcreator.com/download.htm

    JCreator no debe instalarse antes del JDK porque nofuncionar.

    http://www.jcreator.com/download.htmhttp://www.jcreator.com/download.htmhttp://www.jcreator.com/download.htmhttp://www.jcreator.com/download.htmhttp://www.jcreator.com/download.htmhttp://www.jcreator.com/download.htmhttp://www.jcreator.com/download.htmhttp://www.jcreator.com/download.htmhttp://www.jcreator.com/download.htmhttp://www.jcreator.com/download.htm
  • 7/24/2019 Teoria de java

    14/84

    Para probar que todo est como se espera

    debemos ejecutar JCreator y crear un

    archivo nuevo vaco:

  • 7/24/2019 Teoria de java

    15/84

    Oprimimos yen el NameescribimosHolaMundo, as,todo junto y

    respetando lasmaysculas.Adems,elegimos elsubdirectoriodonde se debe

    guardar el archivoy oprimimos:

  • 7/24/2019 Teoria de java

    16/84

    En seguida, copiamos y pegamos el

    siguiente programa:

    public class HolaMundo{public static void main(String[] args){

    System.out.println("Hola mundo");

    }

    }

  • 7/24/2019 Teoria de java

    17/84

    Obsrvese que el nombre de la clase y

    el del archivo son el mismo. Ejecutamos

    y compilamos con los botones que

    indica la figura siguiente y debeaparecer el mensaje Hola mundo en la

    ventana General Output:

  • 7/24/2019 Teoria de java

    18/84

  • 7/24/2019 Teoria de java

    19/84

    Si no se obtiene este resultado, es intil

    seguir adelante. Los errores los marcar

    JCreator y pueden deberse a que no

    est instalado el JDK o a que elprograma se escribi a mano y tiene

    errores. El compilador crea un archivo

    llamado HolaMundo.class que es el que

    contiene el programa y el que la

    mquina virtual puede interpretar.

  • 7/24/2019 Teoria de java

    20/84

    Definicin breve de la Programacin

    Orientada a Objetos POO)

    Antes de establecer los elementos del

    lenguaje, es necesario tener presentes

    los conceptos bsicos de la

    programacin orientada a objetosporque la sintaxis y el formato de Java

    estn plenamente apegados a ellos.

  • 7/24/2019 Teoria de java

    21/84

    Definicin breve de la Programacin

    Orientada a Objetos POO)

    Para empezar, todo parte del hecho deque el desarrollo de la programacin decomputadoras entr en crisis en los

    aos 60 y 70 del s. XX porque lasaplicaciones a menudo hacan cosasraras. Un caso es el del Centro deCmputo Noruego en Oslo en el que

    desarrollaban simuladores de vuelo;suceda, cuando los ejecutaban, que lasnaves colisionaban.

  • 7/24/2019 Teoria de java

    22/84

    Definicin breve de la Programacin

    Orientada a Objetos POO)

    Un anlisis del problema prob que la aplicacinconfunda las caractersticas entre uno y otro objeto

    simulado; Se concluy que esto se deba al modo

    como programaban y que los lenguajes de entonceseran incapaces de resolver el problema. Ante esto,

    los expertos del Centro Noruego desarrollaron

    Simula 67 que fue el primer lenguaje orientado a

    objetos.

  • 7/24/2019 Teoria de java

    23/84

    As que la POO es una manera de disear

    y desarrollar softwareque trata de imitar

    la realidad tomando algunos conceptos

    esenciales de ella; el primero de stoses, precisamente, el de objeto, cuyos

    rasgos son la identidad, el estadoy elcomportamiento.

  • 7/24/2019 Teoria de java

    24/84

    La identidad es el nombre que distingue a

    un objeto de otro.

    El estado son las caractersticas que lo

    describen.

    El comportamiento es lo que puede hacer.

  • 7/24/2019 Teoria de java

    25/84

    Se debe tener presente que los objetos, seanreales o su proyeccin en software, seabstraen en clases. Por ejemplo: de laclase perro pueden existir dos objetos Fido

    y Firulis (esta es su identidad). Fido esun san bernardo enorme, pinto, de 5 aosde edad; mientras que Firulis es unlabrador, negro, de 3 aos (este es suestado). Ambos perros ladran, merodean,

    juguetean, comen y duermen (este es sucomportamiento).

  • 7/24/2019 Teoria de java

    26/84

    Si nos pidieran que hiciramos unprograma orientado a objetos quesimulara lo anterior haramos la clase

    Perro que tendra las variables raza,color y edad, y los mtodos ladrar(),merodear(), juguetear(), comer() ydormir(). Firulis y Fido son los

    identificadoresque podramos usar enuna aplicacin que pretenda mostrardos objetos de la clase Perro.

  • 7/24/2019 Teoria de java

    27/84

    El programa Hola Mundo y losconceptos de abstraccin y

    encapsulamiento

  • 7/24/2019 Teoria de java

    28/84

    Otros conceptos de la POO son el de

    abstracciny el de encapsulamiento,que estn muy ligados y tienen que ver

    con el diseo de programas. Ambos serefieren a que los objetos deben hacer

    tareas que les son propias y no de otros

  • 7/24/2019 Teoria de java

    29/84

    Por lo comn, los objetos de la realidad no

    dan problemas porque ya existen. No fue

    difcil abstraer la clase Perro ni encapsular

    su comportamiento porque existe en larealidad. Para llevar esto al mbito del

    softwareanalicemos el caso del programa

    Hola Mundo. Hagamos el proceso de

    abstraccin para encapsular suscaractersticas y su comportamiento.

  • 7/24/2019 Teoria de java

    30/84

    El primer Hola Mundo lo populariz Brian Kernighanen los aos 70 del siglo XX, en un libro que causmucho inters en su tiempo y que escribi junto aDennis Ritchie: The C Programming Language. Hoy

    en da, es una tradicin presentar los lenguajes conun programa de este tipo, que lo que debe hacer esmostrar la frase Holamundoen la pantalla, y sirvepara probar que el lenguaje est debidamenteinstalado y funcionando. Entonces, abstrayendoesto, podemos decir que el comportamiento de los

    objetos del tipo Hola Mundo es mostrar un mensajey su caracterstica, el mensaje mismo.

  • 7/24/2019 Teoria de java

    31/84

    Lo que sigue es mostrar cmo los

    elementos de lenguaje Java nos

    permiten apegarnos a la orientacin a

    objetos; para eso es necesario conocerdichos elementos, pero antes, para

    finalizar, un breve resumen.

  • 7/24/2019 Teoria de java

    32/84

    Hemos introducido cinco conceptos de la POO:

    1. La identidad, que es el nombre que distingue a los objetos

    2. El estado, que se refiere a sus caractersticas o atributos

    3. El comportamiento, que indica los mtodos que se debenprogramar para que los objetos realicen acciones

    4. La abstraccin, que es el mecanismo mental para aislar sunaturaleza

    5. El encapsulamiento, que exige que sus caractersticas ymtodos estn bien definidos y no se confundan con los deotros.

    Faltan dos conceptos muy importantes: la herencia y elpolimorfismo, que veremos ms adelante, cuando elconocimiento del lenguaje facilite su comprensin.

  • 7/24/2019 Teoria de java

    33/84

    Lo que sigue es mostrar cmo los elementos de lenguaje Java nospermiten apegarnos a la orientacin a objetos; para eso esnecesario conocer dichos elementos, pero antes, para finalizar,un breve resumen.

    Hemos introducido cinco conceptos de la POO:

    1. La identidad, que es el nombre que distingue a los objetos

    2. El estado, que se refiere a sus caractersticas o atributos3. El comportamiento, que indica los mtodos que se debenprogramar para que los objetos realicen acciones4. La abstraccin, que es el mecanismo mental para aislar su

    naturaleza5. El encapsulamiento, que exige que sus caractersticas ymtodos estn bien definidos y no se confundan con los de

    otros

    Faltan dos conceptos muy importantes: la herencia y elpolimorfismo, que veremos ms adelante, cuando elconocimiento del lenguaje facilite su comprensin.

  • 7/24/2019 Teoria de java

    34/84

    Elementos del lenguaje Java

    El siguiente programa presenta la primera versin del Hola Mundoorientado a objetos:

    HolaMundoOO.java/*Aunque el compilador importa la librera java.lang completa*es conveniente importarla explcitamente por razones

    didcticas*/import java.lang.*;public class HolaMundoOO{String saludo; //La clase Sring la importamos de java.langpublic void mostrarSaludo(){saludo=Hola mundo;System.out.println(saludo);//La clase System la importamos de

    java.lang}}

  • 7/24/2019 Teoria de java

    35/84

    Y est conformado por los siguientes elementos: Identificadores

    Sentencias

    Bloques de cdigo

    Comentarios Expresiones

    Operadores

    Metacaracteres

    Palabras reservadas

    Explicaremos cul es el uso de cada uno de ellos y,despus, como funcionan en el HolaMundo.java.

    http://www.cursodejava.com.mx/cursodejava105.htmlhttp://www.cursodejava.com.mx/cursodejava106.htmlhttp://www.cursodejava.com.mx/cursodejava107.htmlhttp://www.cursodejava.com.mx/cursodejava108.htmlhttp://www.cursodejava.com.mx/cursodejava109.htmlhttp://www.cursodejava.com.mx/cursodejava110.htmlhttp://www.cursodejava.com.mx/cursodejava111.htmlhttp://www.cursodejava.com.mx/cursodejava112.htmlhttp://www.cursodejava.com.mx/cursodejava112.htmlhttp://www.cursodejava.com.mx/cursodejava111.htmlhttp://www.cursodejava.com.mx/cursodejava110.htmlhttp://www.cursodejava.com.mx/cursodejava109.htmlhttp://www.cursodejava.com.mx/cursodejava108.htmlhttp://www.cursodejava.com.mx/cursodejava107.htmlhttp://www.cursodejava.com.mx/cursodejava106.htmlhttp://www.cursodejava.com.mx/cursodejava105.html
  • 7/24/2019 Teoria de java

    36/84

    Identificadores

    Son los nombres que pueden tener las

    clases, los mtodos y las variables y no

    pueden contener espacios ni caracteresespeciales. Estos nombres deben

    respetar ciertas convenciones segn la

    siguiente tabla:

  • 7/24/2019 Teoria de java

    37/84

  • 7/24/2019 Teoria de java

    38/84

    Sentencias

    Son las rdenes que se deben ejecutar enel programa y terminan siempre con un

    punto y coma:;

    Por ejemplo:

    String saludo;

  • 7/24/2019 Teoria de java

    39/84

    Bloques de cdigoSon el principal mecanismo de encapsulamiento y se

    forman con un grupo de sentencias y de otrosbloques de cdigo delimitados por una llave deapertura y una de cierre (considerados

    metacaracteres en java, como veremos msadelante):

    { }

    Por ejemplo:

    { saludo=Hola mundo;System.out.println(saludo);

    //La clase System la importamos de java.lang

    }

  • 7/24/2019 Teoria de java

    40/84

  • 7/24/2019 Teoria de java

    41/84

    Expresiones

    Las expresiones son entidades formadas

    por dos o ms miembros separados

    entre s por operadores que los evalany los relacionan.

    Por ejemplo;saludo=HolaMundo;

  • 7/24/2019 Teoria de java

    42/84

    Operadores

    Los operadores son signos especiales parahacer acciones especficas y son el

    mecanismo con el cual los objetos interactanrelacionando los datos y devolviendo nuevosvalores; los mostraremos conforme losnecesitemos. Se clasifican as:

    Aritmticos De comparacin y lgicos

    De asignacin

  • 7/24/2019 Teoria de java

    43/84

    Metacaracteres

    Existen otro tipo de caracteres particulares

    que sirven para el control y lasignificacin puntual en las sentencias y

    los bloques de cdigo:

    ( [ { \ ^ - $ | ] } ) ? * +

  • 7/24/2019 Teoria de java

    44/84

    Palabras reservadas

    Hay un grupo de palabras en Java con las cuales, entreotras cosas, se realizan las tareas principales, sedelimitan los alcances de los objetos, sus datos y

    sus mtodos, etc. Se pueden clasificar as y lasmostraremos tambin conforme avancemos:

    Tipos de datos

    Sentencias condicionales

    Sentencias iterativas Tratamiento de las excepciones

    Estructura de datos

    Modificadores y control de acceso

  • 7/24/2019 Teoria de java

    45/84

  • 7/24/2019 Teoria de java

    46/84

    (Obsrvese que la lnea saludo= Hola

    mundo; es, adems, una expresin

    porque utiliza el operador de igual (=))

    La imagen anterior muestra que, apesar de la sencillez del programa, son

    muchos los elementos que estn

    involucrados.

  • 7/24/2019 Teoria de java

    47/84

    Las reglas de organizacin de dichos

    elementos conforman la sintaxis cuya

    comprensin nos obligar a

    desmenuzar el programaHolaMundoOOen el siguiente apartado.

  • 7/24/2019 Teoria de java

    48/84

  • 7/24/2019 Teoria de java

    49/84

    Sintaxis

    El mbito ms externo es donde

    importamos los recursos que se

    requerirn para el programa y dondedeclaramos el programa mismo. Aqu

    est el principio de todo. En Java

    siempre desarrollaremos clases, ysiempre usaremos clases ya hechasque importaremos.

  • 7/24/2019 Teoria de java

    50/84

    Sintaxis

    Los recursos mnimos para programar

    estn en el paquete lang de la librera

    java que el compilador importa por

    omisin, aunque aqu (ya lo decamosen un comentario de la clase

    HolaMundoOO) lo haremos

    explcitamente por razones didcticas.

  • 7/24/2019 Teoria de java

    51/84

    As que al comenzar a desarrollar un

    programa debemos primero determinar

    las clases externas necesarias para

    ayudar a la clase que crearemosnosotros, y despus crear sta.

  • 7/24/2019 Teoria de java

    52/84

    Para la primera labor usamos la palabra

    reservada import y todas las clases

    invocadas as podrn ser utilizadas en

    cualquier lugar del bloque de cdigo dela clase.

  • 7/24/2019 Teoria de java

    53/84

    para la segunda, empleamos las palabras

    reservadas public class seguidas del

    nombre que deseemos asignarle;

  • 7/24/2019 Teoria de java

    54/84

    Debe ser nico, preferentemente un

    sustantivo, iniciar con mayscula y

    expresar claramente su funcin porque

    ser el identificador de la clase;despus van dos llaves que contendrn

    el bloque de cdigo, como muestra la

    figura siguiente.

  • 7/24/2019 Teoria de java

    55/84

    El rectngulo representa el mbito o alcance. Los objetos del

    paquete lang estn disponibles en todos lados.

    Dentro del bloque de la clase est el lugar donde deben crearse las

    propiedades o atributos y declararse los mtodos. Las propiedades

    deben escribirse primero, fuera de cualquier mtodo y su alcance

    ser toda la clase, que es lo que significa el rectngulo interno en la

    siguiente figura.

  • 7/24/2019 Teoria de java

    56/84

    Aqu hace falta hablar de la sintaxis de la creacin e inicializacin de las variables.

    En Java, toda variable se crea estableciendo su tipo seguido de un nombre, que deber

    ser nico en el mbito donde se le declara;

    se inicializan siempre con una expresin.

    Crearsignifica asignarles un espacio en memoria, mientas que inicializares darles un

    valor:

    String saludo; Crea una variable llamada saludo.

    saludo= Hola mundo; La inicializa

  • 7/24/2019 Teoria de java

    57/84

    Cuando las variables son atributos deben

    crearse nicamente y debe hacerse

    fuera de los mtodos; por otro lado,

    sern inicializadas dentro de alguno deellos en el que convenga. Es posible

    hacer ambas labores en una sola lnea

    pero ser slo aqullas que sirven a las

    tareas de los mtodos:

    String muestra= Estoes una muestra;

  • 7/24/2019 Teoria de java

    58/84

    Los mtodos, por su parte, se declaranestableciendo primero el nivel de acceso.En este caso mostrarSaludo()tiene accesopblico (para eso usamos la palabra

    reservada public), que significa quecualquier objeto externo puede invocar latarea encapsulada en el mtodo. Hay otrasposibilidades, por ejemplo prvate, que estambin una palabra reservada, y que

    significa que el mtodo slo puede serusado al interior de la clase en la que esdeclarado.

  • 7/24/2019 Teoria de java

    59/84

    Despus del nivel de acceso, est el tipode datos que el mtodo devuelve;mostrarSaludo() no regresa ningnvalor; para indicar esto se usa otrapalabra reservada: void, que, comoveremos despus, podr ser sustituidapor cualquier tipo de datos. Todos los

    mtodos deben tener su propio bloquede cdigo, en el que, como ya dijimos,est encapsulada su tarea.

  • 7/24/2019 Teoria de java

    60/84

  • 7/24/2019 Teoria de java

    61/84

    En cuanto a la sintaxis, falta decir que otra de las

    responsabilidades de cualquier clase es autoconstruirse por lo que

    tendr un mtodo que se llamar igual que la clase misma, deberser pblico, no tiene modificador del tipo que devuelve y lo

    llamamos el constructor, con lo anterior la clase queda comosigue (obsrvese que en este mtodo se inicializa el atributo):

  • 7/24/2019 Teoria de java

    62/84

  • 7/24/2019 Teoria de java

    63/84

    Finalmente, otro mecanismo de encapsulamiento escrear paquetes para guardar en ellos las clases quehacen labores afines. Esto se logra con la palabrareservada package seguida del nombre queidentificar al paquete; stos se escriben slo conminsculas. La versin final de la claseHolaMundoOO que queda encapsulada en elpaquete holamundo, que importa de java.lang lasclases Stringy System, que tiene el atributo saludode tipo String, que se autoconstruye e inicializa lapropiedad, que tiene un mtodo que muestra saludo

    usando la clase System queda as (Atindanse loscomentarios):

  • 7/24/2019 Teoria de java

    64/84

  • 7/24/2019 Teoria de java

    65/84

    Si aplicamos al programa anterior los

    mismos pasos del apartado de

    instalacin para probar JCreator,

    excepto el de ejecucin; es decir, crearun nuevo documento vaco con el

    mismo nombre de la clase, copiar el

    cdigo anterior y oprimir el botn de

    compilacin debemos obtener algo

    parecido a esto:

  • 7/24/2019 Teoria de java

    66/84

  • 7/24/2019 Teoria de java

    67/84

    El efecto de compilar es que se crea

    un archivo .java

  • 7/24/2019 Teoria de java

    68/84

    Dentro del paquete queda el archivo .class, que

    es el que la mquina virtual puede interpretar:

  • 7/24/2019 Teoria de java

    69/84

    Ejecucin y flujo de datos

    EjecucinFalta decir que en toda aplicacin Java debe haber una

    clase que tenga un mtodo mainque es el primeroque se ejecuta. La clase que hemos creado no lotiene porque no es su responsabilidad, si nos

    apegamos al proceso de abstraccin segn el cualla diseamos. Para eso haremos otra clase llamadaEjecutorHolaMundoOO cuya responsabilidad sercorrer el programa y que tendr como propiedad unobjeto de la clase HolaMundoOO. Esto nos servircomo prctica de sintaxis y para analizar el flujo de

    datos en Java.

  • 7/24/2019 Teoria de java

    70/84

    Hagmoslo por pasos, mbito por mbito:

    1. Empaquetamos en util, importamos

    HolaMundoOO y declaramos la clase:

  • 7/24/2019 Teoria de java

    71/84

  • 7/24/2019 Teoria de java

    72/84

  • 7/24/2019 Teoria de java

    73/84

    package util; import holamundo.HolaMundoOO; public classEjecutorHolaMundoOO { HolaMundoOO hola; public

    EjecutorHolaMundoOO(){ hola=new HolaMundoOO();

    hola.mostrarSaludo(); } public static void main(String[] args) {

    EjecutorHolaMundoOO ejecutor=new EjecutorHolaMundoOO(); } }

  • 7/24/2019 Teoria de java

    74/84

    En JCreator, en un archivo vaco llamadoigual que la clase

    (EjecutorHolaMundoOO) y que debe

    estar en el mismo subdirectorio que elHolaMundoOO.java, escribimos el

    cdigo; Compilamos y ejecutamos el

    programa, con lo que debemos obtener

    el siguiente resultado:

  • 7/24/2019 Teoria de java

    75/84

  • 7/24/2019 Teoria de java

    76/84

    La estructura de directorios debepresentar los archivos .java y los dos

    subdirectorios de los paquetes dentro

    de los cuales debe estar cada uno delos archivos .class:

  • 7/24/2019 Teoria de java

    77/84

    Ejecucin y flujo de datos

    Flujo de datosLo que sigue es explicar cmo funciona lo anterior. Cuando oprimimos el

    botn ejecutar, el compilador de Java busca el mtodo main, si no loencuentra, mostrar un error. En nuestro caso, esta es la sucesin de

    pasos:1. Comienza a recorrer el bloque de cdigo del mtodo main quecontiene un objeto de la clase EjecutorHolaMundoOO que llamamosejecutor y que inicializamos usando la palabra reservada new y elmtodo constructor de dicha clase.2. Esto inicializa el objeto hola con el constructor de la clase

    HolaMundoOO,a. Que llena el objeto saludo con la cadena Hola mundo3. Despus, en el constructor de la clase EjecutorHolaMundoOO, seinvoca al mtodo muestraSaludo() del objeto holaa. Que enva, en una lnea, la variable saludoa la salida estndar del

    sistema, que en JCreator es la ventana General Output.El siguiente diagrama muestra el proceso anterior:

  • 7/24/2019 Teoria de java

    78/84

  • 7/24/2019 Teoria de java

    79/84

    Uno.java

    package uno;

    public class Uno{

    public static void main(String[] args){

    System.out.println("Bienvenidos a la programacin");

    }

    }

  • 7/24/2019 Teoria de java

    80/84

    Mensaje.java

    package mensaje;import javax.swing.*;

    public class Mensaje{

    public static void main(String arg[]){

    JOptionPane.showMessageDialog(null,"HOLA","BIENVENIDOS",JOptionPane.INFORMATION_MESSAGE);

    }

    }

    M j 2 j

  • 7/24/2019 Teoria de java

    81/84

    Mensaje2.java

    package mensaje2;import javax.swing.*;

    class Mensaje2{

    public static void main(String args[]){String Nombre;

    Nombre=JOptionPane.showInputDialog("Digite sunombre");

    JOptionPane.showMessageDialog(null,"bienvenido

    "+Nombre);}

    }

    S j

  • 7/24/2019 Teoria de java

    82/84

    Suma.java

    package suma;

    public class Suma{

    public static void main(String args[]){

    int a=26;int b=10;

    int sum;

    sum=a+b;

    System.out.println("La suma es: " +sum);}

    }

    S d j

  • 7/24/2019 Teoria de java

    83/84

    Sumados.java

    package sumados;import java.io.*;

    public class Sumados{

    public static void main(String args[]){

    InputStreamReader uno=new InputStreamReader(System.in);

    BufferedReader br=new BufferedReader(uno);

    try{ System.out.print("Teclea el nmero a sumar: ");

    int num1=Integer.parseInt(br.readLine());

    System.out.print("Teclea el segundo nmero a sumar: ");

    int num2=Integer.parseInt(br.readLine());

    int total= num1+num2;

    System.out.println("La suma es: "+total);

    }

    catch(Exception e){}

    }

    }

    M lti j

  • 7/24/2019 Teoria de java

    84/84

    Multi.java

    package multi;import java.util.*;

    public class Multi{

    public static void main(String args[]){

    int a;

    int b;

    float multi;

    System.out.println("Escribe el primer nmero: ");

    Scanner uno=new Scanner(System.in);

    a=uno.nextInt();

    System.out.println("Escribe el segundo nmero: ");

    Scanner dos=new Scanner(System.in);

    b=dos.nextInt();

    multi=a*b;System.out.println("El total es: "+ multi);

    }

    }