SlideShare una empresa de Scribd logo
1 de 18
República bolivariana de Venezuela
I.U.P. “Santiago Mariño”
Extensión Maturín
PROGRAMACION ORIENTADA A OBJETOS
Tutor: Autor:
María Aguilera Ángel Laverde 25.503.860
Sección “GG” D/T Cesar Anteliz 19.781.585
Marzo de 2016
INTRODUCCION
Java es un lenguaje de programación 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 (conocido en inglés como WORA, o "write once, run
anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que
ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de
programación más populares en uso, particularmente para aplicaciones de cliente-servidor de
web, con unos 10 millones de usuarios reportado.
Historia de Java:
Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box
en una pequeña operación denominada the Green Project en Sun Microsystems en el año 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 había 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 gráficas y finalmente se renombró a Java.
Es frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o
no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus diseñadores: James
Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo,
JustAnother Vague Acronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza
tiene es la de que Java debe su nombre a un tipo de café disponible en la cafetería cercana, de ahí
que el icono de java sea una taza de café caliente. Un pequeño signo que da fuerza a esta teoría es
que los 4 primeros bytes (el número mágico) de los archivos.class que genera el compilador, son
en hexadecimal, 0xCAFEBABE. A pesar de todas estas teorías, el nombre fue sacado al parecer
de una lista aleatoria de palabras.3
Los objetivos de Gosling eran implementar una máquina virtual y un lenguaje con una estructura
y sintaxis similar a C++. Entre junio y julio de 1994, tras una sesión maratoniana de tres días
entre John Gaga, James Gosling, Patrick Naughton, Wayne Rosing y Eric Schmidt, el equipo
reorientó la plataforma hacia la Web. Sintieron que la llegada del navegador web Mosaic,
propiciaría que Internet se convirtiese en un medio interactivo, como el que pensaban era la
televisión por cable. Naughton creó entonces un prototipo de navegador, WebRunner, que más
tarde sería conocido como HotJava.
En 1994, se les hizo una demostración de HotJava y la plataforma Java a los ejecutivos de Sun.
Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de
1995, durante las conferencias de SunWorld, a que vieran la luz pública Java y HotJava, el
navegador Web. El acontecimiento fue anunciado por John Gage, el Director Científico de Sun
Microsystems. El acto estuvo acompañado por una pequeña sorpresa adicional, el anuncio por
parte de Marc Andreessen, Vicepresidente Ejecutivo de Netscape, de que Java sería soportado en
sus navegadores. El 9 de enero del año siguiente, 1996, Sun fundó el grupo empresarial JavaSoft
para que se encargase del desarrollo tecnológico. [1] Dos semanas más tarde la primera versión
de Java fue publicada.
La promesa inicial de Gosling era Write Once, Run Anywhere (Escríbelo una vez, ejecútalo en
cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de
ejecución (la JVM) ligero y gratuito para las plataformas más populares de forma que los binarios
(bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma.
El entorno de ejecución era relativamente seguro y los principales navegadores web pronto
incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas web.
Java ha experimentado numerosos cambios desde la versión primigenia, JDK 1.0, así como un
enorme incremento en el número de clases y paquetes que componen la biblioteca estándar.4
En el 2005 se calcula en 4,5 millones el número de desarrolladores y 2.500 millones de
dispositivos habilitados con tecnología Java.
¿Qué es JDK?
Java Development Kit o (JDK), es un software que provee herramientas de desarrollo para la creación
de programas en Java. Puede instalarse en una computadora local o en una unidad de red.
En la unidad de red se pueden tener las herramientas distribuidas en varias computadoras y trabajar como
una sola aplicación.
Los programas más importantes que se incluyen son:
Javac: es el compilador de JAVA.
Java: es el intérprete de JAVA.
Javadoc: genera la documentación de las clases java de un programa.
Javah: que es un fichero de cabecera para escribir métodos nativos. Entre otro.
¿Qué es JRE?
Java RuntimeEnvironment o JRE es un conjunto de utilidades que permite la ejecución de
programas Java.
En su forma más simple, el entorno en tiempo de ejecución de Java está conformado por una
Máquina Virtual de Java o JVM, un conjunto de bibliotecas Java y otros componentes necesarios
para que una aplicación escrita en lenguaje Java pueda ser ejecutada. El JRE actúa como un
"intermediario" entre el sistema operativo y Java.
La JVM es el programa que ejecuta el código Java previamente compilado (bytecode) mientras
que las librerías de clases estándar son las que implementan el API de Java. Ambas JVM y API
deben ser consistentes entre sí, de ahí que sean distribuidas de modo conjunto.
Un usuario sólo necesita el JRE para ejecutar las aplicaciones desarrolladas en lenguaje Java,
mientras que para desarrollar nuevas aplicaciones en dicho lenguaje es necesario un entorno de
desarrollo, denominado JDK, que además del JRE (mínimo imprescindible) incluye, entre otros,
un compilador para Java.
El compilador de java:
Un compilador java, es un programa que transforma código fuente escrito en java a un código
neutral a la plataforma conocida como java bytecode (Aunque existen compiladores que
transforman el código fuente java a algún código nativo). El compilador más conocido es el
"javac" que es parte del JDK de Oracle.
La máquina virtual de java:
Una máquina virtual Java (en inglés Java Virtual Machine, JVM) es una máquina virtual de
proceso nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar
instrucciones expresadas en un código binario especial (el bytecode Java), el cual es generado por
el compilador del lenguaje Java.
El código binario de Java no es un lenguaje de alto nivel, sino un verdadero código máquina de
bajo nivel, viable incluso como lenguaje de entrada para un microprocesador físico. Como todas
las piezas del rompecabezas Java, fue desarrollado originalmente por Sun.
Anatomía de un programa en Java:
Toda aplicación de consola en Java contiene una clase principal con un método (o función) main,
al igual que en C++, la función main es lo primero que se ejecuta cuando se inicia la aplicación
desde la línea de comandos. De esta forma podemos deducir que cualquier llamado, declaración o
método que no sea llamado de manera directa o indirecta desde el método main nunca se
ejecutará. En Java el método main recibe como argumento un arreglo de String. Este arreglo
contiene los argumentos enviados por la línea de comandos para la invocación del programa.
La estructura básica de un programa desarrollado usando Java es la siguiente:
Línea 1: La primer línea de nuestro código ha declarado una clase llamada "nombre_clase", la
cual es pública (public), esto quiere decir que tendrás acceso a dicha clase, desde cualquier parte
del código sin ningún tipo de complicaciones, ahora, lógicamente tú le podrás poner el nombre
que te guste más, como veras por la margen que tiene el código, dentro de la clase
"nombre_clase" hay otras líneas, las líneas 2, 3, 4 y 5, esto simplemente le da un poco más de
orden a nuestro programa, nuestra línea 1, también tiene una llave abriendo "{", esto quiere decir
que todo lo que halla después de esta llave forma parte de la clase "nombre_clase" e indica el
comienzo de las líneas de sentencia de esta, en este caso, esta la declaración de la función main().
Línea 2: La línea numero dos contiene la declaración de la función (o método) main, el cual es
publica y además hay algo especial, es del tipo void (una función puede tomar varios valores,
entero, decimal, cadena de texto, entre otros) el poner void, estamos queriendo decir que la
función main no retornará nada al finalizar, si se le pusiera por ejemplo int (entero) entonces al
final de la función, esta debería retornar algún numero o variable de tipo entero. Nuestra línea
dos, también tiene un argumento para la función main, es lo que está dentro de los paréntesis
"Stringargs[]", esto quiere decir que la función main, debe recibir un argumento el cual es de tipo
String y es además un vector, luego hablare de los tipos de datos, no te preocupes mucho por
esto. Finalmente esta la llave abriendo "{".esto quiere decir que lo que halla después de esta llave
forma parte de las sentencias (lo que nuestro programa realizará durante su ejecución).
Línea 3: La línea tres contiene el bloque de sentencias, es decir, las líneas de código que nuestro
programa seguirá durante su ejecución, es de notar que cada sentencia termina con punto y coma
";" para dar un poco de claridad, se entiende como línea de sentencia, a las líneas de código que
en ellas contienen la declaración de alguna variable, o alguna operación,( suma, resta, división,
etc.) o cualquier acción, como modificar, asignar, o eliminar algo.
Línea 4: La línea número cuatro contiene una llave cerrando "}" eso nos indica que en esta línea
termina la ejecución de alguna función (para identificar esta función que se cierra, sigue la
identificación u seguramente sabrás cual es la que estamos cerrando) pues bien, habrás notado
que la función que esta llave está cerrando es la función main(), esto quiere decir que todo lo que
halla después de esta llave formará parte de la clase "nombre_clase" pero no será ejecutado ni
formará parte de la función main.
Línea 5: La línea cinco, nos indica al igual que la cuatro el final de una función o en este caso de
una clase, esta línea 5 entonces nos indica el final de la clase “nombre_clase”.
Tipos de programas que pueden hacerse en Java:
Actualmente cada vez más la tecnología invade más campos de nuestra vida, estando las personas
cada vez más familiarizados con términos informáticos, entre ellos, como, los lenguajes de
programación. Cualquier persona que ha usado alguna vez un ordenador o sistema le resulta
familiar alguno de estos términos relacionados a los tipos de lenguajes de programación: C,
Pascal, Cobol, Visual Basic, Java, Fortran, etc. En la actualidad existen varios tipos de lenguajes
de programación. Todos estos tipos de lenguaje pueden confundir o hacer dudar a cualquier
persona que comienza aprender un lenguaje, quien tras hallar varias posibilidades o posibles
alternativas no sabe cuál de ellos escoger. El motivo de esta gran variedad de lenguajes es que
cada uno ha sido creado para una determinada función, está especialmente diseñado para facilitar
la programación de un determinado tipo de problemas, para garantizar seguridad de las
aplicaciones, para obtener una mayor facilidad de programación, para conseguir un mayor
aprovechamiento de los recursos del ordenador y han sido creados o modificados por diferentes
personas o empresas.
En Java se pueden crear básicamente dos tipos de programas: applets y aplicaciones.
Los applets son programas Java que se transmiten por Internet y que se ejecutan incrustados en
una página Web. Para ejecutar un applet se requiere tener instalada una versión de la JVM. Aquí
se muestra un applet en ejecución. Note que un applet no tiene ventana.
Las aplicaciones son programas independientes de un navegador Web; pero que, para ser
ejecutados, también necesitan de una versión de la JVM. En la Figura 1.3 se muestra una
aplicación en ejecución. Note que la aplicación tiene su propia ventana.
Entornos de desarrollo integrado (IDE), para Java:
Un ambiente de desarrollo integrado o entorno de desarrollo interactivo, en inglés
IntegratedDevelopmentEnvironment (IDE), es una aplicación informática que proporciona
servicios integrales para facilitarle al desarrollador o programador el desarrollo de software.
Normalmente, un IDE consiste de un editor de código fuente, herramientas de construcción
automáticas y un depurador. La mayoría de los IDE tienen auto-completado inteligente de código
(IntelliSense). Algunos IDE contienen un compilador, un intérprete, o ambos, tales como
NetBeans y Eclipse; otros no, tales como SharpDevelop y Lazarus.
El límite entre un IDE y otras partes del entorno de desarrollo de software más amplio no está
bien definido. Muchas veces, a los efectos de simplificar la construcción de la interfaz gráfica de
usuario (GUI, por sus siglas en inglés) se integran un sistema controlador de versión y varias
herramientas. Muchos IDE modernos también cuentan con un navegador de clases, un buscador
de objetos y un diagrama de jerarquía de clases, para su uso con el desarrollo de software
orientado a objetos.
El kit de desarrollo (JDK) no incluye ningún editor con el que crear nuestros programas.
Podríamos instalar un "editor genérico", porque tenemos muchos gratuitos y de calidad, como
Notepad++. Aun así, si nuestro equipo es razonablemente moderno, puede ser preferible instalar
un entorno integrado.
Elementos de un programa Java:
-)Comentarios:En la programación de computadoras, un comentario es una construcción del lenguaje de
programación destinada a incrustar anotaciones legibles al programador en el código fuente de un
Programa informático. Estas anotaciones son potencialmente significativas para los programadores, pero
usualmente ignorados por los compiladores e intérpretes.Los comentarios son añadidos usualmente con el
propósito de hacer el código fuente más fácil de entender con vistas a su mantenimiento o reutilización. La
sintaxis y reglas para los comentarios varían y usualmente son definidas en la especificación del lenguaje
de programación.
En Java se pueden utilizar tres tipos de comentarios:
Comentario tradicional estilo C/C++:
Empieza con los caracteres /* y acaba con */.
Pueden ocupar más de una línea y pueden aparecer en cualquier lugar donde pueda aparear un
espacio en blanco. No pueden anidarse.
Ejemplos de comentarios estilo C/C++:
/* Programa Ecuación segundo gradoCalcula las soluciones de una ecuación de segundo grado */
Comentarios de una sola línea:
Comienzan con una doble barra ( // ) y se pueden extender hasta el final de la línea.
No tienen carácter de terminación.
Ejemplos de comentarios de una sola línea:
// Programa Ecuación segundo grado
// Calcula las soluciones de una ecuación de segundo gradoint p; // precio del producto
Comentarios de documentación Javadoc:
Son comentarios especiales para generar documentación del programa.
Comienza con /** y termina con */
Ejemplo de comentario de documentación Javadoc:
/**
*
* @author Enrique
* @version 1.0
*
*/
- ) Variable:Las variables son una de las características fundamentales de los lenguajes de
programación, permiten acceder a la memoria para almacenar y recuperar los datos con los que
nuestros programas van a trabajar. Son por tanto el mecanismo que los lenguajes de
programación ponen a nuestra disposición para acceder a la memoria.
Se trata de un mecanismo de lo más sencillo, sólo tenemos que dar un nombre a nuestras
variables, a partir de ese momento el compilador traducirá de forma automática ese nombre en un
acceso a memoria. Por ejemplo:
//Almacenamos un dato en memoria referenciado por el nombre edad
edad = 5;
//Recuperamos el dato almacenado y lo modificamos
edad = edad + 1;
Java es un lenguaje tipado y nos obliga a declarar nuestras variables antes de poder hacer uso de
ellas, con esta declaración le indicamos al compilador el espacio en memoria que debe de
reservar para almacenar la información.
- ) Operadores: Los operadores son muy similares a los de C++, ya lo advertimos en su momento.
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.
 NombreObjetoinstanceofNombreClase
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
relacció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 mas
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
Sentencias de Datos de Entrada y Salida en Java:
La entrada y salida en java se implementa en el paquete java.io y toto el código presentado en
este capítulo se importa, aunque no se incluya la correspondiente sentencia import.
La E/S en java se basa en el concepto de flujo, que es una secuencia ordenada de datos que tienen
una fuente (flujos de entrada) o un destino (flujos de salida). Las clases de E/S aislan a los
programadores de los detalles específicos del sistema de funcionamiento de la máquina, al tiempo
que posibilitan el acceso a recursos del sistema por medio de ficheros o archivos (files).
En este capítulo vamos a ocuparnos de las clases de E/S más sencillas, dejando las otras más
sofisticadas para cuando tengamos necesidad de utilizarlas.
- ) Entrada: La clase abstracta InputStream declara los métodos para leer datos desde una fuente
concreta y es la clasa base de la mayor parte de los flujos de entrada en java.io. Soporta los
métodos siguientes:
Intread() lee un sólo byte de datos y los devuelve en el rango [0..255]. Devuelve -1 cuando se
alcanza el final del flujo y no puede seguir leyendo bytes.
Intread(byte [] buf) lee un array de bytes hasta buf.length. Devuelve el número de bytes leidos o -
1 cuando se llega al final del flujo.
Intread(byte [] buf, int off, intlen) lee len bytes del flujo (o los que pueda) y los coloca a partir de
la posición off del array.
longskip(longcount) salta hasta count bytes de entrada o hasta el final del flujo de entrada,
devolviendo el número de bytes saltados.
Intavailable() devuelve el número de bytes que están disponibles para leerse.
Voidclose() cierra el flujo de entrada que abrió el constructor no-arg, liberando los recursos
asociados a ese flujo. No es necesario invocar este método ya que el flujo se cierra cuando se
destruye el objeto aunque es conveniente hacerlo ya que vuelca el buffer sobre el disco.
El siguiente ejemplo es un programa muy sencillo que hace el eco de la entrada estándar (el
teclado) leyendo los caracteres de 5 en 5 (el return también es un carácter).
- ) Salida: La clase abstracta OutputStream es análoga a InputStream sólo que proporciona
métodos para manejar el flujo de salida. Los métodos que incluye son:
Voidwrite(int b) escribe b como byte, que, aunque sea declarado como int es transformado a byte.
Esto es porque habitualmente es el resultado de una operación previa.
Voidwrite(byte [] buf) escribe un array de bytes.
Voidwrite(byte [] buf, int offset, intcount) escribe un arraybuf de bytes, empezando en la posición
offset y escribiendo count de ellos, deteniendose antes si encuentra el final del array.
Voidflush() vacia el flujo de modo que los bytes que quedaran por escribir son escritos.
Voidclose() cierra el flujo de salida liberando los recursos asociados a ese flujo.
A menos que se diga lo contrario estos métodos lanzan una excepción IOException si detectan
algún error en el flujo de salida.
Estructuras de control:
En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución
de las instrucciones de un programa.
Con las estructuras de control se puede:
De acuerdo a una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
De acuerdo al valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case)
Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)
Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se
puede clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que
permite que la programación se rija por los principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo
que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis, cada lenguaje
tiene una sintaxis propia para expresar la estructura.
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.
Las estructuras de control determinan la secuencia de ejecución de las sentencias de un
programa.
Las estructuras de control se dividen en tres categorías:
Secuencial
Condicional o Selectiva
Iterativa o Repetitiva.
El orden en que se ejecutan por defecto las sentencias de un programa es secuencial. Esto
significa que las sentencias se ejecutan en secuencia, una después de otra, en el orden en que
aparecen escritas dentro del programa.
La estructura secuencial está formada por una sucesión de instrucciones que se ejecutan en orden
una a continuación de la otra.
Cada una de las instrucciones están separadas por el carácter punto y coma (;).
Las instrucciones se suelen agrupar en bloques.
El bloque de sentencias se define por el carácter llave de apertura ({) para marcar el inicio del
mismo, y el carácter llave de cierre (}) para marcar el final.
Ejemplo:
{
instrucción 1;
instrucción 2;
instrucción 3;
}
En Java si el bloque de sentencias está constituido por una única sentencia no es obligatorio el
uso de las llaves de apertura y cierre ({ }), aunque sí recomendable.
Ejemplo de programa Java con estructura secuencial: Programa que lee dos números por teclado
y los muestra por pantalla.
/* Programa que lea dos números por teclado y los muestre por pantalla.
*/
importjava.util.*;
public class Main {
public static void main(String[] args){
//declaración de variables
int n1, n2;
Scanner sc = new Scanner(System.in);
//leer el primer número
System.out.println("Introduce un número entero: ");
n1 = sc.nextInt(); //lee un entero por teclado
//leer el segundo número
System.out.println("Introduce otro número entero: ");
n2 = sc.nextInt(); //lee un entero por teclado
//mostrar resultado
System.out.println("Ha introducido los números: " + n1 + " y " + n2);
}
}
CONCLUCION
El lenguaje Java es una opción conveniente a la hora de trabajar con programación gracias a su
flexibilidad y otros factores, soporta de forma nativa la programación concurrente gracias a la
clase Thread. Dispone de métodos de sincronización y señalización entre hebras gracias a los
cerrojos y a los métodos wait(...), notify() y notifyAll() definidos en la clase Object.
La máquina virtual es la que se encarga de todo esto, soportando la ejecución concurrente de
varios hilos diferentes. Sin embargo, la implementación de los métodos importantes para la
concurrencia no tienen una traducción directa a instrucciones de la máquina virtual, sino que se
implementan mediante métodos nativos que se relacionan directamente con la máquina virtual
para conseguir su objetivo, Dando un tipo de lenguaje orientado a objetos de los mas populares y
utilizados en la actualidad.

Más contenido relacionado

La actualidad más candente

Compiladores (python)
Compiladores (python)Compiladores (python)
Compiladores (python)Sertepeca
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointMariviMartinezM
 
Portafolio parcial 2
Portafolio parcial 2Portafolio parcial 2
Portafolio parcial 2EmmanuelAv
 
Carasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharCarasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharudalrico
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POOsena
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasAnel Sosa
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Java pre
Java preJava pre
Java prejtk1
 
Introduc java pre
Introduc java preIntroduc java pre
Introduc java prejtk1
 
2 daoo introduccion_java
2 daoo introduccion_java2 daoo introduccion_java
2 daoo introduccion_javaJohnny Rosero
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrolloDavid
 

La actualidad más candente (20)

C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
Compiladores (python)
Compiladores (python)Compiladores (python)
Compiladores (python)
 
Guia del trabajo con excepciones
Guia del trabajo con excepcionesGuia del trabajo con excepciones
Guia del trabajo con excepciones
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power Point
 
Portafoliojava
PortafoliojavaPortafoliojava
Portafoliojava
 
Portafolio parcial 2
Portafolio parcial 2Portafolio parcial 2
Portafolio parcial 2
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Carasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharCarasteristicas de compiladores sheshar
Carasteristicas de compiladores sheshar
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y librerias
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Que Es Java
Que Es JavaQue Es Java
Que Es Java
 
Instituto Cristiano Encuentro
Instituto Cristiano EncuentroInstituto Cristiano Encuentro
Instituto Cristiano Encuentro
 
Java pre
Java preJava pre
Java pre
 
Introduc java pre
Introduc java preIntroduc java pre
Introduc java pre
 
Java world
Java worldJava world
Java world
 
2 daoo introduccion_java
2 daoo introduccion_java2 daoo introduccion_java
2 daoo introduccion_java
 
Api java
Api javaApi java
Api java
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 

Destacado

Anatomía de un proyecto - Diapositiva
Anatomía de un proyecto - DiapositivaAnatomía de un proyecto - Diapositiva
Anatomía de un proyecto - DiapositivaPedro Mesía
 
AITEC -Curso introducción al desarrollo de aplicaciones con java
AITEC -Curso introducción al desarrollo de aplicaciones con javaAITEC -Curso introducción al desarrollo de aplicaciones con java
AITEC -Curso introducción al desarrollo de aplicaciones con javaFranklin David Moya Dávila
 
Tema 1 el entorno de desarrollo de java
Tema 1 el entorno de desarrollo de javaTema 1 el entorno de desarrollo de java
Tema 1 el entorno de desarrollo de javaSabinaChambi
 
Mi lenguaje de programacion de preferencia Java
Mi lenguaje de programacion de preferencia JavaMi lenguaje de programacion de preferencia Java
Mi lenguaje de programacion de preferencia Javaemiljoel6
 
Comandos, Sentencias y/o Paquetes del Lenguaje de Programación de Java
Comandos, Sentencias y/o Paquetes del Lenguaje de Programación de JavaComandos, Sentencias y/o Paquetes del Lenguaje de Programación de Java
Comandos, Sentencias y/o Paquetes del Lenguaje de Programación de JavaTania Tellez
 
Lenguaje de Programación Java
Lenguaje de Programación JavaLenguaje de Programación Java
Lenguaje de Programación JavaAlfredito Aguayo
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Renny Batista
 
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...Jose Emilio Labra Gayo
 

Destacado (15)

ANATOMIA JAVA
ANATOMIA JAVAANATOMIA JAVA
ANATOMIA JAVA
 
Anatomía de un proyecto - Diapositiva
Anatomía de un proyecto - DiapositivaAnatomía de un proyecto - Diapositiva
Anatomía de un proyecto - Diapositiva
 
Introduccion al lenguaje java
Introduccion al lenguaje javaIntroduccion al lenguaje java
Introduccion al lenguaje java
 
AITEC -Curso introducción al desarrollo de aplicaciones con java
AITEC -Curso introducción al desarrollo de aplicaciones con javaAITEC -Curso introducción al desarrollo de aplicaciones con java
AITEC -Curso introducción al desarrollo de aplicaciones con java
 
Tema 1 el entorno de desarrollo de java
Tema 1 el entorno de desarrollo de javaTema 1 el entorno de desarrollo de java
Tema 1 el entorno de desarrollo de java
 
Mi lenguaje de programacion de preferencia Java
Mi lenguaje de programacion de preferencia JavaMi lenguaje de programacion de preferencia Java
Mi lenguaje de programacion de preferencia Java
 
Java
JavaJava
Java
 
El lenguaje java
El lenguaje javaEl lenguaje java
El lenguaje java
 
Comandos, Sentencias y/o Paquetes del Lenguaje de Programación de Java
Comandos, Sentencias y/o Paquetes del Lenguaje de Programación de JavaComandos, Sentencias y/o Paquetes del Lenguaje de Programación de Java
Comandos, Sentencias y/o Paquetes del Lenguaje de Programación de Java
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Fundamentos de Programación en JAVA
Fundamentos de Programación en JAVAFundamentos de Programación en JAVA
Fundamentos de Programación en JAVA
 
Lenguaje de Programación Java
Lenguaje de Programación JavaLenguaje de Programación Java
Lenguaje de Programación Java
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Introduccion a la Programación
Introduccion a la ProgramaciónIntroduccion a la Programación
Introduccion a la Programación
 
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
 

Similar a Java

Similar a Java (20)

Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conpre
 
Java kaime con
Java kaime conJava kaime con
Java kaime con
 
Pres1
Pres1Pres1
Pres1
 
Java basico
Java basicoJava basico
Java basico
 
Java basico
Java basicoJava basico
Java basico
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Ut
UtUt
Ut
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
C1 intro java
C1 intro javaC1 intro java
C1 intro java
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de Java
 
Java basico
Java basicoJava basico
Java basico
 
Lenguaje de programación java
Lenguaje de programación  javaLenguaje de programación  java
Lenguaje de programación java
 
Java
JavaJava
Java
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java
 
Java
JavaJava
Java
 
Trabajo java
Trabajo javaTrabajo java
Trabajo java
 
Maquinavirtual java
Maquinavirtual javaMaquinavirtual java
Maquinavirtual java
 

Más de Angel Laverde ID

Más de Angel Laverde ID (6)

Mallas y nodos
Mallas y nodosMallas y nodos
Mallas y nodos
 
Fuentes dependientes
Fuentes dependientesFuentes dependientes
Fuentes dependientes
 
Divisor de corriente y tensión
Divisor de corriente y tensiónDivisor de corriente y tensión
Divisor de corriente y tensión
 
Conceptos basicos de electricidad
Conceptos basicos de electricidadConceptos basicos de electricidad
Conceptos basicos de electricidad
 
Java
JavaJava
Java
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 

Java

  • 1. República bolivariana de Venezuela I.U.P. “Santiago Mariño” Extensión Maturín PROGRAMACION ORIENTADA A OBJETOS Tutor: Autor: María Aguilera Ángel Laverde 25.503.860 Sección “GG” D/T Cesar Anteliz 19.781.585 Marzo de 2016
  • 2. INTRODUCCION Java es un lenguaje de programación 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 (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportado.
  • 3. Historia de Java: Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 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 había 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 gráficas y finalmente se renombró a Java. Es frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus diseñadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo, JustAnother Vague Acronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la de que Java debe su nombre a un tipo de café disponible en la cafetería cercana, de ahí que el icono de java sea una taza de café caliente. Un pequeño signo que da fuerza a esta teoría es que los 4 primeros bytes (el número mágico) de los archivos.class que genera el compilador, son en hexadecimal, 0xCAFEBABE. A pesar de todas estas teorías, el nombre fue sacado al parecer de una lista aleatoria de palabras.3 Los objetivos de Gosling eran implementar una máquina virtual y un lenguaje con una estructura y sintaxis similar a C++. Entre junio y julio de 1994, tras una sesión maratoniana de tres días entre John Gaga, James Gosling, Patrick Naughton, Wayne Rosing y Eric Schmidt, el equipo reorientó la plataforma hacia la Web. Sintieron que la llegada del navegador web Mosaic, propiciaría que Internet se convirtiese en un medio interactivo, como el que pensaban era la televisión por cable. Naughton creó entonces un prototipo de navegador, WebRunner, que más tarde sería conocido como HotJava. En 1994, se les hizo una demostración de HotJava y la plataforma Java a los ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que vieran la luz pública Java y HotJava, el navegador Web. El acontecimiento fue anunciado por John Gage, el Director Científico de Sun Microsystems. El acto estuvo acompañado por una pequeña sorpresa adicional, el anuncio por
  • 4. parte de Marc Andreessen, Vicepresidente Ejecutivo de Netscape, de que Java sería soportado en sus navegadores. El 9 de enero del año siguiente, 1996, Sun fundó el grupo empresarial JavaSoft para que se encargase del desarrollo tecnológico. [1] Dos semanas más tarde la primera versión de Java fue publicada. La promesa inicial de Gosling era Write Once, Run Anywhere (Escríbelo una vez, ejecútalo en cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de ejecución (la JVM) ligero y gratuito para las plataformas más populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma. El entorno de ejecución era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas web. Java ha experimentado numerosos cambios desde la versión primigenia, JDK 1.0, así como un enorme incremento en el número de clases y paquetes que componen la biblioteca estándar.4 En el 2005 se calcula en 4,5 millones el número de desarrolladores y 2.500 millones de dispositivos habilitados con tecnología Java. ¿Qué es JDK? Java Development Kit o (JDK), es un software que provee herramientas de desarrollo para la creación de programas en Java. Puede instalarse en una computadora local o en una unidad de red. En la unidad de red se pueden tener las herramientas distribuidas en varias computadoras y trabajar como una sola aplicación. Los programas más importantes que se incluyen son: Javac: es el compilador de JAVA. Java: es el intérprete de JAVA. Javadoc: genera la documentación de las clases java de un programa. Javah: que es un fichero de cabecera para escribir métodos nativos. Entre otro.
  • 5. ¿Qué es JRE? Java RuntimeEnvironment o JRE es un conjunto de utilidades que permite la ejecución de programas Java. En su forma más simple, el entorno en tiempo de ejecución de Java está conformado por una Máquina Virtual de Java o JVM, un conjunto de bibliotecas Java y otros componentes necesarios para que una aplicación escrita en lenguaje Java pueda ser ejecutada. El JRE actúa como un "intermediario" entre el sistema operativo y Java. La JVM es el programa que ejecuta el código Java previamente compilado (bytecode) mientras que las librerías de clases estándar son las que implementan el API de Java. Ambas JVM y API deben ser consistentes entre sí, de ahí que sean distribuidas de modo conjunto. Un usuario sólo necesita el JRE para ejecutar las aplicaciones desarrolladas en lenguaje Java, mientras que para desarrollar nuevas aplicaciones en dicho lenguaje es necesario un entorno de desarrollo, denominado JDK, que además del JRE (mínimo imprescindible) incluye, entre otros, un compilador para Java. El compilador de java: Un compilador java, es un programa que transforma código fuente escrito en java a un código neutral a la plataforma conocida como java bytecode (Aunque existen compiladores que transforman el código fuente java a algún código nativo). El compilador más conocido es el "javac" que es parte del JDK de Oracle. La máquina virtual de java: Una máquina virtual Java (en inglés Java Virtual Machine, JVM) es una máquina virtual de proceso nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el bytecode Java), el cual es generado por el compilador del lenguaje Java. El código binario de Java no es un lenguaje de alto nivel, sino un verdadero código máquina de bajo nivel, viable incluso como lenguaje de entrada para un microprocesador físico. Como todas las piezas del rompecabezas Java, fue desarrollado originalmente por Sun.
  • 6. Anatomía de un programa en Java: Toda aplicación de consola en Java contiene una clase principal con un método (o función) main, al igual que en C++, la función main es lo primero que se ejecuta cuando se inicia la aplicación desde la línea de comandos. De esta forma podemos deducir que cualquier llamado, declaración o método que no sea llamado de manera directa o indirecta desde el método main nunca se ejecutará. En Java el método main recibe como argumento un arreglo de String. Este arreglo contiene los argumentos enviados por la línea de comandos para la invocación del programa. La estructura básica de un programa desarrollado usando Java es la siguiente: Línea 1: La primer línea de nuestro código ha declarado una clase llamada "nombre_clase", la cual es pública (public), esto quiere decir que tendrás acceso a dicha clase, desde cualquier parte del código sin ningún tipo de complicaciones, ahora, lógicamente tú le podrás poner el nombre que te guste más, como veras por la margen que tiene el código, dentro de la clase "nombre_clase" hay otras líneas, las líneas 2, 3, 4 y 5, esto simplemente le da un poco más de orden a nuestro programa, nuestra línea 1, también tiene una llave abriendo "{", esto quiere decir que todo lo que halla después de esta llave forma parte de la clase "nombre_clase" e indica el comienzo de las líneas de sentencia de esta, en este caso, esta la declaración de la función main(). Línea 2: La línea numero dos contiene la declaración de la función (o método) main, el cual es publica y además hay algo especial, es del tipo void (una función puede tomar varios valores, entero, decimal, cadena de texto, entre otros) el poner void, estamos queriendo decir que la función main no retornará nada al finalizar, si se le pusiera por ejemplo int (entero) entonces al final de la función, esta debería retornar algún numero o variable de tipo entero. Nuestra línea dos, también tiene un argumento para la función main, es lo que está dentro de los paréntesis "Stringargs[]", esto quiere decir que la función main, debe recibir un argumento el cual es de tipo
  • 7. String y es además un vector, luego hablare de los tipos de datos, no te preocupes mucho por esto. Finalmente esta la llave abriendo "{".esto quiere decir que lo que halla después de esta llave forma parte de las sentencias (lo que nuestro programa realizará durante su ejecución). Línea 3: La línea tres contiene el bloque de sentencias, es decir, las líneas de código que nuestro programa seguirá durante su ejecución, es de notar que cada sentencia termina con punto y coma ";" para dar un poco de claridad, se entiende como línea de sentencia, a las líneas de código que en ellas contienen la declaración de alguna variable, o alguna operación,( suma, resta, división, etc.) o cualquier acción, como modificar, asignar, o eliminar algo. Línea 4: La línea número cuatro contiene una llave cerrando "}" eso nos indica que en esta línea termina la ejecución de alguna función (para identificar esta función que se cierra, sigue la identificación u seguramente sabrás cual es la que estamos cerrando) pues bien, habrás notado que la función que esta llave está cerrando es la función main(), esto quiere decir que todo lo que halla después de esta llave formará parte de la clase "nombre_clase" pero no será ejecutado ni formará parte de la función main. Línea 5: La línea cinco, nos indica al igual que la cuatro el final de una función o en este caso de una clase, esta línea 5 entonces nos indica el final de la clase “nombre_clase”. Tipos de programas que pueden hacerse en Java: Actualmente cada vez más la tecnología invade más campos de nuestra vida, estando las personas cada vez más familiarizados con términos informáticos, entre ellos, como, los lenguajes de programación. Cualquier persona que ha usado alguna vez un ordenador o sistema le resulta familiar alguno de estos términos relacionados a los tipos de lenguajes de programación: C, Pascal, Cobol, Visual Basic, Java, Fortran, etc. En la actualidad existen varios tipos de lenguajes de programación. Todos estos tipos de lenguaje pueden confundir o hacer dudar a cualquier persona que comienza aprender un lenguaje, quien tras hallar varias posibilidades o posibles alternativas no sabe cuál de ellos escoger. El motivo de esta gran variedad de lenguajes es que cada uno ha sido creado para una determinada función, está especialmente diseñado para facilitar la programación de un determinado tipo de problemas, para garantizar seguridad de las aplicaciones, para obtener una mayor facilidad de programación, para conseguir un mayor
  • 8. aprovechamiento de los recursos del ordenador y han sido creados o modificados por diferentes personas o empresas. En Java se pueden crear básicamente dos tipos de programas: applets y aplicaciones. Los applets son programas Java que se transmiten por Internet y que se ejecutan incrustados en una página Web. Para ejecutar un applet se requiere tener instalada una versión de la JVM. Aquí se muestra un applet en ejecución. Note que un applet no tiene ventana. Las aplicaciones son programas independientes de un navegador Web; pero que, para ser ejecutados, también necesitan de una versión de la JVM. En la Figura 1.3 se muestra una aplicación en ejecución. Note que la aplicación tiene su propia ventana.
  • 9. Entornos de desarrollo integrado (IDE), para Java: Un ambiente de desarrollo integrado o entorno de desarrollo interactivo, en inglés IntegratedDevelopmentEnvironment (IDE), es una aplicación informática que proporciona servicios integrales para facilitarle al desarrollador o programador el desarrollo de software. Normalmente, un IDE consiste de un editor de código fuente, herramientas de construcción automáticas y un depurador. La mayoría de los IDE tienen auto-completado inteligente de código (IntelliSense). Algunos IDE contienen un compilador, un intérprete, o ambos, tales como NetBeans y Eclipse; otros no, tales como SharpDevelop y Lazarus. El límite entre un IDE y otras partes del entorno de desarrollo de software más amplio no está bien definido. Muchas veces, a los efectos de simplificar la construcción de la interfaz gráfica de usuario (GUI, por sus siglas en inglés) se integran un sistema controlador de versión y varias herramientas. Muchos IDE modernos también cuentan con un navegador de clases, un buscador de objetos y un diagrama de jerarquía de clases, para su uso con el desarrollo de software orientado a objetos. El kit de desarrollo (JDK) no incluye ningún editor con el que crear nuestros programas. Podríamos instalar un "editor genérico", porque tenemos muchos gratuitos y de calidad, como Notepad++. Aun así, si nuestro equipo es razonablemente moderno, puede ser preferible instalar un entorno integrado. Elementos de un programa Java: -)Comentarios:En la programación de computadoras, un comentario es una construcción del lenguaje de programación destinada a incrustar anotaciones legibles al programador en el código fuente de un Programa informático. Estas anotaciones son potencialmente significativas para los programadores, pero usualmente ignorados por los compiladores e intérpretes.Los comentarios son añadidos usualmente con el propósito de hacer el código fuente más fácil de entender con vistas a su mantenimiento o reutilización. La sintaxis y reglas para los comentarios varían y usualmente son definidas en la especificación del lenguaje de programación. En Java se pueden utilizar tres tipos de comentarios:
  • 10. Comentario tradicional estilo C/C++: Empieza con los caracteres /* y acaba con */. Pueden ocupar más de una línea y pueden aparecer en cualquier lugar donde pueda aparear un espacio en blanco. No pueden anidarse. Ejemplos de comentarios estilo C/C++: /* Programa Ecuación segundo gradoCalcula las soluciones de una ecuación de segundo grado */ Comentarios de una sola línea: Comienzan con una doble barra ( // ) y se pueden extender hasta el final de la línea. No tienen carácter de terminación. Ejemplos de comentarios de una sola línea: // Programa Ecuación segundo grado // Calcula las soluciones de una ecuación de segundo gradoint p; // precio del producto Comentarios de documentación Javadoc: Son comentarios especiales para generar documentación del programa. Comienza con /** y termina con */ Ejemplo de comentario de documentación Javadoc: /** * * @author Enrique * @version 1.0 *
  • 11. */ - ) Variable:Las variables son una de las características fundamentales de los lenguajes de programación, permiten acceder a la memoria para almacenar y recuperar los datos con los que nuestros programas van a trabajar. Son por tanto el mecanismo que los lenguajes de programación ponen a nuestra disposición para acceder a la memoria. Se trata de un mecanismo de lo más sencillo, sólo tenemos que dar un nombre a nuestras variables, a partir de ese momento el compilador traducirá de forma automática ese nombre en un acceso a memoria. Por ejemplo: //Almacenamos un dato en memoria referenciado por el nombre edad edad = 5; //Recuperamos el dato almacenado y lo modificamos edad = edad + 1; Java es un lenguaje tipado y nos obliga a declarar nuestras variables antes de poder hacer uso de ellas, con esta declaración le indicamos al compilador el espacio en memoria que debe de reservar para almacenar la información. - ) Operadores: Los operadores son muy similares a los de C++, ya lo advertimos en su momento. 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.
  • 12.  '+=' : 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.  NombreObjetoinstanceofNombreClase 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 relacció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.
  • 13.  '&' : 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 mas 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 Sentencias de Datos de Entrada y Salida en Java: La entrada y salida en java se implementa en el paquete java.io y toto el código presentado en este capítulo se importa, aunque no se incluya la correspondiente sentencia import. La E/S en java se basa en el concepto de flujo, que es una secuencia ordenada de datos que tienen una fuente (flujos de entrada) o un destino (flujos de salida). Las clases de E/S aislan a los programadores de los detalles específicos del sistema de funcionamiento de la máquina, al tiempo que posibilitan el acceso a recursos del sistema por medio de ficheros o archivos (files). En este capítulo vamos a ocuparnos de las clases de E/S más sencillas, dejando las otras más sofisticadas para cuando tengamos necesidad de utilizarlas. - ) Entrada: La clase abstracta InputStream declara los métodos para leer datos desde una fuente concreta y es la clasa base de la mayor parte de los flujos de entrada en java.io. Soporta los métodos siguientes: Intread() lee un sólo byte de datos y los devuelve en el rango [0..255]. Devuelve -1 cuando se alcanza el final del flujo y no puede seguir leyendo bytes.
  • 14. Intread(byte [] buf) lee un array de bytes hasta buf.length. Devuelve el número de bytes leidos o - 1 cuando se llega al final del flujo. Intread(byte [] buf, int off, intlen) lee len bytes del flujo (o los que pueda) y los coloca a partir de la posición off del array. longskip(longcount) salta hasta count bytes de entrada o hasta el final del flujo de entrada, devolviendo el número de bytes saltados. Intavailable() devuelve el número de bytes que están disponibles para leerse. Voidclose() cierra el flujo de entrada que abrió el constructor no-arg, liberando los recursos asociados a ese flujo. No es necesario invocar este método ya que el flujo se cierra cuando se destruye el objeto aunque es conveniente hacerlo ya que vuelca el buffer sobre el disco. El siguiente ejemplo es un programa muy sencillo que hace el eco de la entrada estándar (el teclado) leyendo los caracteres de 5 en 5 (el return también es un carácter). - ) Salida: La clase abstracta OutputStream es análoga a InputStream sólo que proporciona métodos para manejar el flujo de salida. Los métodos que incluye son: Voidwrite(int b) escribe b como byte, que, aunque sea declarado como int es transformado a byte. Esto es porque habitualmente es el resultado de una operación previa. Voidwrite(byte [] buf) escribe un array de bytes.
  • 15. Voidwrite(byte [] buf, int offset, intcount) escribe un arraybuf de bytes, empezando en la posición offset y escribiendo count de ellos, deteniendose antes si encuentra el final del array. Voidflush() vacia el flujo de modo que los bytes que quedaran por escribir son escritos. Voidclose() cierra el flujo de salida liberando los recursos asociados a ese flujo. A menos que se diga lo contrario estos métodos lanzan una excepción IOException si detectan algún error en el flujo de salida. Estructuras de control: En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede: De acuerdo a una condición, ejecutar un grupo u otro de sentencias (If-Then-Else) De acuerdo al valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case) Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While) Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until) Ejecutar un grupo de sentencias un número determinado de veces (For-Next) Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se puede clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite que la programación se rija por los principios de la programación estructurada. Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis, cada lenguaje tiene una sintaxis propia para expresar la estructura. Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados. Las estructuras de control determinan la secuencia de ejecución de las sentencias de un programa.
  • 16. Las estructuras de control se dividen en tres categorías: Secuencial Condicional o Selectiva Iterativa o Repetitiva. El orden en que se ejecutan por defecto las sentencias de un programa es secuencial. Esto significa que las sentencias se ejecutan en secuencia, una después de otra, en el orden en que aparecen escritas dentro del programa. La estructura secuencial está formada por una sucesión de instrucciones que se ejecutan en orden una a continuación de la otra. Cada una de las instrucciones están separadas por el carácter punto y coma (;). Las instrucciones se suelen agrupar en bloques. El bloque de sentencias se define por el carácter llave de apertura ({) para marcar el inicio del mismo, y el carácter llave de cierre (}) para marcar el final. Ejemplo: { instrucción 1; instrucción 2; instrucción 3; } En Java si el bloque de sentencias está constituido por una única sentencia no es obligatorio el uso de las llaves de apertura y cierre ({ }), aunque sí recomendable.
  • 17. Ejemplo de programa Java con estructura secuencial: Programa que lee dos números por teclado y los muestra por pantalla. /* Programa que lea dos números por teclado y los muestre por pantalla. */ importjava.util.*; public class Main { public static void main(String[] args){ //declaración de variables int n1, n2; Scanner sc = new Scanner(System.in); //leer el primer número System.out.println("Introduce un número entero: "); n1 = sc.nextInt(); //lee un entero por teclado //leer el segundo número System.out.println("Introduce otro número entero: "); n2 = sc.nextInt(); //lee un entero por teclado //mostrar resultado System.out.println("Ha introducido los números: " + n1 + " y " + n2); } }
  • 18. CONCLUCION El lenguaje Java es una opción conveniente a la hora de trabajar con programación gracias a su flexibilidad y otros factores, soporta de forma nativa la programación concurrente gracias a la clase Thread. Dispone de métodos de sincronización y señalización entre hebras gracias a los cerrojos y a los métodos wait(...), notify() y notifyAll() definidos en la clase Object. La máquina virtual es la que se encarga de todo esto, soportando la ejecución concurrente de varios hilos diferentes. Sin embargo, la implementación de los métodos importantes para la concurrencia no tienen una traducción directa a instrucciones de la máquina virtual, sino que se implementan mediante métodos nativos que se relacionan directamente con la máquina virtual para conseguir su objetivo, Dando un tipo de lenguaje orientado a objetos de los mas populares y utilizados en la actualidad.