Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción al lenguaje Java




Enviado por Pablo Turmero



    Monografias.com

    Indice
    1. Introducción histórica. Origen de Java.
    2. Características de Java.
    3. La máquina virtual de Java. Bytecode.
    4. Palabras reservadas.
    5. Introducción a la programación orientada a objetos.
    6. Diferencias entre C/C++ y Java.
    7. Ejemplo: “Hello world”, en el modelo de aplicación clásico.

    Monografias.com

    Lenguajes de programación
    Modelo computacional: colección de valores y operaciones
    Tipos de modelos computacionales (Paradigma): imperativo, funcional, lógico …
    Computación: aplicación de una secuencia de operaciones a un valor para obtener otro valor
    Programa: especificación de una computación
    Lenguaje de programación: notación para escribir programas
    Sintaxis de un lenguaje de programación: estructura o forma de los programas
    Semántica de un lenguaje de programación: relaciones entre un programa y un modelo de computación
    Pragmática de un lenguaje de programación: grado de éxito con el que un programa cumple sus objetivos tanto en su fidelidad con el modelo de computación subyacente como su utilidad para los programadores

    Monografias.com

    Modelo de Programación.
    Un modelo de programación provee (y determina) la visión y métodos de un programador en la construcción de un programa o subprograma.
    Los diferentes paradigmas son el resultado de los distintos estilos de programación y las diferentes formas de pensar en la solución de problemas (con la solución de múltiples “problemas” se construye una aplicación).

    Monografias.com

    Modelo Imperativo
    Describe la programación como una secuencia instrucciones o comandos que cambian el estado de un programa.
    El código máquina en general está basado en el paradigma imperativo.
    Su contrario es el paradigma declarativo.
    En este paradigma se incluye el paradigma procedimental (procedural) entre otros.

    Monografias.com

    Ejemplo
    a=2
    b=3
    c=4
    Programa
    a=b+c
    b=b+1
    Estado 0
    a=7
    b=3
    c=4
    a=7
    b=4
    c=4
    Estado 1
    Estado 2
    a=b+c

    b=b+1

    Monografias.com

    Programación Estructurada
    La programación se divide en bloques (procedimientos y funciones) que pueden o no comunicarse entre sí.
    Además la programación se controla con secuencia, selección e iteración.
    Permite reutilizar código programado y otorga una mejor compresión de la programación.
    Es contrario al paradigma no estructurado, de poco uso, que no tiene ninguna estructura, es simplemente un “bloque”, como por ejemplo, los archivos batch (.bat)

    Monografias.com

    Modelo Declarativo
    No se basa en el cómo se hace algo (cómo se logra un objetivo paso a paso), sino que describe (declara) cómo es algo.
    En otras palabras, se enfoca en describir las propiedades de la solución buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para encontrar esa solución.
    Es más complicado de implementar que el paradigma imperativo, tiene desventajas en la eficiencia, pero ventajas en la solución de determinados problemas.

    Monografias.com

    Programación Declarativa
    Usa bloques de construcción como las funciones, la recursión o la equipación de patrones, para especificar más la solución que su cálculo de bajo nivel.
    Tipos:
    Lenguajes funcionales
    Lenguajes lógicos

    Monografias.com

    Programación Funcional
    Usan funciones libres de efectos secundarios como bloques primitivos de construcción de programas.
    Estas funciones pueden aplicarse, construirse y pasarse como argumento a otras funciones.
    Concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos.
    En otras palabras, hace hincapié en la aplicación de las funciones y composición entre ellas, más que en los cambios de estados y la ejecución secuencial de comandos (como lo hace el paradigma procedimental).
    Permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de programaciones.
    Haskell, Miranda, Scala, Lisp, Scheme,Ocaml, SAP, Standard ML, Erlang,R, F#

    Monografias.com

    Paradigma lógico
    Se basa en la definición de reglas lógicas para luego, a través de un motor de inferencias lógicas, responder preguntas planteadas al sistema y así resolver los problemas. Ej.: prolog.

    Monografias.com

    Programación Orientado a Objetos
    Basado en la idea de encapsular estado y operaciones en objetos.
    En general, la programación se resuelve comunicando dichos objetos a través de mensajes (programación orientada a mensajes).
    Se puede incluir -aunque no formalmente- dentro de este paradigma, el paradigma basado en objetos, que además posee herencia y subtipos entre objetos. Ej.: Simula, Smalltalk, C++, Java, Visual Basic .NET, etc.
    Su principal ventaja es la reutilización de códigos y su facilidad para pensar soluciones a determinados problemas.

    Monografias.com

    Introducción histórica(I)
    CPL?BCPL ?? B ?? C ?? C++ ??Java
    CPL (Combined Programming Language): 1960, basado en ALGOL 60.
    BCPL (Basic Combined Programming Language ): Martin Richards, 1966.
    B: Ken Thompson y Dennis Ritchie, reemplazado por C (1969).

    Monografias.com

    Introducción histórica(II)
    C: Bell Telephone Laboratories (1972) por Dennis Ritchie para usarlo con Unix
    Propósito general,
    Estructurado por bloques,
    Imperativo,
    Procedimientos

    Monografias.com

    Introducción histórica(II)
    C++:
    Bjarne Stroustrup (1979) Bell Labs.
    Como mejora a C: “C con clases”. C++ in 1983.
    Las mejoras comenzaron con la adición de clases, funciones virtuales, sobrecarga de operadores, herencia múltiple, plantillas, y manejo de excepciones.
    C++ fue ratificado como estándar en 1998 como ISO/IEC 14882:1998, la actual versión es de 2003, ISO/IEC 14882:2003.

    Monografias.com

    Java
    Sun Microsystems (1995)
    Sintaxis deriva de C y C++.
    Orientado a Objetos
    Compilado a bytecode. Ejecutado sobre cualquier Java virtual machine (JVM). Sobre cualquier arquitectura.
    Desde 1995 Sun desarrolla e implementa compiladores, máquinas virtuales y librería de clases.

    Monografias.com

    A-0
    FORTRAN
    Mark I Autocode
    FLOW-MATIC
    General Problem Solver
    FORTRAN II
    FORTRAN IV
    ALGOL/
    ALGOL58
    ALGOL60
    JOSS
    FORTRAN 66
    ALGOL68
    FORTRAN 77
    PL/1
    PL/C
    FACT
    COMTRAN
    COBOL
    SNOBOL
    BASIC
    SNOBOL 4
    MUMPS
    COWSEL
    POP-1
    POP-2
    PILOT
    INTERCAL
    ML
    Prolog
    Mercury
    Bourne
    Shell
    DBase
    DBase-II
    DBase-III
    DBase-IV
    dBase 5.0
    VULCAN
    BETA
    Occam
    Occam2
    Clipper
    Foxpro
    PARADOX
    COMAL
    GRASS
    Altair
    BASIC
    Gambas
    VisualBasic
    VB Script
    Ada 95
    Pascal
    Concurrent
    Pascal
    Ada
    Turbo
    Pascal
    Green
    Ada 83
    ICON
    MODULA
    MODULA-2
    FORTRAN 90
    MODULA-3
    Oberon
    Oberon2
    TurboPascal
    OOP
    Borland Pascal
    ComponentPascal
    Delphi
    ELAN
    APL
    CPL
    BCPL
    B
    B BPL
    C
    D
    Unix-Shell
    sh
    csh
    ksh bash
    awk
    Ratfor
    nawk
    gawk
    Perl
    REXX
    PHP
    PHP/F1
    Perl 5
    Tcl
    J
    FL
    K
    NGL
    S2
    Coyote
    Smalltalk-80
    Smalltalk-72
    Objective C
    C++
    ANSI C
    ISO C90
    Miranda
    Haskell
    MetaHaskell
    ISO C95
    ISO C99
    C#
    Nemerle
    ECMAScript
    JavaScript
    LiveScript
    Java
    Self
    Pike
    FP
    LPC
    Joy
    Factor
    Simula OOP
    PostScript
    SIMULA
    Simula-67
    Forth
    Scheme
    LISP
    Logo
    Common Lisp
    TRAC
    Ada lovelace
    Plankalkul

    Monografias.com

    Características de Java
    Simple y seguro
    Portable
    OOP
    Robusto
    Multihilo
    Neutral
    Interpretado
    Rendimiento
    Distribuido
    dinámico

    Monografias.com

    Interprete & Compilador
    Un Intérprete es un traductor que toma el programa fuente y lo traduce y ejecuta lína a línea.
    Basic, Java, Smalltalk.
    Un Compilador de un programa que traduce los programas escritos en lenguaje de alto nivel a lenguaje máquina.
    C, C++, Pascal, Fortran, Cobol.
    Programa Fuente
    Intérprete
    Traduc.y ejec.
    Línea a línea
    Programa Fuente
    Compilador
    Programa Objeto

    Monografias.com

    La máquina virtual de Java: Bytecode.

    Monografias.com

    Monografias.com

    Application Programming Interface (API)
    Una Application Programming Interface (API) es un conjunto de funciones, procedimientos o clases que un sistema operativo, librería o servicio proporciona para soportar peticiones realizadas por un programa de ordenador.
    Son dependientes de lenguaje, ya que están disponibles solo en un lenguaje de programación particular. Utilizan la sintaxis y elementos de los lenguajes de programación para hacer que sea adecuada para usarla en un contexto particular.
    Son independientes del lenguaje, ya que están escritas en una forma en que pueden ser llamadas desde diferentes lenguajes de programación. Esta característica se conoce como API al estilo servicio, ya que no limita a un proceso particular o sistema y está disponible como una llamada a procedimiento remoto.

    Monografias.com

    La máquina virtual de Java

    Monografias.com

    Monografias.com

    Palabras reservadas (I)
    (Gp:) abstract

    (Gp:) Especifica la clase o método que se va a implementar más tarde en una subclase.

    (Gp:) boolean

    (Gp:) Tipo de dato que sólo puede tomar valores true o false.

    (Gp:) break

    (Gp:) Sentencia de control para salirse de los bucles.

    (Gp:) byte

    (Gp:) Tipo de dato que soporta valores en 8 bits.

    (Gp:) byvalue

    (Gp:) Reservada para uso futuro.

    (Gp:) case

    (Gp:) Se utiliza en las sentencias switch para indicar bloques de texto.

    (Gp:) cast

    (Gp:) Reservada para uso futuro.

    (Gp:) catch

    (Gp:) Captura las excepciones generadas pro las sentencias try.

    (Gp:) char

    (Gp:) Tipo de dato que puede soportar caracteres Unicode sin signo en 16 bits.

    (Gp:) class

    (Gp:) Declara una clase nueva.

    (Gp:) const

    (Gp:) Reservada para uso futuro.

    (Gp:) continue

    (Gp:) Devuelve el control a la salida de un bucle.

    (Gp:) default

    (Gp:) Indica el bloque de código por defecto en una sentencia switch.

    (Gp:) do

    (Gp:) Inicia un bucle del tipo do-while.

    (Gp:) double

    (Gp:) Tipo de dato que soporta números en coma flotante, 64 bits.

    (Gp:) else

    (Gp:) Indica la opción alternativa en una sentencia if.

    (Gp:) extends

    (Gp:) Indica que una clase es derivada de otra o de una intefaz.

    (Gp:) final

    (Gp:) Indica que una variable soporta un valor constante o que un método no se sobrescribirá.

    Monografias.com

    Palabras reservadas (II)
    (Gp:) finally

    (Gp:) Indica un bloque de código en una estructura try-catch que siempre se ejecutará.

    (Gp:) float

    (Gp:) Tipo de dato que soporta un número en coma flotante de 32 bits.

    (Gp:) for

    (Gp:) Utilizado para iniciar un bucle for.

    (Gp:) future

    (Gp:) Reservada para uso futuro.

    (Gp:) generic

    (Gp:) Reservada para uso futuro.

    (Gp:) goto

    (Gp:) Reservada para uso futuro.

    (Gp:) if

    (Gp:) Evalúa si una expresión es verdadera o falsa y la dirige adecuadamente.

    (Gp:) implements

    (Gp:) Especifica que una clase implementa una interfaz.

    (Gp:) import

    (Gp:) Referencia a otras clases.

    (Gp:) inner

    (Gp:) Reservada para uso futuro.

    (Gp:) instanceof

    (Gp:) Indica si un objeto es una instancia de una clase específica o implementa una interfaz específica.

    (Gp:) int

    (Gp:) Tipo de dato que puede soportar un entero con signo de 32 bits.

    (Gp:) interface

    (Gp:) Declara una interfaz.

    (Gp:) long

    (Gp:) Tipo de dato que soporta un entero de 64 bits.

    (Gp:) native

    (Gp:) Especifica que un método está implementado con código nativo (específico de la plataforma).

    (Gp:) new

    (Gp:) Crea objetos nuevos.

    (Gp:) null

    (Gp:) Indica que una referencia no se refiere a nada.

    (Gp:) operator

    (Gp:) Reservada para uso futuro.

    (Gp:) outer

    (Gp:) Reservada para uso futuro.

    Monografias.com

    Palabras reservadas (y III)
    (Gp:) package

    (Gp:) Declara un paquete Java.

    (Gp:) private

    (Gp:) Especificador de acceso que indica que un método o variable sólo puede ser accesible desde la clase en la que se está declarando.

    (Gp:) protected

    (Gp:) Especificador de acceso que indica que un método o variable solo puede ser accesible desde la clase en la que está declarado ( o una subclase de la clase en la que está declarada u otras clases del mismo paquete).

    (Gp:) public

    (Gp:) Especificador de acceso utilizado para clases, interfaces, métodos y variables que indican que un tema es accesible desde la aplicación (o desde donde la clase defina que es accesible).

    (Gp:) rest

    (Gp:) Reservada para uso futuro.

    (Gp:) return

    (Gp:) Envía control y posiblemente devuelve un valor desde el método que fue invocado.

    (Gp:) short

    (Gp:) Tipo de dato que puede soportar un entero de 16 bits.

    (Gp:) static

    (Gp:) Indica que una variable o método es un método de una clase (más que estar limitado a un objeto particular).

    (Gp:) super

    (Gp:) Se refiere a una clase base de la clase utilizada en un método o constructor de clase.

    (Gp:) switch

    (Gp:) Sentencia que ejecuta código basándose en un valor.

    (Gp:) synchronized

    (Gp:) Especifica secciones o métodos críticos de código multihilo.

    (Gp:) this

    (Gp:) Se refiere al objeto actual en un método o constructor.

    (Gp:) throw

    (Gp:) Crea una excepción.

    (Gp:) throws

    (Gp:) Indica qué excepciones puede proporcionar un método.

    (Gp:) transiente

    (Gp:) Especifica que una variable no es parte del estado persistente de un objeto.

    (Gp:) try

    (Gp:) Indica un bloque de código que es comprobado para las excepciones.

    (Gp:) var

    (Gp:) Reservado para uso futuro.

    (Gp:) void

    (Gp:) Especifica que un método no devuelve ningún valor.

    (Gp:) volatile

    (Gp:) Indica que una variable puede cambiar de forma asíncrona.

    (Gp:) while

    (Gp:) Inicia un bucle while.

    Monografias.com

    Introducción a la programación orientada a objetos (OOP)
    Es un paradigma de programación que usa “objetos” y sus interacciones para diseñar aplicaciones y programas de ordenador.
    Esta técnica de programación incluye
    Encapsulación
    Modularidad
    Polimorfismo, y
    Herencia.

    Monografias.com

    Conceptos de la OOP
    Clase
    Objeto
    Instancia
    Método
    Paso de Mensaje
    Herencia
    Abstracción
    Encapsulado
    Polimorfismo

    Monografias.com

    Clase (I)
    Define la abstracción de las cosas (objetos), incluye sus estados o características (atributos, campos) y sus propiedades (las cosas que puede hacer, o métodos, operaciones).
    Se podría decir que una clase es un plano o molde que describe la naturaleza de algo.
    Ejemplo: la clase Perro podría considerar la raza, color (características), y la habilidades de ladrar y sentarse (propiedades).

    Monografias.com

    Clase (y II)
    Las clases proporcionan modularidad y estructura en OOP.
    Una clase debería normalmente ser reconocido por una persona del dominio del problema que no sea programador.
    El significado de la clase debería tener sentido en el contexto al que se le da significado.
    El código de una clase debería ser relativamente autocontenido (normalmente usando encapsulación).
    Las propiedades y métodos definidos en una clase se conocen como miembros

    Monografias.com

    Objeto
    Es un ejemplar de una clase.
    La clase Perro define todos los posibles perros mediante un listado de las características y propiedades se puede tener el objeto Lassie, que es un perro particular, con versiones particulares de las características.
    Un Perro tiene un pelo. Lassie tiene el pelo de color marrón y blanco.

    Monografias.com

    Monografias.com

    Monografias.com

    Instancia
    Una instancia es el objeto creado a partir de una clase en tiempo de ejecución.
    El objeto Lassie es una instancia de la clase Perro.
    El conjunto de valores de los atributos del objeto particular se conocen como estados.
    El objeto consta de estados y propiedades que están definidas en la clase de objetos.

    Monografias.com

    Método
    Son las habilidades de un objeto.
    En un lenguaje, los métodos son verbos.
    Lassie es un Perro, que tiene la habilidad de ladrar. Por tanto, ladrar(), es un método de Lassie.
    Podría tener otros métodos también como, sentar(), comer(), caminar(), o correr().
    Un método afecta solo a un objeto en particular. Todos los perros ladran, pero se necesita un solo perro concreto para que ladre.

    Monografias.com

    Paso de Mensajes
    Es le proceso mediante el cual un objeto envía datos a otro objeto o pide a otro objeto que invoque a un método.
    En los lenguajes de programación es crear una interfaz.
    Ejemplo, el objeto llamador Antonio podría decir al objeto Lassie que se siente mediante el paso del mensaje sentar, que invoca el método sentar de Lassie.
    La sintaxis varía según los lenguajes de programación. [Lassie sit] en Objective-C. En Java el mensaje a nivel de código corresponde al “método llamado”. Algunos lenguajes dinámicos usan otros mecanismos.

    Monografias.com

    Monografias.com

    Monografias.com

    Abstracción
    Abstracción es simplificar la realidad compleja mediante el modelado de una clase apropiada al problema, y trabajar al nivel más apropiado de herencia para un aspecto concreto del problema.
    Por ejemplo, Lassie el Perro podría ser tratado como un perro durante mucho tiempo, un Collie (su raza) cuando se necesite acceder a atributos o propiedades especificas de esa raza, y como un Animal cuando se encuentra en una tienda de animales.
    La abstracción se consigue también mediante la “composición”. Por ejemplo, una clase Coche debería tener los objetos Motor, Ruedas, Llantas, y muchos más componentes. No necesitamos los componentes sino la interfaz.

    Monografias.com

    ESTA PRESENTACIÓN CONTIENE MAS DIAPOSITIVAS DISPONIBLES EN LA VERSIÓN DE DESCARGA

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter