1. CONTENIDO
Ø Definición
¿Qué es Java?
Java
es un lenguaje de programación y una plataforma informática de propósito
general, concurrente, orientado a objetos que fue diseñado específicamente para
tener tan pocas dependencias de implementación como fuera posible. Su intención
es permitir que los desarrolladores de aplicaciones escriban el programa una
vez y lo ejecuten en cualquier dispositivo.
Java
fue comercializado por primera vez en 1995 por Sun Microsystems. Hay muchas
aplicaciones y sitios web que no funcionarán a menos que tenga Java instalado y
cada día se crean más. Java es rápido, seguro y fiable. Desde portátiles hasta
centros de datos, desde consolas para juegos hasta súper computadoras, desde
teléfonos móviles hasta Internet, Java está en todas partes.
Actualmente
es uno de los lenguajes más usados para la programación en todo el mundo.
Ø Características
Características de Java
Lenguaje totalmente orientado a
Objetos. Todos los conceptos en los que se apoya esta técnica,
encapsulación, herencia, polimorfismo, etc., están presentes en Java.
· Disponibilidad de un amplio conjunto de bibliotecas. La programación de aplicaciones con
Java se basa no solo en el empleo del juego de instrucciones que componen el
lenguaje, sino, fundamentalmente, en la posibilidad de utilizar el amplísimo
conjunto de clases que Sun Microsystems pone a
disposición del programador y con las cuales es posible realizar prácticamente
cualquier tipo de aplicación.
· Lenguaje
simple Java posee una curva de
aprendizaje muy rápida. Resulta relativamente sencillo escribir applets
interesantes desde el principio. Todos aquellos familiarizados con C++
encontrarán que Java es más sencillo, ya que se han eliminado ciertas
características, como los punteros. Java tiene un sistema automático de asignación
y liberación de memoria (recolector de basura) que mejora mucho los sistemas
del C++, debido a su semejanza con C y C++, y dado que la mayoría de la gente
los conoce aunque sea de forma elemental, resulta muy fácil aprender Java. Los programadores
experimentados en C++ pueden migrar muy rápidamente a Java y ser productivos en
poco tiempo. Esta eliminación de causas de error y problemas de
mantenimiento facilita y reduce el coste del desarrollo de software.
§
Java no da soporte a struct, union y pointer
§
Java no ofrece typedef ni # define
§
No permite la sobrecarga de operadores.
§
No ofrece herencia múltiple.
§
Maneja los comandos en línea de diferente manera que
C++.
§
Java tienen una clase String, que permite un mejor
manejo que los arrays de terminación nula del C y C++.
§
Java tiene un sistema automático de asignación y
liberación de memoria (recolector de basura) que mejora mucho los sistemas del
C++.
Distribuido. Java
proporciona una colección de clases para su uso en aplicaciones de red, que
permiten abrir sockets y establecer y aceptar conexiones con servidores o
clientes remotos, facilitando así la creación de aplicaciones distribuidas.
Java se ha diseñado para
trabajar en ambiente de redes y contienen una gran biblioteca de clases para la
utilización del protocolo TCP/IP, incluyendo HTTP y FTP. El código Java se
puede manipular a través de recursos URL con la misma facilidad que C y C++
utilizan recursos locales (archivos).
· Interpretado y compilado a la
vez. Java es compilado, en la medida en que su código
fuente se transforma en una especie de código máquina, los bytecodes,
semejantes a las instrucciones de ensamblador. Por otra parte, es interpretado,
ya que los bytecodes se pueden ejecutar directamente sobre cualquier máquina a
la cual se hayan portado el intérprete y el sistema de ejecución en tiempo real
(run-time).
Robusto. Java
fue diseñado para crear software altamente fiable. Para ello proporciona
numerosas comprobaciones en compilación y en tiempo de ejecución. Sus
características de memoria liberan a los programadores de una familia entera de
errores (la aritmética de punteros), ya que se ha prescindido por completo de
los punteros, y la recolección de basura elimina la necesidad de liberación
explícita de memoria.
·Seguro. Dada
la naturaleza distribuida de Java, donde las applets se bajan desde cualquier
punto de la Red, la seguridad se impuso como una necesidad de vital
importancia. Así que se implementaron barreras de seguridad en el lenguaje y en
el sistema de ejecución en tiempo real
Indiferente a la arquitectura. Java está diseñado para soporta aplicaciones que serán ejecutadas en los más variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecución tan diversos o variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseñada para transportar el código eficientemente a múltiples plataformas hardware y software. El resto de problemas los soluciona el intérprete de Java.
Indiferente a la arquitectura. Java está diseñado para soporta aplicaciones que serán ejecutadas en los más variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecución tan diversos o variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseñada para transportar el código eficientemente a múltiples plataformas hardware y software. El resto de problemas los soluciona el intérprete de Java.
Portable. La
indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además,
Java especifica los tamaños de sus tipos de datos básicos y el comportamiento
de sus operadores aritméticos, de manera que los programas son iguales en todas
las plataformas. Estas dos últimas características se conocen como la Máquina
Virtual Java (JVM).
Alto rendimiento. Java es considerado de
alto rendimiento por ser tan veloz en el momento de correr
los programas y por ahorrase muchas líneas de código.
Multihebra o Multihilos. Hoy en día ya se ven como terriblemente limitadas las aplicaciones que sólo pueden ejecutar una acción a la vez. Java soporta sincronización de múltiples hilos de ejecución (multithreading) a nivel de lenguaje, especialmente útiles en la creación de aplicaciones de red distribuidas. Así, mientras un hilo se encarga de la comunicación, otro puede interactuar con el usuario mientras otro presenta una animación en pantalla y otro realiza cálculos.
Multihebra o Multihilos. Hoy en día ya se ven como terriblemente limitadas las aplicaciones que sólo pueden ejecutar una acción a la vez. Java soporta sincronización de múltiples hilos de ejecución (multithreading) a nivel de lenguaje, especialmente útiles en la creación de aplicaciones de red distribuidas. Así, mientras un hilo se encarga de la comunicación, otro puede interactuar con el usuario mientras otro presenta una animación en pantalla y otro realiza cálculos.
Dinámico. El
lenguaje Java y su sistema de ejecución en tiempo real son dinámicos en la fase
de enlazado. Las clases sólo se enlazan a medida que son necesitadas. Se pueden
enlazar nuevos módulos de código bajo demanda, procedente de fuentes muy
variadas, incluso desde la Red.
Produce applets. Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets. Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HotJava, escrito íntegramente en Java. Por su parte, las applets son pequeños programas que aparecen embebidos en las páginas Web, como aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones muy complejas, como animar imágenes, establecer conexiones de red, presentar menús y cuadros de diálogo para luego emprender acciones, etc.
Produce applets. Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets. Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HotJava, escrito íntegramente en Java. Por su parte, las applets son pequeños programas que aparecen embebidos en las páginas Web, como aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones muy complejas, como animar imágenes, establecer conexiones de red, presentar menús y cuadros de diálogo para luego emprender acciones, etc.
Ø
Tipos
de datos
Tipos de datos (variables)
en java.
En Java existen dos
grupos de tipos de datos, tipos primitivos y tipos referencia. Los tipos de
datos primitivos son los mismos que en C/C++, int, float, double, etc; los
tipos referencias sirven para acceder a los atributos y métodos de los objetos.
§
Tipos
Primitivos
En Java el tamaño de los tipos primitivos no
depende del sistema operativo o de la arquitectura, en todas las arquitecturas
y bajo todos los sistemas operativos el tamaño en memoria es el mismo.
Tipo de dato
|
Representación
|
Tamaño (Bytes)
|
Rango de Valores
|
Valor por defecto
|
Clase Asociada
|
byte
|
Numérico Entero con signo
|
1Bytes (8 bits)
|
-128 a 127
|
0
|
Byte
|
short
|
Numérico Entero con signo
|
2 Bytes (16 bits)
|
-32768 a 32767
|
0
|
Short
|
int
|
Numérico Entero con signo
|
4 Bytes (32 bits)
|
-2147483648 a 2147483647
|
0
|
Integer
|
long
|
Numérico Entero con signo
|
8 Bytes (64 bits)
|
-9223372036854775808 a 9223372036854775807
|
0
|
Long
|
float
|
Numérico en Coma flotante de precisión simple
Norma IEEE 754
|
4 Bytes (32 bits)
|
± 3.4x10-38 a ± 3.4x1038
|
0.0
|
Float
|
double
|
Numérico en Coma flotante de precisión doble
Norma IEEE 754
|
8 Bytes (64 bits)
|
± 1.8x10-308 a ± 1.8x10308
|
0.0
|
Double
|
char
|
Carácter Unicode
|
2 Bytes (16 bits)
|
\u0000 a \uFFFF
|
\u0000
|
Character
|
boolean
|
Dato lógico
|
1 Bytes (8 bits)
|
true ó false
|
false
|
Boolean
|
void
|
-
|
-
|
-
|
-
|
Void
|
Tipos
referencia
En
Java los objetos, instancias de clases, se manejan a través de referencias.
Cuando se crea una nueva instancia de una clase con el operador new este devuelve una referencia al
tipo de la clase.
Para aclararlo veamos un ejemplo:
Punto
unPunto = new Punto ();
El
operador new () reserva espacio en memoria para contener un objeto del tipo
Punto y devuelve una referencia que se asigna a unPunto. A partir de aquí
accedemos al objeto a través de su referencia.
Ø Operadores
Operadores de Java
Los operadores son muy similares a los de C++.
Operadores Aritméticos: Los habituales
·
Suma +
·
Resta -
·
Multiplicación
*
·
División /
·
Resto de la
División %
Operadores de Asignación: El principal es '=' pero hay más operadores de asignación con distintas
funciones que explicamos brevemente ahora.
·
'+=' : op1
+= op2 à op1 = op1 + op2
·
'-=' : op1
-= op2 à op1 = op1 - op2
·
'*=' : op1
*= op2 à op1 = op1 * op2
·
'/=' : op1
/= op2 à op1 = op1 / op2
·
'%=' : op1
%= op2 à op1 = op1 % op2
Operadores Unarios: El mas (+) y el menos (-). Para cambiar el signo
del operando.
Operador Instanceof: Nos permite saber si un objeto pertenece a una clase o no.
Operador Instanceof: Nos permite saber si un objeto pertenece a una clase o no.
·
NombreObjeto
instanceof NombreClase
Operadores Incrementales: Son los operadores que nos
permiten incrementar las variables en una unidad. Se pueden usar delante y
detrás de la variable dependiendo de lo que queramos, es decir, si queremos que
incremente o viceversa antes de utilizar o lo contrario.
·
'++'
·
'--'
Operadores Relacionales: Permiten comparar variables
según relación de igualdad/desigualdad o relación mayor/menor.
Devuelven siempre un valor boolean.
·
'>':
Mayor que
·
'<':
Menor que
·
'==':
Iguales
·
'¡=':
Distintos
·
'>=':
Mayor o igual que
·
'<=':
Menor o igual que
Operadores Lógicos: Nos permiten construir expresiones lógicas.
·
'&&'
: devuelve true si ambos operandos son true.
·
'||' :
devuelve true si alguno de los operandos son true.
·
'!' : Niega
el operando que se le pasa.
·
'&' :
devuelve true si ambos operandos son true, evaluándolos ambos.
·
'|' :
devuelve true uno de los operandos es true, evaluándolos ambos.
Operador de concatenación con cadena de caracteres '+':
·
Por Ejemplo:
System.out.println("El total es"+ result +"unidades");
Operadores que actúan a nivel de bits: Son mucho menos utilizados por
eso los explicamos más por encima.
·
'>>':
desplazamiento a la derecha de los bits del operando
·
'<<':
desplazamiento a la izquierda de los bits de operando
·
'&':
operador and a nivel de bit.
·
'|':
operador or a nivel de bit
2. RESUMEN
El marco colecciones Java da acceso al programador a los datos preenvasados
estructuras, así como a los algoritmos para la manipulación de ellos.
Una colección es un objeto que puede contener referencias a otros objetos.
Las interfaces de la colección declaran las operaciones que se pueden realizar
en cada
tipo de colección.
Las clases e interfaces del marco de las colecciones están en el paquete
java.util.
Sería bueno si pudiéramos escribir un solo método para ordenar que podría
ordenar
los elementos de una matriz de enteros, una matriz de cadenas, o una
matriz de
cualquier tipo que apoya el pedido.
Los métodos de Java genéricos y clases genéricas permiten a los
programadores
para especificar, con una única declaración de método, un
conjunto de
métodos relacionados, o con una sola declaración de la clase, un
conjunto de
tipos relacionados, respectivamente.
Los medicamentos genéricos también proporcionan la seguridad de tipos en
tiempo
de compilación que permite a los programadores para la captura no válida
de tipos en
tiempo de compilación.
Utilizando el concepto genérico de Java, podríamos escribir un método
genérico
para ordenar una matriz de objetos, a continuación, invocar el método
genérico con
matrices de enteros, matrices, las matrices de cadenas dobles y
así sucesivamente,
para ordenar los elementos de la matriz.
3. SUMMARY
The Java collections framework gives the
programmer access to prepackaged data
structures as well as to algorithms for
manipulating them.
A collection is an object that can hold
references to other objects. The collection
interfaces declare the operations
that can be performed on each type of collection.
The classes and interfaces of the collections
framework are in package java.util.
It would be nice if we could write a single sort
method that could sort the elements
in an Integer array, a String array, or an
array of any type that supports ordering.
Java Generic methods and generic classes enable
programmers to specify, with a
single method declaration, a set of related
methods, or with a single class declaration, a
set of related types,
respectively.
Generics also provide compile-time type safety
that allows programmers to catch invalid
types at compile time.
Using Java Generic concept, we might write a
generic method for sorting an array of
objects, then invoke the generic method
with Integer arrays, Double arrays, String arrays
and so on, to sort the array
elements.
4. RECOMENDACIONES
En Java existen ciertas reglas de
codificación que son comúnmente utilizadas por
los programadores. Conviene
conocer y seguir estas reglas.
Funciona en cualquier plataforma: a diferencia de los programas que requieren de versiones específicas para
cada sistema operativo (tales como Windows o Mac), las aplicaciones
desarrolladas en Java funcionan en cualquier entorno, dado que no es el sistema
quien las ejecuta, sino la máquina virtual (conocida como Java Virtual Machine
o JVM).
·
Los nombres de las clases deben
empezar por mayúscula.
·
Los atributos y métodos de las clases
deben empezar por minúsculas y si están formadas por varias palabras, se
escriben sin espacios y la primera letra de cada palabra en mayúscula.
·
Las instancias de las clases siguen
la misma recomendación que los métodos y atributos.
·
Las constantes se escriben en
mayúsculas.
5. CONCLUSIONES
·
Java se caracteriza por ser un
lenguaje muy utilizado.
·
Java como sabemos es un lenguaje que
fue creado a similitud del lenguaje C pero con una diferencia, que este
lenguaje nos ayuda a tener una mayor seguridad en el programa que se está
ejecutando.
·
Java, comprende varias tecnologías además
es un lenguaje multiplataforma.
6. APRECIACIÓN
DEL EQUIPO
Java es un lenguaje de
programación orientado a objetos que se popularizó a partir
del
lanzamiento de su primera versión comercial de amplia difusión, la JDK 1.0
en 1996.
Actualmente es uno de los lenguajes más usados para la programación en
todo el mundo.
7. GLOSARIO
DE TÉRMINOS
·
Sun Microsystems: Fue una empresa informática que se dedicaba a vender estaciones de trabajo, servidores,
componentes informáticos, software (sistemas operativos) y servicios
informáticos.
· Encapsulación: Es un método de diseño modular de
protocolos de comunicación en el cual las funciones lógicas de una red son
abstraídas ocultando información a las capas de nivel superior.
· Polimorfismo: Se refiere a la propiedad por la que
es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos.
·
Sockets: Son una manera simple de establecer
enlaces entre instancias, permiten crear comunicaciones.
·
Http (Hypertext Transfer Protocol o en español protocolo de transferencia de
hipertexto): Es el protocolo de
comunicación que permite las transferencias de información en la World Wide
Web.
·
FTP (siglas en inglés de File Transfer
Protocol, 'Protocolo de Transferencia de Archivos): Es un protocolo de red para
la transferencia de archivos entre sistemas conectados a una red TCP
(Transmission Control Protocol), basada en la arquitectura cliente-servidor.
· Bytecode: Es un archivo binario que contiene un programa ejecutable similar a un módulo objeto, que es un archivo binario producido por
el compilador cuyo contenido es el código objeto o código máquina.
·
Estaciones De Trabajo: Es una computadora que facilita a los
usuarios el acceso a los servidores y periféricos de la red.
· Web Hotjava: Es un navegador web modular
y extensible de Sun Microsystems que puede ejecutar applets Java.
·
Concatenación: Figura que consiste en la
repetición de dos o más cláusulas o miembros del periodo anterior en el inicio
del siguiente.
8. LINKOGRAFÍA

No hay comentarios.:
Publicar un comentario