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

Nios y jvenes felices con mayor preparacin

JAVA

INFORMTICA

ING. LINDA LORENA BURILLO SOBERANIS

SEXTO SEMESTRE 2016

ANDRS NGELES LPEZ

SAN JUAN DEL RIO, QUERTARO

1
NDICE

Introduccin

Qu es Java? 3

Contenido

Importancia de Java en el mundo 4


Filosofa de Java 4
Por qu elegir Java? 4-5
Funcionalidades de Java 5
Una plataforma independiente 5-6
Sintaxis 6
Evolucin de los lenguajes 6-10
Orientado a objetos 10
Conversin de datos 10-11
Programacin 11-13
Operadores 13-15
Java FX 15

Conclusin

Conclusin y opinin personal 16

Fuentes de investigacin

Referencias 16

2
INTRODUCCIN

En este trabajo de investigacin, hablaremos a fondo de Java, el lenguaje de


programacin ms usado y popular en el mundo. Tocaremos temas relevantes tales
como su historia, desde sus orgenes, su fundacin, sus creadores, su historia, sus
funcionalidades, su sintaxis, entre otros muchos ms.

Qu es Java?

Java es un lenguaje de programacin orientado a objetos y una plataforma informtica


comercializada por primera vez en 1995 por Sun Microsystems. Hay muchas
aplicaciones y sitios web que no funcionarn a menos que tenga Java instalado y cada
da se crean ms. Java es rpido, seguro y fiable. Desde porttiles hasta centros de
datos, desde consolas para juegos hasta sper computadoras, desde telfonos mviles
hasta Internet, Java est en todas partes.

La versin ms reciente de Java contiene importantes mejoras para el rendimiento,


estabilidad y seguridad de las aplicaciones Java que se ejecutan en su equipo. La
instalacin de la actualizacin gratuita garantiza que sus aplicaciones Java sigan
ejecutndose de forma segura y eficaz.

Actualmente es uno de los lenguajes ms usados para la programacin en todo el


mundo.

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.
Es frecuentada por algunos de los miembros del equipo, pero no est claro si es un
acrnimo o no, aunque algunas fuentes sealan que podra tratarse de las iniciales de
sus diseadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan
por el siguiente acrnimo, Just Another Vague Acronym "slo otro acrnimo ambiguo
ms".
La hiptesis que ms fuerza tiene es la de 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 caf
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. A pesar de todas estas teoras, el nombre fue sacado al
parecer de una lista aleatoria de palabras.

3
CONTENIDO

Importancia de Java en el mundo

Java est en todas partes:

El 97% de los escritorios empresariales ejecutan Java


El 89% de los escritorios en Estados Unidos ejecutan Java
9 millones de desarrolladores de Java en todo el mundo
Es la primera opcin para los desarrolladores
Fue la primera plataforma de desarrollo
3 mil millones de telfonos mviles ejecutan Java
El 100% de los reproductores de Blu-ray incluyen Java
5 mil millones de Java Cards en uso
125 millones de dispositivos de televisin ejecutan Java
5 de los 5 principales fabricantes de equipos originales utilizan Java ME

Filosofa de Java
Cre con cinco objetivos principales:

1. Debera usar el paradigma de la programacin orientada a objetos.


2. Debera permitir la ejecucin de un mismo programa en mltiples sistemas
operativos.
3. Debera incluir por defecto soporte para trabajo en red.
4. Debera disearse para ejecutar cdigo en sistemas remotos de forma segura.
5. Debera ser fcil de usar y tomar lo mejor de otros lenguajes orientados a
objetos, como C++.

Por qu elegir Java?

Java ha sido probado, ajustado, ampliado y probado por toda una comunidad de
desarrolladores, arquitectos de aplicaciones y entusiastas de Java. Java est
diseado para permitir el desarrollo de aplicaciones porttiles de elevado
rendimiento para el ms amplio rango de plataformas informticas posible.

Al poner a disposicin de todo el mundo aplicaciones en entornos heterogneos, las


empresas pueden proporcionar ms servicios y mejorar la productividad, las
comunicaciones y colaboracin del usuario final y reducir drsticamente el costo de
propiedad tanto para aplicaciones de usuario como de empresa. Java se ha
convertido en un valor impagable para los desarrolladores, ya que les permite:

Escribir software en una plataforma y ejecutarla virtualmente en otra


Crear programas que se puedan ejecutar en un explorador y acceder a servicios
Web disponibles

4
Desarrollar aplicaciones de servidor para foros en lnea, almacenes, encuestas,
procesamiento de formularios HTML y mucho ms
Combinar aplicaciones o servicios que utilizan el lenguaje Java para crear
aplicaciones o servicios con un gran nivel de personalizacin
Escribir aplicaciones potentes y eficaces para telfonos mviles, procesadores
remotos, microcontroladores, mdulos inalmbricos, sensores, gateways,
productos de consumo y prcticamente cualquier otro dispositivo electrnico.

Funcionalidades de Java:

1. Aplicaciones cliente: son las que se ejecutan en un solo ordenador (por ejemplo el
porttil de tu casa) sin necesidad de conectarse a otra mquina. Pueden servirte por
ejemplo para realizar clculos o gestionar datos.

2. Aplicaciones cliente/servidor: son programas que necesitan conectarse a otra


mquina (por ejemplo un servidor de datos) para pedirle algn servicio de forma ms o
menos continua, como podra ser el uso de una base de datos. Pueden servir por
ejemplo para el teletrabajo: trabajar desde casa pero conectados a un ordenador de
una empresa.

3. Podemos hablar tambin de aplicaciones web, que son programas Java que se
ejecutan en un servidor de pginas web. Estas aplicaciones reciben solicitudes desde
un ordenador y envan al navegador (Internet Explorer, Firefox, Safari, etc.) que acta
como su cliente pginas de respuesta en HTML.

Una plataforma independiente

La segunda caracterstica, la independencia de la plataforma, significa que programas


escritos en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo de
hardware. Este es el significado de ser capaz de escribir un programa una vez y que
pueda ejecutarse en cualquier dispositivo, tal como reza el axioma de Java, "write once,
run anywhere".

Se compila el cdigo fuente escrito en lenguaje Java, para generar un cdigo conocido
como bytecode, instrucciones mquina simplificadas especficas de la plataforma
Java. Esta pieza est entre el cdigo fuente y el cdigo mquina que entiende el
dispositivo destino. El bytecode es ejecutado entonces en la mquina virtual, un
programa escrito en cdigo nativo de la plataforma destino, que interpreta y ejecuta el
cdigo.

5
Adems, se suministran bibliotecas adicionales para acceder a las caractersticas de
cada dispositivo, como los grficos, ejecucin mediante hebras o threads, la interfaz de
red, de forma unificada. Se debe tener presente que, aunque hay una etapa explcita
de compilacin, el bytecode generado es interpretado o convertido a instrucciones
mquina del cdigo nativo por el compilador JIT.

Sintaxis

La sintaxis de Java se deriva en gran medida de C++, pero a diferencia de ste, que
combina la sintaxis para programacin genrica, estructurada y orientada a objetos,
Java fue construido desde el principio para ser completamente orientado a objetos.
Todo en Java es un objeto, salvo algunas excepciones, y todo en Java reside en
alguna clase.

Las aplicaciones de Java son generalmente compiladas a bytecode que puede


ejecutarse en cualquier mquina virtual Java (JVM) sin importar la arquitectura de la
computadora subyacente.

Evolucin de los lenguajes

6
Desde J2SE 1.4, la evolucin del lenguaje ha sido regulada por el Java Community
Process, que usa Java Specification Requests para proponer y especificar cambios en
la plataforma Java. El lenguaje en s mismo est especificado en la Java Language
Specification, o Especificacin del Lenguaje Java. Los cambios en los JLS son
gestionados en JSR 901.

JDK 1.0 (23 de enero de 1996) Primer lanzamiento: comunicado de prensa

JDK 1.1 (19 de febrero de 1997) Principales adiciones incluidas: comunicado de


prensa
una reestructuracin intensiva del modelo de eventos AWT (Abstract Windowing
Toolkit)
clases internas (inner classes)
JavaBeans
JDBC (Java Database Connectivity), para la integracin de bases de datos
RMI (Remote Method Invocation)

J2SE 1.2 (8 de diciembre de 1998) Nombre clave Playground. Esta y las


siguientes versiones fueron recogidas bajo la denominacin Java 2 y el nombre
"J2SE" (Java 2 Platform, Standard Edition), reemplaz a JDK para distinguir la
plataforma base de J2EE (Java 2 Platform, Enterprise Edition) y J2ME (Java 2
Platform, Micro Edition). Otras mejoras aadidas incluan: comunicado de prensa
la palabra reservada (keyword) strictfp
reflexin en la programacin
la API grfica ( Swing) fue integrada en las clases bsicas
la mquina virtual (JVM) de Sun fue equipada con un compilador JIT (Just in
Time) por primera vez
Java Plug-in
Java IDL, una implementacin de IDL (Lenguaje de Descripcin de Interfaz)
para la interoperabilidad con CORBA
Colecciones (Collections)

J2SE 1.3 (8 de mayo de 2000) Nombre clave Kestrel. Los cambios ms notables
fueron:comunicado de prensa lista completa de cambios
la inclusin de la mquina virtual de HotSpot JVM (la JVM de HotSpot fue
lanzada inicialmente en abril de 1999, para la JVM de J2SE 1.2)
RMI fue cambiado para que se basara en CORBA

7
JavaSound
se incluy el Java Naming and Directory Interface (JNDI) en el paquete de
bibliotecas principales (anteriormente disponible como una extensin)
Java Platform Debugger Architecture (JPDA)

J2SE 1.4 (6 de febrero de 2002) Nombre Clave Merlin. Este fue el primer
lanzamiento de la plataforma Java desarrollado bajo el Proceso de la Comunidad
Java comoJSR 59. Los cambios ms notables fueron: comunicado de prensalista
completa de cambios
Palabra reservada assert (Especificado en JSR 41.)
Expresiones regulares modeladas al estilo de las expresiones regulares Perl
Encadenacin de excepciones Permite a una excepcin encapsular la
excepcin de bajo nivel original.
non-blocking NIO (New Input/Output) (Especificado en JSR 51.)
Logging API (Specified in JSR 47.)
API I/O para la lectura y escritura de imgenes en formatos como JPEG o PNG
Parser XML integrado y procesador XSLT (JAXP) (Especificado en JSR 5 y JSR
63.)
Seguridad integrada y extensiones criptogrficas (JCE, JSSE, JAAS)
Java Web Start incluido (El primer lanzamiento ocurri en marzo de 2001 para
J2SE 1.3) (Especificado en JSR 56.)

J2SE 5.0 (30 de septiembre de 2004) Nombre clave: Tiger. (Originalmente


numerado 1.5, esta notacin an es usada internamente.[2]) Desarrollado bajo JSR
176, Tiger aadi un nmero significativo de nuevas caractersticas comunicado de
prensa
Plantillas (genricos) provee conversin de tipos (type safety) en tiempo de
compilacin para colecciones y elimina la necesidad de la mayora
de conversin de tipos (type casting). (Especificado por JSR 14.)
Metadatos tambin llamados anotaciones, permite a estructuras del lenguaje
como las clases o los mtodos, ser etiquetados con datos adicionales, que
puedan ser procesados posteriormente por utilidades de proceso de metadatos.
(Especificado por JSR 175.)
Autoboxing/unboxing Conversiones automticas entre tipos primitivos (Como
los int ) y clases de envoltura primitivas (Como Integer). (Especificado por JSR
201.)

8
Bucle for mejorado La sintaxis para el bucle for se ha extendido con una
sintaxis especial para iterar sobre cada miembro de un array o sobre cualquier
clase que implemente Iterable, como la clase estndar Collection.

Java SE 6 (11 de diciembre de 2006) Nombre clave Mustang. Estuvo en


desarrollo bajo la JSR 270. En esta versin, Sun cambi el nombre "J2SE" por Java
SE y elimin el ".0" del nmero de versin.[3]. Est disponible
en http://java.sun.com/javase/6/. Los cambios ms importantes introducidos en esta
versin son:
Incluye un nuevo marco de trabajo y APIs que hacen posible la combinacin de
Java con lenguajes dinmicos como PHP, Python, Ruby y JavaScript.
Incluye el motor Rhino, de Mozilla, una implementacin de Javascript en Java.
Incluye un cliente completo de Servicios Web y soporta las ltimas
especificaciones para Servicios Web, como JAX-WS 2.0, JAXB 2.0, STAX y
JAXP.
Mejoras en la interfaz grfica y en el rendimiento.

Java SE 7 Nombre clave Dolphin. En el ao 2006 an se encontraba en las


primeras etapas de planificacin. Su lanzamiento fue en julio de 2011.
Soporte para XML dentro del propio lenguaje.
Un nuevo concepto de superpaquete.
Soporte para closures.
Introduccin de anotaciones estndar para detectar fallos en el software.
No oficiales:
NIO2.
Java Module System.
Java Kernel.
Nueva API para el manejo de Das y Fechas, la cual reemplazara las antiguas
clases Date y Calendar.
Posibilidad de operar con clases BigDecimal usando operandos.

Java SE 8 lanzada en marzo de 2014. Cabe destacar:


Incorpora de forma completa la librera JavaFX.
Diferentes mejoras en seguridad.
Diferentes mejoras en concurrencia.
Aade funcionalidad para programacin funcional mediante expresiones
Lambda.

9
Mejora la integracin de JavaScript.
Nuevas API para manejo de fechas y tiempo (date - time).
En el 2005 se calcula en 4,5 millones el nmero de desarrolladores y 2.500 millones de
dispositivos habilitados con tecnologa Java.
Orientado a objetos
El objetivo es hacer que grandes proyectos sean fciles de gestionar y manejar,
mejorando como consecuencia su calidad y reduciendo el nmero de proyectos
fallidos. Otra de las grandes promesas de la programacin orientada a objetos es la
creacin de entidades ms genricas que permitan la reutilizacin del software entre
proyectos, una de las premisas fundamentales de la Ingeniera del Software.
Se refiere a un mtodo de programacin y al diseo del lenguaje. Aunque hay muchas
interpretaciones para OO, una primera idea es disear el software de forma que los
distintos tipos de datos que usen estn unidos a sus operaciones. As, los datos y el
cdigo se combinan en entidades llamadas objetos. Un objeto puede verse como un
paquete que contiene el cdigo y los datos.
La reutilizacin del software ha experimentado resultados dispares, encontrando dos
dificultades principales: el diseo de objetos realmente genricos es pobremente
comprendido, y falta una metodologa para la amplia comunicacin de oportunidades
de reutilizacin. Algunas comunidades de cdigo abierto quieren ayudar en este
problema dando medios a los desarrolladores para diseminar la informacin sobre el
uso y versatilidad de objetos reutilizables y bibliotecas de objetos.
Conversin de datos
Se debe tener en cuenta el tipo de dato que se va a convertir, ya que si se convierte un
dato que tenga una cantidad menor de bit al anterior este tendr perdida de
informacin, un ejemplo de tipado puede ser un nmero long que se desea convertir a
int, el compilador eliminara los primeros 32bit del long para ajustarlo al int ya que el int
es de 32bit y el long de 64.
Si la conversin se realiza a un tipo de datos de menos bit a un tipo de datos con
mayor bit, la conversin se realiza automticamente llamada conversin implcita, pero
si se realiza de un tipo de datos con mayor bit a menor bit se tiene que realizar una
conversin explcita, la cual se realiza con un casting, al usar este mtodo se obliga a
realizar la conversin por lo cual puede haber perdida de datos en la conversin.
Para realizar una conversin explcita se tiene que poner el tipo de dato que se desea
realizar la conversin entre parntesis, luego el valor o la variable que se desea
convertir. Un ejemplo de conversin de tipo explcito puede ser:

10
Int numero1 = 32;
byte numero2;
numero2 = (byte) numero1;

Las siguiente tabla muestra la los tipos de datos que se pueden realizar una conversin
implcita desde el dato origen, hasta el dato destino que es el dato en el que se va a
convertir.

Tipo origen Tipo destino

byte double, float, long, int, char, short

short double, float, long, int

char double, float, long, int

int double, float, long

long double, float

float Double

Programacin
Las expresiones son un conjunto de elementos junto con literales que son evaluados
para devolver un resultado. Los tokens son elemento ms pequeo de un programa
que es significativo, e interpretado o entendido por el compilador, en java los tokens se
dividen en cinco categoras que son:
Identificadores: Son las representaciones que se les da a los nombres que se asignan
a las variables, clases, paquetes, mtodos y constantes en el cdigo de java para que
el compilador los identifique y el programador pueda entenderlos.
Literales y constantes: Los literales son sintaxis para asignar valores a una variable, es
decir el valor que puede tomar una variable, tambin es un valor constante que puede

11
ser de tipo numrico. Las constantes son variables que tienen un valor fijo y no puede
ser modificado en el trascurso de la ejecucin del cdigo, estas se declaran por medio
de los modificadores final y static.
Operadores: Son los que nos indican una evaluacin que se aplica a un objeto o un
dato, sobre un identificador o constante. Un ejemplo de operadores puede ser la suma,
resta o multiplicacin.
Separadores: Se utilizan para indicarle al compilador de java donde se ubican los
elementos del cdigo, los separadores que admite java son: { },:;
Tambin el compilador de java identifica y elimina los comentarios, retornos de carros
espacios vacos y de tabulacin a la hora de compilar por lo que no son considerados
parte de un token.
Las expresiones pueden ser una combinacin en secuencia de variables, operadores y
mtodos. Las expresiones son utilizadas para realizar clculos, para asignar valores a
variables, o para controlar la ejecucin del flujo del programa.
Palabras claves: Son los identificadores reservados por java para cumplir con un
objetivo especfico en el cdigo y el compilador, se usan de forma limitada y en casos
especficos. Las palabras claves que usa java son las siguientes:

Abstract boolean break Byte case

Catch Char class Continue default

Do Double else Extends false

Final Finally float For if

implements Import instanceof Int interface

Long Native new Null package

Private protected public return short

12
Static Super switch syncronized this

Throw Throws transient True try

Void Volatile while Var rest

Byvalue Cast const future generic

Goto Inner operator outer

Operadores
Los operadores son una parte principal en las expresiones, el tipo y forma de uso es
fundamental a la hora de programas, pero para su uso se tiene que tener en cuenta
una serie de normas, como lo son la precedencia de los operadores.
Los operadores son ejecutados segn su precedencia, si cuentan con una precedencia
mayor sern evaluados primero que los de precedencia menor, si por casualidad se
llegase a presentar operadores con el mismo nivel de precedencia, estos se evaluaran
de derecha a izquierda, si son operadores binarios, menos los operadores de
asignacin, se evaluaran de izquierda a derecha.
A Java se le puede indicar qu operadores debe evaluar primero sin importar su
precedencia por medio de parntesis ( ), de esta forma el compilador de java interpreta
que primero ejecutara las operaciones que se encuentran dentro de los parntesis, y
luego continuara con los dems operadores. La siguiente tabla indicara en nivel de
precedencia de los operadores utilizados en java, teniendo en cuenta que el nivel de
precedencia est indicado de arriba a abajo, siendo arriba el nivel ms alto.
Precedencia de los operadores en java.

Tipo de operadores Operadores

Operadores posfijos [ ] . ( parmetros) expr++ expr--

13
Operadores unarios ++expr expr +expr -expr ~ !

Creacin o conversin New (tipo) expr

Multiplicacin */%

Suma +-

Desplazamiento << >> >>>

Comparacin < > <= >= instanceof

Igualdad == !=

AND a nivel bit &

OR a nivel bit |

XOR a nivel bit ^

AND lgico &&

OR lgico ||

Condicional ?:

Asignacin = += -= *= /= %= &= ^= |= <<= >>= >>>=

Un ejemplo de la precedencia de los operadores en java podra ser el siguiente, en


donde tenemos un cdigo que se encargar de realizar una serie de operaciones
aritmticas.

14
int numero1 = 3;
int numero2 = 4;
int resultado;
resultado = numero1 + numero2 * 3;
System.out.println (resultado);

esto imprime el valor de 15*

Java FX

JavaFX est basado en Java. La plataforma JavaFX permite a los desarrolladores de la


aplicacin crear e implementar fcilmente aplicaciones de Internet enriquecidas que se
comportan de la misma forma en distintas plataformas.

JavaFX ampla la potencia de Java permitiendo a los desarrolladores utilizar cualquier


biblioteca de Java en aplicaciones JavaFX. Los desarrolladores pueden ampliar sus
capacidades en Java y utilizar la tecnologa de presentacin que JavaFX proporciona
para crear experiencias visuales que resulten atractivas.

15
CONCLUSIN

Conclusin y opinin personal

Java me parece un programa muy interesante por las caractersticas que ya vimos en
este trabajo, claro que con una gran complejidad, pero con una importancia enorme,

En este trabajo de investigacin sobre Java aprend que es un lenguaje de


programacin con el que podemos realizar cualquier tipo de programas. Adems de
que es un lenguaje muy extendido y cada vez cobra ms importancia tanto en el mbito
de Internet como en la informtica en general, hacindolo de gran importancia a nivel
mundial, ya que es uno de los lenguajes de programacin ms usado en el mundo.
Est desarrollado por la compaa Sun Microsystems con gran dedicacin y siempre
enfocado a cubrir las necesidades tecnolgicas ms avanzadas.

Otra de las principales caractersticas por las que Java se ha hecho tan relevantes, es
que es un lenguaje independiente de la plataforma. Eso quiere decir que si hacemos un
programa en Java podr funcionar en cualquier ordenador del mercado lo cual es una
ventaja significativa para los desarrolladores de software, pues antes tenan que hacer
un programa para cada sistema operativo. Esto lo consigue porque se ha creado una
Mquina de Java para cada sistema que hace de puente entre el sistema operativo y el
programa de Java y posibilita que este ltimo se entienda perfectamente.

La independencia de plataforma es una de las razones por las que Java es interesante
para Internet, ya que muchas personas deben tener acceso con ordenadores distintos.
Pero no se queda ah, Java est desarrollndose incluso para distintos tipos de
dispositivos adems del ordenador como mviles, agendas y en general para cualquier
cosa que se le ocurra a la industria.

FUENTES DE INVESTIGACIN

Referencias

James Gosling, Guy Steele, y Gilad Bracha, The Java language specification, 3ra edicin.
Addison-Wesley, 2005.
George Fray, Java definition, Oklahoma, USA, 2015.
Tim Lindholm y Frank Yellin. The Java Virtual Machine specification, 2da edicin. Addison-
Wesley, 1999.
Java Mxico, www.javamexico.org, Mxico, DF. 2009.
Comunidad de desarrolladores mexicanos, s/a, Ciudad de Mxico, 2014.

16

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