Вы находитесь на странице: 1из 38

INFORMATICA III PROGRAMACION ORIENTADA A OBJETOS EN JAVA

FACULTAD DE INGENIERIA ELECTRONICA Y TELECOMUNICACIONES UNIVERSIDAD DEL CAUCA

CONCEPTOS Y PRICIPIOS

PLATAFORMA JAVA2

HISTORIA DE JAVA
La tecnologa Java se cre como una herramienta de

programacin para ser usada en un proyecto de set-topbox en una pequea operacin denominada the Green Project en Sun Microsystems en el ao 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabaj durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo.
El lenguaje se denomin inicialmente Oak (por un roble

que haba fuera de la oficina de Gosling), luego pas a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas grficas y finalmente se renombr a Java.

HISTORIA DE JAVA
El trmino Java fue acuado en una cafetera frecuentada

por algunos de los miembros del equipo. Podra tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Siguiente acrnimo, Just Another Vague Acronym ("slo otro acrnimo ambiguo ms"). La hiptesis que ms fuerza tiene es la que Java debe su nombre a un tipo de caf disponible en la cafetera cercana, de ah que el icono de java sea una taza de cafe caliente. Un pequeo signo que da fuerza a esta teora es que los 4 primeros bytes (el nmero mgico) de los archivos .class que genera el compilador, son en hexadecimal, 0xCAFEBABE.

Que es JAVA
Java es toda una tecnologa orientada al desarrollo de

software con el cual podemos realizar cualquier tipo de programa. La tecnologa Java ha cobrado mucha importancia en el mbito de Internet gracias a su plataforma J2EE. En la industria para dispositivos mviles tambin hay una gran acogida para este lenguaje.
La tecnologa Java est compuesta bsicamente por 2 elementos: el lenguaje Java y su plataforma. Con plataforma nos referimos a la mquina virtual de Java (Java Virtual Machine).

MAQUINA VIRTUAL DE JAVA

El compilador JAVA genera un cdigo intermedio independiente de la plataforma(bytecodes). Los bytecodes pueden considerar como el lenguaje maquina de una maquina virtual, la Maquina Virtual Java (JVM). Cuando se ejecuta una aplicacin Java, al cargar en memoria, podemos a)Interpretar los bytecodes instruccin por instruccin. b)Compilar los bytecodes para obtener el cdigo maquina necesario para ejecutar la aplicacin en el computador.

Filosofa
El lenguaje Java se cre con cinco objetivos principales: Debera usar la metodologa de la programacin orientada a objetos. Debera permitir la ejecucin de un mismo programa en mltiples sistemas operativos. Debera incluir por defecto soporte para trabajo en red. Debera disearse para ejecutar cdigo en sistemas remotos de forma segura. Debera ser fcil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.

Entornos de funcionamiento
En dispositivos mviles y sistemas empotrados
Desde la creacin de la especificacin J2ME (Java 2

Platform, Micro Edition), desarrollado para el mercado de dispositivos electrnicos de consumo se ha producido toda una revolucin en lo que a la extensin de Java se refiere. Es posible encontrar microprocesadores especficamente diseados para ejecutar bytecode Java y software Java para tarjetas inteligentes (JavaCard), telfonos mviles, buscapersonas, set-top-boxes, sintonizadores de TV y otros pequeos electrodomsticos.

Entornos de funcionamiento
En el navegador web Desde la primera versin de java existe la posibilidad de desarrollar pequeas aplicaciones (Applets) en Java que luego pueden ser incrustadas en una pgina HTML para que sean descargadas y ejecutadas por el navegador web. Estas mini-aplicaciones se ejecutan en una JVM que el navegador tiene configurada como extensin (plug-in) en un contexto de seguridad restringido configurable para impedir la ejecucin local de cdigo potencialmente malicioso. Las applets Java no son las nicas tecnologas (aunque s las primeras) de componentes complejos incrustados en el navegador. Otras tecnologas similares pueden ser: ActiveX de Microsoft, Flash, Java Web Start, etc.

Entornos de funcionamiento
En sistemas de servidor En la parte del servidor, Java es ms popular que nunca, desde la aparicin de la especificacin de Servlets y JSP (Java Server Pages). Hasta entonces, las aplicaciones web dinmicas de servidor que existan se basaban fundamentalmente en componentes CGI y lenguajes interpretados. Ambos tenan diversos inconvenientes como la lentitud, elevada carga computacional o de memoria y propensin a errores por su interpretacin dinmica. Este modelo de trabajo se ha convertido en uno de los estndar para el desarrollo de aplicaciones web dinmicas de servidor.

Entornos de funcionamiento
En aplicaciones de escritorio
Hoy en da existen multitud de aplicaciones grficas de

usuario basadas en Java. El entorno de ejecucin Java (JRE) se ha convertido en un componente habitual en los PC de usuario de los sistemas operativos ms usados en el mundo. Adems, muchas aplicaciones Java lo incluyen dentro del propio paquete de la aplicacin de modo que se ejecuten en cualquier PC.

Entornos de funcionamiento
Plataformas soportadas
Una versin del entorno de ejecucin Java JRE (Java

Runtime Environment) est disponible en la mayora de equipos de escritorio. Sin embargo, Microsoft no lo ha incluido por defecto en sus sistemas operativos. En el caso de Apple, ste incluye una versin propia del JRE en su sistema operativo, el Mac OS. Tambin es un producto que por defecto aparece en la mayora de las distribuciones de GNU/Linux.

FACES EN LA CREACION Y EJECUCION DE PROGRAMAS Fase I: Editor Se crea un programa con la ayuda de un editor. Se almacena un fichero con extensin .java. Fase II: Compilador El compilador lee el cdigo Java. Si se detectan errores sintticos, el compilador nos informa de ello. Se generan los bytecodes, que almacenan en ficheros .class.

FACES EN LA CREACION Y EJECUCION DE PROGRAMAS

Fase III: Cargador de Clases El cargador de clases lee los bytecodes. Los bytecodes pasan de disco a memoria principal. Fase IV: Verificador de bytecodes El verificador de bytecodes comprueba que los bytecodecs son validos y no violan las restricciones de seguridad de la maquina virtual Java. Fase V: Interprete de bytecodes o compilador JIT(Just in time) La maquina virtual Java (JVM) lee los bytecodes y los traduce al lenguaje que el ordenador entiende (codigo maquina).

CARACTERISTICAS
Multiplataforma:

Los programas escritos en java se compilan e un bytecode independiente de la maquina virtual y todos los sistemas operativos tienen entorno de ejecucin de aplicaciones Java.
Seguro:
a)Puede

forzarse restricciones sobre las operaciones permitidas(los applets no acceden directamente al hadware de la maquina). b)Al cargar un programa en memoria, la maquina virtual de java verifica los bytecodes de la aplicacin.

CARACTERISTICAS

Amplio conjunto de bibliotecas:

Bibliotecas para trabajar con colecciones y otras estructuras de datos, ficheros, accesos a bases de datos(JDBC), interfaces graficas de usuario(JFC/Swing). Redes de ordenadores (RMI, Jimi), aplicaciones distribuidas (EJB), interfaces web (servlets/JSP), hebras, comprensin de datos, criptografa, entre otros.
Simplifica

algunos aspectos a la hora de

programar: a)Gestin automtica de memoria. b)Comprobacin estricta de tipos. c)Sintaxis simplificada con respecto a C++.

FUNDAMENTOS
Comentarios: permiten documenta el cdigo hacindolo

mas legible a los programadores. //comentario de una sola lnea. /* comentario de varis lneas. /** comentario de documentacin*/
Identificadores:
a)Permiten

Nombrar los distintos elementos de un programa Variables, objetos, clases, paquetes, interfaces. b) Sintaxis Comienzan con letra. Seguido de letras o dgitos. Cualquier longitud. Se distingue maysculas de minsculas.

PALABRAS RESERVADAS
Palabras reservadas con propsito especial en el

sistema y que no se puede utilizar como identificadores


abstrac Boolean break byte byvalue case catch char class Const continue default do double else estends false final finally float for new goto null if implements import instanceof int interface long native switch volatile synchronized while package this private threadsafe protected throw public throws return transient short true static try super void

Literales
Valor constante de un tipo de datos

a)Booleano.

true y false. b)Numricos enteros. Decimal, Octal y Hexadecimal. c)Numricos reales, con punto, no con coma. Double, Float. d)Caracteres: un carcter UNICODE, entre comillas simples. N \116

Literales

caracteres especiales: \b retroceso. \t tabulador \n salto de lnea \r cambio de lnea \ carcter comillas dobles \ carcter comillas simples \\ carcter barra invertida. e)Cadena de caracteres de la clase String, entre comillas dobles. Hola Mundo f)Referencial literal de objeto. Null.

VARIABLES
Unidad bsica de almacenamiento de informacin. Elementos cuyo valor puede cambiar durante el

programa.
Declaracin

tipo identificador; int numero; int max=4;

CONSTANTE CON NOMBRE


Variable constante

a)Variable cuyo valor nunca cambia. b)Se declaran con la palabra clave final. Final float PI = 3.141592; Final int MAX = 255; Final boolean FALSO = false;

EXRESIONES
La expresin son instrucciones que devuelven un valor

lgico. Cada expresin tiene un tipo que se determina en tiempo de compilacin. Una expresin puede ser:
Una constante.
Una Variable. Una

combinacin de constantes, variables, operadores y llamadas a mtodos.

OPERADORES ARITMETICOS
Suma +. Resta -. Multiplicacin *. Divisin /. Resto %. Promocin automtica de tipos
a)Cuando los operandos no coinciden, el operador de

menor rango se convierte implcitamente al tipo de mayor rango: b)La conversin descendiente es obligatoria. c)El resultado de la operacin es del tipo de mayor rango. d)Al operar con byte y short, se convierten implcitamente en int.

Operadores aritmticos
Operadores aritmticos unarios
preincremento: ++x postincremento: x++ predecremento: --x postdecremento: x--

Operadores de asignacin
normal: x = y adicin: x += y

x=x+y resta: x -= y x=x-y multiplicacin: x *= y x=x*y divisin: x /= y x=x/y

Expresiones booleanas
Operadores lgicos
y lgico: x && y (cortocircuito)

x & y (completo) o lgico: x || y (cortocircuito) x | y (completo, evaluando ambos operandos) negacin: ! x


Operadores relacionales: Comparaciones
igual: x == y (slo con tipos bsicos no objetos) diferente: x != y mayor que: x > y menor que: x < y mayor o igual que: x >= y menor o igual que: x <= y

Expresiones a nivel de bits


Operadores a nivel de bits (en enteros) AND: x & y

OR: x | y
XOR: x ^ y Desplazamiento izd: x << y Desplazamiento der: x >> y Desplazamiento der llenado de 0 a der:

x >>> y Complemento de bits: ~x

CONTROL DE FLUJO
INSTRUCCIONES, ASIGNACIONES Y BLOQUE
Instruccin:

Una orden que se le da al programa para realizar una tarea especifica.


Asignacin:

Accin que da el valor de una expresin a una variable.


Variable = expresin; boolean condicin = true; // declaracin y asignacin del valor inicial int numero; // declaracin de entero numero = Math.sqrt(90); // asignacin de la raz cuadrada de 90

INSTRUCIONES, ASIGNACIONES Y BLOQUE


Bloque de instrucciones

a)Conjunto

de instrucciones que consideran como una unidad. b)Estn encerrado entre llaves { y }

se

INSTRUCCIN CONDICIONAL if
IF significa SI. Su funcionamiento es simple. Se evala una condicin, si es verdadera ejecuta un cdigo, si es falsa, ejecuta otro cdigo

if ( expresion_booleana) instruccin If (expresion_booleana) instruccin1 else instruccion2

Ejemplo
if (x > y) { // si hay mas instrucciones hay que poner un bloque System.out.println (Dentro del if); System.out.println (El mayor de x e y es x: + x); } else if (x > y) System.out.println (El mayor de x e y es y: + y); else System.out.println (x,y tiene mismo valor: + x);

INSTRUCCIN CONDICIONAL switch


La estructura switch permite elegir, ejecutar diferentes cdigos dependiendo de un valor. Switch (expresion) { case expresin constante 1: instrucciones case expresin constante 2: instruccin default: instrucciones }

Ejemplo
public class EjemploSwitch { public static void main(String[ ] args) { int mes = 2; switch (mes) { case 1: System.out.println("Enero"); break; case 2: System.out.println("Febrero"); break; . } } }

INSTRUCCIN CONDICIONAL while


Permite al programador especificar las veces que se repita una accin mientras una condicin se mantenga verdadera. while (expresin booleana) instruccin

Ejemplo
public class Factorial { public static void main(String[ ] args) { int dato=9; long resultado=1; while (dato > 0) { resultado = dato * resultado; dato = dato -1; } System.out.println("El factorial es: + resultado); } }

INSTRUCCIN CONDICIONAL for


Una de las estructuras de repeticin empleada en la programacin de algoritmos para repetir un cdigo dependiendo de un contador. for (inicializacin; condicin; incremento) instruccin

Ejemplo
public class FactorialFor { public static void main(String[ ] args) { int numero=9; long resultado=1; for(int cont=1; cont <= numero; cont++) { resultado= resultado * cont; } System.out.println("El factorial es"+resultado); } }

INSTRUCCIN CONDICIONAL for


Fin de ejecucin de un mtodo o return ; // para los mtodos void o return expresin ;

permite salir de cualquier ciclo dentro del mtodo vuelve al punto donde se invoc el mtodo
Modificacin del flujo de programa en los Bucles o break

permite salir del bucle o continue salta a la siguiente iteracin

Вам также может понравиться