34
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA Maracay, Marzo de 2013 Prof. & Lic. Luis E. Aponte I.

Introduccion Java

Embed Size (px)

DESCRIPTION

JAVA

Citation preview

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA DEFENSA

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA

Maracay, Marzo de 2013

Prof. & Lic. Luis E. Aponte I.

Un poco de Historia JDK 1.0

23 de Febrero de 1996

Logró revolucionar la red

Netscape 1995

(JavaScript)

James Gosling Creador de Java

Programar Electrodomésticos (tenían como problema la portabilidad)

Proyecto Green

Isla en Indonesia

Tipo de Café

OAK (ya estaba registrado)

Java a Internet

HotJava

‘90

JDK 1.4 J2EE

Futuro!!! Internet

Chips Java

Java OS

Características de Java

Robusto

Gestiona la Memoria

Automáticamente

Multithreading

Herramientas de

Documentación

Orientado a Objetos

Independiente de la

Plataforma

(Portabilidad)

Seguridad

Simple

Distribuido

Es Interpretado

INTERNET

Características de Java

Distribuido

Con Java es posible usar protocolos como

HTTP y FTP para copiar archivos remotos de

manera tan simple como si estuviesen en el

File System Local.

El comportamiento distríbuido de Java posibilita

la colaboración y la distribución de carga de

trabajo del sistema. Ejemplo: Applets.

RMI (Java Remote Method Invocation) provee

una forma simple y directa de manejar objetos

Java distribuídos

Características de Java

Simple

El objetivo de los diseñadores de Java fue crear

un lenguaje de programación que fuera fácil de

aprender. Java adoptó una sintaxis similar a la

de C/C++ teniendo en cuenta su popularidad, y

eliminó aquellas características que son fuente

de confusión.

Características de C/C++ eliminadas en Java

No más preprocesador

No más estructuras ni uniones

No más tipos enumerativos

No más funciones

No hay herencia múltiple de clases

No más GOTO

No más operadores sobrecargados

No más punteros

Características de Java

MultiThreading

Un Thread es un flujo de control

secuencial dentro de un programa. Java

provee múltiples threads en un programa,

ejecutándose concurrentemente y llevando

a cabo tareas distintas. Multithread permite

mejorar la interactividad y la performance

del sistema.

El código Java es chequedo en compilación y en ejecución (por el Class Loador y

ByteCode Verifier) por lo tanto el intérprete puede correr a toda velocidad sin necesidad

hacer chequeos en ejecución.

Características de Java Herramientas de Documentación

Java provee en el Java Development Kit, una

herramienta de documentación que nos va a

permitir realizar la documentación de nuestras

aplicaciones de forma simple y rápida, a

través de la colocación de comentarios

especiales.

Características de Java

Portabilidad

Java fue diseñado para soportar aplicaciones que se

ejecutan en ambientes de redes heterogéneos,

independientemente de la plataforma de hardware y de

software (Sistema Operativo).

Por ello, las aplicaciones escritas en Java se ejecutan en

una amplia variedad de arquitecturas de hardware y,

sobre múltiples sistemas operativos.

Es el formato de “bytecodes” de Java el que permite que las aplicaciones se ejecuten

en una amplia diversidad de ambientes de ejecución. El formato de “bytecodes” es un

formato intermedio de arquitectura neutral que permite transportar eficientemente

código entre múltiples plataformas de hardware y software.

Escrito una vez, Ejecutado en cualquier parte

Frase clave de Sun para la plataforma JAVA

Características de Java

Interpretado

El intérprete Java (sistema run-time) puede

ejecutar directamente el código objeto. Enlazar

(linkar) un programa, normalmente, consume

menos recursos que compilarlo, por lo que los

desarrolladores con Java pasarán más tiempo

desarrollando y menos esperando por el

ordenador. No obstante, el compilador actual del

JDK es bastante lento, aunque con la versión 1.4.2

su rendimiento ha sido mejorado

considerablemente.

Características de Java

Orientado a Objetos

Java implementa la tecnología básica de C++ con

algunas mejoras y elimina algunas cosas para mantener

el objetivo de la simplicidad del lenguaje. Java trabaja

con sus datos como objetos y con interfaces a esos

objetos. Soporta las tres características propias del

paradigma de la orientación a objetos: encapsulación,

herencia y polimorfismo. Las plantillas de objetos son

llamadas, como en C++, clases y sus copias, instancias.

Estas instancias, como en C++, necesitan ser

construidas y destruidas en espacios de memoria.

Características de Java

Robusto

Java realiza verificaciones en busca de problemas tanto

en tiempo de compilación como en tiempo de ejecución.

La comprobación de tipos en Java ayuda a detectar

errores, lo antes posible, en el ciclo de desarrollo. Java

obliga a la declaración explícita de métodos, reduciendo

así las posibilidades de error. Maneja la memoria para

eliminar las preocupaciones por parte del programador de

la liberación o corrupción de memoria.

La Mejor Selección

Java Development

Kit (JDK)

Applets

Servlets

Clases Objetos

JDBC

Threads

Máquina Virtual Java

(JVM)

Cliente/Servidor

Java Enterprise

Edition (J2EE)

Byte-Codes

Tiene todo

Java Micro

Edition (J2ME)

Java Beans

La Tecnología JAVA Abarca dos aspectos:

Un Lenguaje de Programación 1. Java es un lenguaje de tercera generación (3GL).

2. Es similar al lenguaje C.

3. Tiene mucho de la sintaxis del lenguaje C, sin ser C o C++,

ni mucho menos un superconjunto de C.

4. A diferencia de otros lenguajes, Java permite escribir

programas especiales llamados Applets que se ejecutan en

un browser de manera segura.

5. Un Applet no puede escribir en disco o memoria sin previa

autorización, por lo que la seguridad está garantizada. Por

lo tanto no se pueden introducir virus.

1. Una plataforma es un ambiente de software o hardware sobre el que se

ejecuta un programa.

2. La plataforma Java es sólo una plataforma de software, que se ejecuta

por encima de otras plataformas de software (Sistemas Operativos).

3. Permite desarrollar aplicaciones de manera independiente a la

plataforma.

4. El compilador de Java no produce código ejecutable nativo, genera byte

code.

5. Un byte code es un formato especial escrito en hexadecimal, byte a byte

como lo siguiente:

CA FE BA 00 B5 01 20 E5 2D 03 08 14 C2 AA 4A 3C 32 Cada byte code

es exactamente el mismo sobre cada plataforma.

Un byte code se compila y requiere ser interpretado para ejecutarse.

Plataforma para el desarrollo

de aplicaciones

La Tecnología JAVA La tecnología Java es un software que le ayuda a

conectarse y aumenta el atractivo de la conexión. La

tecnología Java, inventada por Sun Microsystems en 1995,

permite a dispositivos de todas clases ejecutar casi

cualquier tipo de programa y obtener las herramientas,

juegos e información más atractivos.

La tecnología Java se encuentra en cualquier lugar. Está incorporada en teléfonos móviles,

PDA y buscapersonas; se encuentra en el interior de los videojuegos, de los televisores y de las

sedes web. Está incluso en vehículos en el planeta Marte. Pero la tecnología Java no es

únicamente diversión. También es negocio. Está dentro de aplicaciones y herramientas de

empresa de todo tipo, tanto en las grandes corporaciones como en los negocios más

reducidos. Sea donde sea, la tecnología Java proporciona una fantástica experiencia digital.

La Tecnología JAVA La plataforma Java tiene dos componentes principales:

La Java Virtual Machina (JVM) o

Maquina Virtual de Java Es la base de la plataforma Java y puede ser

incorporada en la mayoria de las plataformas

basadas en hardware y sistemas operativos.

Contiene el interprete de Java.

La Java Application Programming

Interface - Java API Es una colección de componentes de software que

proveen una amplia gama de funcionalidades, como

GUIs, I/O, etc. Está agrupada en paquetes o librerías

de componentes relacionadas.

La Tecnología JAVA El Ambiente de Desarrollo

La Tecnología JAVA El Ambiente de Desarrollo

Mientras un JDK|SDK ofrece las herramientas para compilar y ejecutar

programas en Java éste no ofrece un ambiente de trabajo para proyectos

complejos, esto es, si usted compila una o dos clases quizás el comando

javac ofrecido en los JDK es suficiente, pero si su proyecto estará

compuesto por 100 o 200 clases, javac sería muy deficiente.Los IDE's

("Integrated Development Environment") ofrecen un ambiente gráfico en los

que se tiene acceso a mayor número de herramientas no ofrecidas en los

JDK's: Debuggers más elaborados, check-points dentro de la

compilación,creación de WAR's (Web-Archives), "Wizards" para acelerar

desarrollo, entre otras cosas.

Algunos IDE's son:

NetBeans Open-Source

Eclipse Open-Source

Forte de Sun

JBuilder de Borland

Visual Cafe de Symantec

WebSphere de IBM

JDeveloper de Oracle

La Tecnología JAVA

Applets y Aplicaciones

Java tiene dos formas de hacer un programa: como applet o como aplicación.

Un applet es un programa que está

diseñado para ser invocado por una página

HTML, agregándole así funcionalidad. La

característica principal de un applet es que,

aunque reside en la misma computadora

que la página HTML que lo invoca, al ser

accesada esta página desde una

computadora remota, el applet viaja a

través de Internet y se ejecuta en el

navegador de la computadora que hizo el

acceso

Para correr applets no es necesario tener

instalado el JDK porque ya los principales

navegadores comerciales (Internet Explorer y

Netscape) traen integrada una máquina virtual de

Java.

Applets y Aplicaciones

Java tiene dos formas de hacer un programa: como applet o como aplicación.

Una aplicación es un programa que

corre localmente en la computadora

donde está instalada. No tiene las

restricciones de seguridad de los applets

y tiene acceso a todos los recursos

locales pero para correr necesita que por

lo menos el JRE esté instalado.

La programación de applets y

aplicaciones es parecida y pueden usar

cualquier librería del lenguaje por igual.

[declaracion_de_paquetes]

[inclusion_de_paquetes]

declaración_de_la_clase

package prueba;

import java.net.*;

public class prueba{ .... }

La estructura básica de un programa en Java, incluye 3 partes:

.- Es importante destacar, que el nombre de la clase, debe ser el mismo del

archivo fuente, esto es una regla del compilador de java.

.- En java todas las instrucciones terminan con punto y coma (;)

.- Java es Case Sensitive, es decir, diferencia entre minuscula y mayúsculas.

.- Para indicar inicio se utiliza { y para indicar el fin se utiliza }.

.- Utiliza cxaracteres UNICODE

Estructura de un Programa en Java

Antes de Comenzar

.- Los paquetes nos permiten agrupar clases que tengan cosas en común en

librerias, que luego podemos utilizar en nuestros programas.

package nombre_paquete;

.- La inclusión de paquetes nos permite utilizar paquetes que hayamos

creados en nuestros programas. Por defecto todos los programas en java

incluyen el paquete Java.lang. Actualmente java dispone de mas de 60

paquetes, que podemos utilizar en nuestras aplicaciones.

import nombre_paquete;

Los Paquetes

La librería básica de clases Java, está formada por los siguientes paquetes:

Los Paquetes

1. java.lang: contiene las clases esenciales como números, strings, objetos,

compilador, run-time, seguridad y threads (es el único paquete que se

incluye automáticamente en todo programa Java)

2. java.io: contiene las clases que manejan la Entrada/Salida, Serialización

de objetos.

3. java.util: contiene clases útiles, que permiten manejar estructuras de

datos, fechas, hora, strings, excepciones, etc.

4. java.net: contiene clases como URL, TCP, UDP, IP, etc. que permiten

implementar aplicaciones distribuídas. Provee soporte para sockets.

5. java.awt: contiene clases para el manejo de la GUI, pintar gráficos e

imágenes.

6. java.awt.image: contiene las clases para el manejo de imágenes.

7. java.applet: contiene clases útiles para la creación y manipulación de

Applets y recursos para reproduccián de audio.

8. java.rmi: contiene clases para soporte trabajar con objetos remotos.

9. java.sql: contiene clases para el manejo de base de datos relaciones

(JDBC, JDBC-ODBC).

10. java.security: contiene clases e interfaces para manejar seguridad

(criptografía, firmas digitales, encriptación y autenticación).

Ver el API

[< modificadores>] class <nombre_clase> {

[< declaración_atributos>]

[< declaración_constructores>]

[<declaración_metodos>]

}

Las Clases

Una clase es una agrupación de datos (variables o campos) y de funciones

(métodos) que operan sobre esos datos. A estos datos y funciones pertenecientes a

una clase se les denomina variables y métodos o funciones miembro. Un programa se

construye a partir de un conjunto de clases. Y todo en Java es una clase.

Una vez definida e implementada una clase, es posible declarar elementos de

esta clase de modo similar a como se declaran las variables del lenguaje (de los tipos

primitivos int, double, String, …). Los elementos declarados de una clase se denominan

objetos de la clase. De una única clase se pueden declarar o crear numerosos objetos.

Declarando una clase en Java

Las Clases

public class Vehiculo {

private double velocidad;

public void setVelocidad(double value) {

velocidad = value;

}

}

Modificadores de la Clase

public: Indica que la clase podrá ser accesible desde cualquier otra

clase, ya que es publica.

abstract: Es un modificador especial que indica que la clase no

puede instanciarse (no se pueden crear objetos a partir de ella).

final: Indica que la clase no puede utilizarse para crear subclases a

partir de ella (no se puede heredar)

Ejemplo:

Salida (Imprimir por Pantalla)

System.out.println(“mensaje a mostrar”); La misma pertenece al paquete java.lang, por lo que la podemos usar en

cualquier programa sin hacer nada.

Tambien podemos mandar a mostrar el valor de una variable:

System.out.println(variable);

Y podemos mostrar un mensaje, con una variable de la siguiente manera:

System.out.println(“mensaje” + variable); En este caso, el operador + concatena al mensaje el valor de la variable, en otras

palabras, transforma las variables a String para poderlos mostrar por pantalla.

System.out.print(); System.out.println();

El Metodo main()

El método main() es usado como punto de entrada para los programas de

aplicación Java. Todos los programas deben poseer un método main() o éstos no

podrán ser ejecutados. El método main() es el método de una clase que es ejecutado

para iniciar un programa.

Las clases deben incluir el metodo main, para indicarle al compilador que son

ejecutables (no es obligatorio), dentro de este método irá toda la secuencia de

ejcución de nuestra aplicación.

public static void main(String args[]){

// Sentencias

}

Ejemplo 01

Ejemplo 02

Operadores

Un Operador, es un símbolo que le indica al compilador que realice una

determinada operación, ya sea lógica, relacional, aritméticas, etc.

Tipos de operadores que existen. En Java, podemos encontrar los

siguientes tipos:

Comentarios

Un comentario es un mensaje cualquiera, que se escribe entro del código; pero que

no es interpretado por el compilador, y que ayuda, al programador para futuros mantenimientos y

para comprender, tiempo después, la secuencia de ejecución del programa.

Java, posee tres tipos de comentarios:

1. Tradicional:

Comienza con /* y termina con */, en él podemos escribir una línea o un párrafo completo.

Ejemplo:

/*Ejemplo de un comentario */

2. De una sola línea:

Comienzan con una doble barra (//), y se extiende hasta el final de la línea.

Ejemplo:

//Este comentario es válido sólo para una línea

3. Comentario de Documentación

Comienza con /** y termina con */ son comentario especiales que javadoc utiliza para generar,

documentación acerca del programa.

Ejemplo:

/** Programa 1.0

Maracay

Abril 2011*/

Literales .

Los literales, son valores fijos que son legibles, para nosotros los humanos.

Generalmente son llamados constantes.

En java, los literales, pueden ser del tipo real, entero, cadenas, booleanas y null. Las

constantes de tipo carácter, se encierran entre comillas simples, así: „m‟, `$`.