Programacion - Tema1 - Subrayado
Programacion - Tema1 - Subrayado
AVISO: Esta página ha sido generada para facilitar la impresión de los contenidos. Los enlaces externos a otras
páginas no serán funcionales.
Introducción a la programación.
Caso práctico
La evolución de Internet y de las nuevas tecnologías,
así como las diferentes posibilidades para establecer
nuevas líneas de negocio para la empresa BK
Programación, han hecho que Ada haya decidido
abrir una vía de innovación. Para ello, su empresa
deberá realizar el desarrollo de sus aplicaciones a
través de lenguajes y técnicas de programación
modernos, aunque con una eficiencia y flexibilidad
contrastadas.
1.- Introducción.
¿Cuántas acciones de las que has realizado hoy, crees que están relacionadas con la
programación? Hagamos un repaso de los primeros instantes del día: te ha despertado la
alarma de tu teléfono móvil o radio-despertador, has preparado el desayuno utilizando el
microondas, mientras desayunabas has visto u oído las últimas noticias a través de tu receptor
de televisión digital terrestre, te has vestido y puede que hayas utilizado el ascensor para bajar
al portal y salir a la calle, etc. Quizá no es necesario que continuemos más para darnos cuenta
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 1/40
24/10/2018 eXe
de que casi todo lo que nos rodea, en alguna medida, está relacionado
con la programación, los programas y el tratamiento de algún tipo de
información.
Caso práctico
Ada conoce bien lo que significa tener que llevar a
cabo el proceso completo de creación de software y
sabe que, en ocasiones, no se le da la importancia
que debería a las fases iniciales de este proceso.
Quiere que Juan, que desarrolla programas casi sin
darse cuenta, recuerde las ventajas que aporta un
buen análisis inicial de los problemas a solucionar y
que no aborde el desarrollo de sus programas
sentándose directamente ante el ordenador a teclear código.
Juan le comenta a Ada y a María: —La verdad es que cuando conoces bien un
lenguaje de programación crees que puedes hacer cualquier programa directamente
sobre el ordenador, pero al final te das cuenta de que deberías haberte parado a
planificar tu trabajo. Muchas veces tienes que volver atrás, recodificar y en
ocasiones, rehacer gran parte del programa porque lo que tienes no está bien
planteado.
María, que permanece atenta a lo que dicen Ada y Juan, quiere aprender bien
desde el principio y tendrá la ventaja de tener a su lado a dos expertos.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 2/40
24/10/2018 eXe
Resolución de problemas
En la vida
En Programación...
real...
Pensamos en
una o varias Diseño o desarrollo de algoritmos: procedimiento
posibles paso a paso para solucionar el problema dado.
soluciones.
Aplicamos la
Resolución del algoritmo elegido en la
solución que
computadora: consiste en convertir el algoritmo en
estimamos
programa, ejecutarlo y comprobar que soluciona
más
verdaderamente el problema.
adecuada.
La diferencia fundamental entre algoritmo y programa es que, en el segundo, los pasos que
permiten resolver el problema, deben escribirse en un determinado lenguaje de programación
para que puedan ser ejecutados en el ordenador y así obtener la solución.
Los lenguajes de programación son sólo un medio para expresar el algoritmo y el ordenador un
procesador para ejecutarlo. El diseño de los algoritmos será una tarea que necesitará de la
creatividad y conocimientos de las técnicas de programación. Estilos distintos, de distintos
programadores a la hora de obtener la solución del problema, darán lugar a algoritmos
diferentes, igualmente válidos.
En esencia, todo problema se puede describir por medio de un algoritmo y las características
fundamentales que éstos deben cumplir son:
Pero cuando los problemas son complejos, es necesario descomponer éstos en subproblemas
más simples y, a su vez, en otros más pequeños. Estas estrategias reciben el nombre de diseño
descendente o diseño modular (top-down design). Este sistema se basa en el lema divide y
vencerás.
Para representar gráficamente los algoritmos que vamos a diseñar, tenemos a nuestra
disposición diferentes herramientas que ayudarán a describir su comportamiento de una forma
precisa y genérica, para luego poder codificarlos con el lenguaje que nos interese. Entre otras
tenemos:
Diagramas de flujo: Esta técnica utiliza símbolos gráficos para la representación del
algoritmo. Suele utilizarse en las fases de análisis.
Pseudocódigo: Esta técnica se basa en el uso de palabras clave en lenguaje natural,
constantes, variables, otros objetos, instrucciones y estructuras de programación que
expresan de forma escrita la solución del problema. Es la técnica más utilizada
actualmente.
Tablas de decisión: En una tabla son representadas las posibles condiciones del problema
con sus respectivas acciones. Suele ser una técnica de apoyo al pseudocódigo cuando
existen situaciones condicionales complejas.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 4/40
24/10/2018 eXe
Debes conocer
A continuación te ofrecemos dos enlaces muy interesantes:
Autoevaluación
Rellena los huecos con los conceptos adecuados:
A los pasos que permiten resolver el problema, escritos en un lenguaje de
programación, para que puedan ser ejecutados en el ordenador y así obtener la
solución, se les denomina: .
Caso práctico
Ada comenta con Juan y María los distintos enfoques para
el desarrollo de programas que han existido a lo largo de la
historia de la programación, destacando que todos van a
tener que “renovar” su forma de pensar, si quieren
comenzar a utilizar un lenguaje moderno que les permita
construir programas adaptados a las nuevas necesidades
de sus clientes.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 5/40
24/10/2018 eXe
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 6/40
24/10/2018 eXe
Autoevaluación
¿En qué paradigma de programación podríamos enmarcar el lenguaje de
programación Java?
Programación Estructurada.
Programación Declarativa.
Programación Orientada a Objetos.
Caso práctico
Juan pregunta a Ada cómo van a realizar todo el
proceso de producción, y duda si el utilizar un nuevo
lenguaje supondrá cambiar drásticamente los
métodos aprendidos en el pasado.
Sea cual sea el estilo que escojamos a la hora de automatizar una determinada tarea, debemos
realizar el proceso aplicando un método a nuestro trabajo. Es decir, sabemos que vamos a dar
solución a un problema, aplicando una filosofía de desarrollo y lo haremos dando una serie de
pasos que deben estar bien definidos.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 7/40
24/10/2018 eXe
a. Análisis
El análisis inicial ofrecerá una idea general de lo que se solicita, realizando posteriormente
sucesivos refinamientos que servirán para dar respuesta a las siguientes cuestiones:
La respuesta a la primera pregunta se identifica con los resultados deseados o las salidas
del problema. La respuesta a la segunda pregunta indicará qué datos se proporcionan o
las entradas del problema.
Ejercicio resuelto g p
Está claro que las entradas de datos en este problema se reducen al radio del
círculo, pero piensa ¿qué salidas de datos ofrecerá la solución?
b. Diseño
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 8/40
24/10/2018 eXe
Hay que tener en cuenta que antes de pasar a la implementación del algoritmo, hemos de
asegurarnos que tenemos una solución adecuada. Para ello, todo diseño requerirá de la
realización de la prueba o traza del programa. Este proceso consistirá en un seguimiento
paso a paso de las instrucciones del algoritmo utilizando datos concretos. Si la solución
aportada tiene errores, tendremos que volver a la fase de análisis para realizar las
modificaciones necesarias o tomar un nuevo camino para la solución. Sólo cuando el
algoritmo cumpla los requisitos y objetivos especificados en la fase de análisis se pasará a
la fase de implementación.
4.2.- Implementación.
Si la fase de resolución del problema requiere un especial
cuidado en la realización del análisis y el posterior diseño de la
solución, la fase de implementación cobra también una especial
relevancia. Llevar a la realidad nuestro algoritmo implicará cubrir
algunas etapas más que se detallan a continuación.
a. Codificación o construcción
Pero para que nuestro programa comience a funcionar, antes debe ser traducido a un
lenguaje que la máquina entienda. Este proceso de traducción puede hacerse de dos
formas, compilando o interpretando el código del programa.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 9/40
24/10/2018 eXe
Autoevaluación
Rellena los huecos con los conceptos adecuados:
En la fase de codificación, hemos de tener en cuenta la del lenguaje para obtener el
código fuente o programa. Posteriormente, éste deberá ser o para que pueda ser
ejecutado posteriormente.
4.3.- Explotación.
Cuando el programa ya está instalado en el sistema y está siendo
de utilidad para los usuarios, decimos que se encuentra en fase de
explotación.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 10/40
24/10/2018 eXe
Caso práctico
María le pregunta a Juan: —¿Juan, qué ocurre cuando
terminas un programa? ¿Se entrega al cliente y ya
está? La verdad es que los programas que he hecho
han sido para uso propio y no sé cómo termina el
proceso con los clientes.
Sean cuales sean las fases en las que realicemos el proceso de desarrollo de software, y casi
independientemente de él, siempre se debe aplicar un modelo de ciclo de vida.
Ciclo de vida del software: es una sucesión de estados o fases por las cuales pasa
un software a lo largo de su "vida".
Existen varios tipos de ciclos de vida del software, a continuación te mostramos un resumen de
los más importantes.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 11/40
24/10/2018 eXe
Autoevaluación
Entre los distintos tipos de ciclo de vida del software, los modelos incremental y en
cascada son modelos del tipo evolutivo.
Verdadero. Falso.
Caso práctico
Ada y Juan están recordando lo complejos que eran
algunos lenguajes de programación, Ada comenta: —
Cuando yo empecé en esto, había relativamente
pocos lenguajes de programación y no permitían
hacer programas como los que ahora desarrollamos.
María que asiente con la cabeza, piensa que aprender más sobre los lenguajes
disponibles en la actualidad puede ayudar a la hora de elegir entre unos u otros.
Algunas operaciones en
lenguaje máquina.
SUMAR 00101101
RESTAR 00010011
MOVER 00111010
Dada la complejidad y dificultades que ofrecía este lenguaje, fue sustituido por otros más
sencillos y fáciles utilizar. No obstante, hay que tener en cuenta que todos los programas para
poder ser ejecutados, han de traducirse siempre al lenguaje máquina que es el único que
entiende la computadora.
el sistema binario
Autoevaluación
Rellena los huecos con los conceptos adecuados:
En el lenguaje máquina de algunos procesadores, la combinación 00101101
equivale a la operación de .
La evolución del lenguaje máquina fue el lenguaje ensamblador. Las instrucciones ya no son
secuencias binarias, se sustituyen por códigos de operación que describen una operación
elemental del procesador. Es un lenguaje de bajo nivel, al igual que el lenguaje máquina, ya que
dependen directamente del hardware donde son ejecutados.
Algunas operaciones y su
mnemotécnico en lenguaje
Ensamblador.
MULTIPLICAR MUL
DIVIDIR DIV
MOVER MOV
Pero aunque ensamblador fue un intento por aproximar el lenguaje de los procesadores al
lenguaje humano, presentaba múltiples dificultades:
Los programas seguían dependiendo directamente del hardware que los soportaba.
Los programadores tenían que conocer detalladamente la máquina sobre la que
programaban, ya que debían hacer un uso adecuado de los recursos de dichos sistemas.
La lectura, interpretación o modificación de los programas seguía presentando
dificultades.
Pero un programa que está escrito en un lenguaje de alto nivel también tiene que traducirse a
un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta
operación se llaman compiladores.
El compilador realizará la traducción y además informará de los posibles errores. Una vez
subsanados, se generará el programa traducido a código máquina, conocido como código
objeto. Este programa aún no podrá ser ejecutado hasta que no se le añadan los módulos de
enlace o bibliotecas, durante el proceso de enlazado. Una vez finalizado el enlazado, se obtiene
el código ejecutable.
Autoevaluación
Durante la fase de enlazado, se incluyen en el código fuente determinados módulos
(bibliotecas) que son necesarios para que el programa pueda realizar ciertas tareas,
posteriormente se obtendrá el código ejecutable.
Verdadero. Falso.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 16/40
24/10/2018 eXe
A medio camino entre los lenguajes compilados y los interpretados, existen los lenguajes que
podemos denominar pseudo-compilados o pseudo-interpretados, es el caso del Lenguaje Java.
Java puede verse como compilado e interpretado a la vez, ya que su código fuente se compila
para obtener el código binario en forma de bytecodes, que son estructuras parecidas a las
instrucciones máquina, con la importante propiedad de no ser dependientes de ningún tipo de
máquina (se detallarán más adelante). La Máquina Virtual Java se encargará de interpretar este
código y, para su ejecución, lo traducirá a código máquina del procesador en particular sobre el
que se esté trabajando.
Debes conocer
Puedes entender por qué Java es un lenguaje compilado e interpretado a través del
siguiente esquema.
Autoevaluación
En Java el código fuente es compilado, obteniéndose el código binario en forma de
bytecodes. Pero, ¿Cuál es la extensión del archivo resultante?
Extensión .obj.
Extensión .class.
Extensión .Java.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 17/40
24/10/2018 eXe
Caso práctico
Ada indica a Juan y María que el lenguaje elegido
para sus desarrollos va a ser Java. La flexibilidad,
facilidad de aprendizaje, similitud con algunos
lenguajes que ya conocen y su capacidad para
adaptarse a cualquier plataforma, hacen que sea ideal
para producir las nuevas aplicaciones de BK
Programación.
Antes de que apareciera Java, el lenguaje C era uno de los más extendidos por su versatilidad.
Pero cuando los programas escritos en C aumentaban de volumen, su manejo comenzaba a
complicarse. Mediante las técnicas de programación estructurada y programación modular se
conseguían reducir estas complicaciones, pero no era suficiente.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 18/40
24/10/2018 eXe
Debes conocer
Obtén una descripción detallada de las características reseñadas anteriormente a
través del siguiente artículo:
Pero no fue hasta 1995 cuando pasó a llamarse Java, dándose a conocer al público como
lenguaje de programación para computadores. Java pasa a ser un lenguaje totalmente
independiente de la plataforma y a la vez potente y orientado a objetos. Esa filosofía y su
facilidad para crear aplicaciones para redes TCP/IP ha hecho que sea uno de los lenguajes más
utilizados en la actualidad.
El principal objetivo del lenguaje Java es llegar a ser el nexo universal que conecte a los
usuarios con la información, esté ésta situada en el ordenador local, en un servidor Web, en una
base de datos o en cualquier otro lugar.
Java 2 es la tercera versión del lenguaje, pero es algo más que un lenguaje de programación,
incluye los siguientes elementos:
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 19/40
24/10/2018 eXe
Historia de Java
Por simplificar un poco las cosas, un programa en Java será como una representación teatral en
la que debemos preparar primero cada personaje, definir sus características y qué va a saber
hacer. Cuando esta fase esté terminada, la obra se desarrollará sacando personajes a escena y
haciéndoles interactuar.
Al emplear los conceptos de la Programación Orientada a Objetos (POO), Java incorpora las
tres características propias de este paradigma: encapsulación, herencia y polimorfismo. Los
patrones o tipos de objetos se denominan clases y los objetos que utilizan estos patrones o
pertenecen a dichos tipos, se identifican con el nombre de instancias. Pero, no hay que
alarmarse, estos conceptos se verán más adelante en sucesivas unidades.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 20/40
24/10/2018 eXe
Pues bien, aproximadamente así es como funciona la programación dirigida a objetos: unimos
elementos pequeños para construir otros más grandes. Nuestros programas estarán formados
por muchos componentes (objetos) independientes y diferentes; cada uno con una función
determinada en nuestro software y que podrá comunicarse con los demás de una manera
predefinida.
a. Independencia: Los programas escritos en Java pueden ser ejecutados en cualquier tipo
de hardware. El código fuente es compilado, generándose el código conocido como Java
Bytecode (instrucciones máquina simplificadas que son específicas de la plataforma Java),
el bytecode será interpretado y ejecutado en la Máquina Virtual Java (MVJ o JVM – Java
Virtual Machine) que es un programa escrito en código nativo de la plataforma destino
entendible por el hardware. Con esto se evita tener que realizar un programa diferente
para cada CPU o plataforma.
Por tanto, la parte que realmente es dependiente del sistema es la Máquina Virtual Java,
así como las librerías o bibliotecas básicas que permiten acceder directamente al
hardware de la máquina.
b. Trabajo en red: Esta capacidad del lenguaje ofrece múltiples posibilidades para la
comunicación vía TCP/IP. Para poder hacerlo existen librerías que permiten el acceso y la
interacción con protocolos como http, ftp, etc., facilitando al programador las tareas del
tratamiento de la información a través de redes.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 21/40
24/10/2018 eXe
Autoevaluación
¿Qué elemento es imprescindible para que una aplicación escrita en Java pueda
ejecutarse en un ordenador?
Que disponga de conexión a Internet y del hardware adecuado.
Que tenga instalado un navegador web y conexión a Internet.
Que tenga la Máquina Virtual Java adecuada instalada.
b. Simplicidad: Aunque Java es tan potente como C o C++, es bastante más sencillo. Posee
una curva de aprendizaje muy rápida y, para alguien que comienza a programar en este
lenguaje, le resulta relativamente fácil comenzar a escribir aplicaciones interesantes.
Si has programado alguna vez en C o C++ encontrarás que Java te pone las cosas más
fáciles, ya que se han eliminado: la aritmética de punteros, los registros, la definición de
tipos, la gestión de memoria, etc. Con esta simplificación se reduce bastante la posibilidad
de cometer errores comunes en los programas. Un programador experimentado en C o
C++ puede cambiar a este lenguaje rápidamente y obtener resultados en muy poco
espacio de tiempo.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 22/40
24/10/2018 eXe
Muy relacionado con la simplicidad que aporta Java está la incorporación de un elemento
muy útil como es el Recolector de Basura (Garbage collector). Permite al programador
liberarse de la gestión de la memoria y hace que ciertos bloques de memoria puedan
reaprovecharse, disminuyendo el número de huecos libres (fragmentación de memoria).
Cuando realicemos programas, crearemos objetos, haremos que éstos interaccionen, etc.
Todas estas operaciones requieren de uso de memoria del sistema, pero la gestión de
ésta será realizada de manera transparente al programador. Todo lo contrario que ocurría
en otros lenguajes. Podremos crear tantos objetos como solicitemos, pero nunca
tendremos que destruirlos. El entorno de Java borrará los objetos cuando determine que
no se van a utilizar más. Este proceso es conocido como recolección de basura.
Autoevaluación
Rellena los huecos con los conceptos adecuados:
En Java se ha simplificado la gestión de memoria a través de la eliminación de la
Aritmética de , por lo que la incorporación del Garbage Collector evita que se
produzca un crecimiento de los huecos libres en memoria, que recibe el nombre de
de memoria.
Una vez escrito el código fuente (archivos con extensión .Java), éste es precompilado
generándose los códigos de bytes, Bytecodes o Java Bytecodes (archivos con extensión .class)
que serán interpretados directamente por la Maquina Virtual Java y traducidos a código nativo
de la plataforma sobre la que se esté ejecutando el programa.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 23/40
24/10/2018 eXe
Para que un bytecode pueda ser ejecutado en cualquier plataforma, es imprescindible que dicha
plataforma cuente con el intérprete adecuado, es decir, la máquina virtual específica para esa
plataforma. En general, la Máquina Virtual Java es un programa de reducido tamaño y gratuito
para todos los sistemas operativos.
Caso práctico
Juan celebra que BK Programación vaya a desarrollar
sus programas en un lenguaje como Java. En algunas
ocasiones ha asistido a congresos y ferias de
exposiciones de software en las que ha podido
intercambiar impresiones con compañeros de
profesión sobre los diferentes lenguajes que utilizan en
sus proyectos. Una gran mayoría destacaba lo fácil y
potente que es programar en Java.
Hasta ahora, hemos descrito el lenguaje de programación Java, hemos hecho un recorrido por
su historia y nos hemos instruido sobre su filosofía de trabajo, pero te preguntarás ¿Cuándo
empezamos a desarrollar programas? ¿Qué elementos forman parte de un programa en Java?
¿Qué se necesita para programar en este lenguaje? ¿Podemos crear programas de diferente
tipo?
No te impacientes, cada vez estamos más cerca de comenzar la experiencia con el lenguaje de
programación Java. Iniciaremos nuestro camino conociendo cuales son los elementos básicos
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 24/40
24/10/2018 eXe
de un programa Java, la forma en que debemos escribir el código y los tipos de aplicaciones
que pueden crearse en este lenguaje.
Vamos a analizar cada uno de los elementos que aparecen en dicho gráfico:
public class Clase_Principal: Todos los programas han de incluir una clase como esta. Es una
clase general en la que se incluyen todos los demás elementos del programa. Entre otras
cosas, contiene el método o función main() que representa al programa principal, desde el que
se llevará a cabo la ejecución del programa. Esta clase puede contener a su vez otras clases
del usuario, pero sólo una puede ser public. El nombre del fichero .Java que contiene el código
fuente de nuestro programa, coincidirá con el nombre de la clase que estamos describiendo en
estas líneas.
Recomendación
Ten en cuenta que Java distingue entre mayúsculas y minúsculas. Si le das a la
clase principal el nombre PrimerPrograma, el archivo .Java tendrá como
identificador PrimerPrograma.Java, que es totalmente diferente a
primerprograma.Java. Además, para Java los elementos PrimerPrograma y
primerprograma serían considerados dos clases diferentes dentro del código fuente.
public static void main (String[] args): Es el método que representa al programa principal,
en él se podrán incluir las instrucciones que estimemos oportunas para la ejecución del
programa. Desde él se podrá hacer uso del resto de clases creadas. Todos los programas
Java tienen un método main.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 25/40
24/10/2018 eXe
Punto y coma: aunque en el ejemplo no hemos incluido ninguna línea de código que
termine con punto y coma, hay que hacer hincapié en que cada línea de código ha de
terminar con punto y coma (;). En caso de no hacerlo, tendremos errores sintácticos.
Autoevaluación
public static void main (String[] args) es la clase general del programa.
Verdadero. Falso.
Así mismo, junto a JDK se incluye una implementación del entorno de ejecución Java, el JRE
(Java Runtime Environment) para ser utilizado por el JDK. El JRE incluye la Máquina Virtual de
Java (MVJ ó JVM – Java Virtual Machine), bibliotecas de clases y otros ficheros que soportan la
ejecución de programas escritos en el lenguaje de programación Java.
Debes conocer
Para poder utilizar JDK y JRE es necesario realizar la descarga e instalación de
éstos. Puedes seguir los pasos del proceso a continuación:
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 26/40
24/10/2018 eXe
Para poder desarrollar nuestros primeros programas en Java sólo necesitaremos un editor de
texto plano y los elementos que acabamos de instalar a través de Java SE.
Autoevaluación
Podemos desarrollar programas escritos en Java mediante un editor de textos y a
través del JRE podremos ejecutarlos.
Verdadero. Falso.
Autoevaluación
Indica qué no es la API de Java:
Un entorno integrado de desarrollo.
Un conjunto de bibliotecas de clases.
Una parte del JDK, incluido en el Java SE.
Debes conocer
En la siguiente animación aprenderás como configurar la variable PATH en
Windows.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 28/40
24/10/2018 eXe
La variable CLASSPATH: esta variable de entorno establece dónde buscar las clases o
biblitecas de la API de Java, así como las clases creadas por el usuario. Es decir, los ficheros
.class que se obtienen una vez compilado el código fuente de un programa escrito en Java. Es
posible que en dicha ruta existan directorios y ficheros comprimidos en los formatos zip o jar
que pueden ser utilizados directamente por el JDK, conteniendo en su interior archivos con
extensión class.
Si no existe la variable CLASSPATH debes crearla, para modificar su contenido sigue el mismo
método que hemos empleado para la modificación del valor de la variable PATH, anteriormente
descrito. Ten en cuenta que la ruta que debes incluir será el lugar donde se instaló el JDK hasta
su directorio lib.
Autoevaluación
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 29/40
24/10/2018 eXe
Javac archivo.Java
Para que el programa pueda ser ejecutado, siempre y cuando esté incluido en su interior el
método main, podremos utilizar el interprete incluido en el kit de desarrollo.
Java archivo.class
Ejercicio resuelto
Vamos a llevar a la práctica todo lo que hemos estado detallando a través de la
creación, compilación y ejecución de un programa sencillo escrito en Java.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 30/40
24/10/2018 eXe
Observa el código que se muestra más abajo, seguro que podrás entender parte
de él. Cópialo en un editor de texto, respetando las mayúsculas y las minúsculas.
Puedes guardar el archivo con extensión .Java en la ubicación que prefieras.
Recuerda que el nombre de la clase principal (en el código de ejemplo MiModulo)
debe ser exactamente igual al del archivo con extensión .Java, si tienes esto en
cuenta la aplicación podrá ser compilada correctamente y ejecutada.
/**
* La clase MiModulo implementa una aplicación que
* simplemente imprime "Módulo profesional - Programación" en pantalla.
*/
class MiModulo {
Aplicaciones de consola:
Son programas independientes al igual que los creados con
los lenguajes tradicionales.
Se componen como mínimo de un archivo .class que debe
contar necesariamente con el método main.
No necesitan un navegador web y se ejecutan cuando
invocamos el comando Java para iniciar la Máquina Virtual de Java (JVM). De no
encontrarse el método main la aplicación no podrá ejecutarse.
Las aplicaciones de consola leen y escriben hacia y desde la entrada y salida
estándar, sin ninguna interfaz gráfica de usuario.
Aplicaciones gráficas:
Aquellas que utilizan las clases con capacidades gráficas, como Swing que es la
biblioteca para la interfaz gráfica de usuario avanzada de la plataforma Java SE.
Incluyen las instrucciones import, que indican al compilador de Java que las clases
del paquete Javax.swing se incluyan en la compilación.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 31/40
24/10/2018 eXe
Applets:
Son programas incrustados en otras aplicaciones, normalmente una página web que
se muestra en un navegador. Cuando el navegador carga una web que contiene un
applet, éste se descarga en el navegador web y comienza a ejecutarse. Esto nos
permite crear programas que cualquier usuario puede ejecutar con tan solo cargar la
página web en su navegador.
Se pueden descargar de Internet y se observan en un navegador. Los applets se
descargan junto con una página HTML desde un servidor web y se ejecutan en la
máquina cliente.
No tienen acceso a partes sensibles (por ejemplo: no pueden escribir archivos), a
menos que uno mismo le dé los permisos necesarios en el sistema.
No tienen un método principal.
Son multiplataforma y pueden ejecutarse en cualquier navegador que soporte Java.
Servlets:
Son componentes de la parte del servidor de Java EE, encargados de generar
respuestas a las peticiones recibidas de los clientes.
Los servlets, al contrario de los applets, son programas que están pensados para
trabajar en el lado del servidor y desarrollar aplicaciones Web que interactúen con
los clientes.
Midlets:
Son aplicaciones creadas en Java para su ejecución en sistemas de propósito
simple o dispositivos móviles. Los juegos Java creados para teléfonos móviles son
midlets.
Son programas creados para dispositivos embebidos (se dedican a una sola
actividad), más específicamente para la máquina virtual Java MicroEdition (Java
ME).
Generalmente son juegos y aplicaciones que se ejecutan en teléfonos móviles.
Autoevaluación
Un Applet es totalmente seguro ya que no puede acceder, en ningún caso, a zonas
sensibles del sistema. Es decir, no podría borrar o modificar nuestros archivos.
Verdadero. Falso.
Caso práctico
Ada, Juan y María están navegando por Internet
buscando información sobre herramientas que les
faciliten trabajar en Java. Ada aconseja utilizar alguno
de los entornos de desarrollo integrado existentes, ya
que las posibilidades y rapidez que ofrecen,
aumentarían la calidad y reducirían el tiempo requerido
para desarrollar sus proyectos.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 32/40
24/10/2018 eXe
Estas circunstancias hacían que el desarrollo de software no estuviera optimizado. Con el paso
del tiempo, se fueron desarrollando aplicaciones que incluían las herramientas necesarias para
realizar todo el proceso de programación de forma más sencilla, fiable y rápida. Para cada
lenguaje de programación existen múltiples entornos de desarrollo, cada uno con sus ventajas e
inconvenientes. Dependiendo de las necesidades de la persona que va a programar, la facilidad
de uso o lo agradable que le resulte trabajar con él, se elegirá entre unos u otros entornos.
Para el lenguaje de programación Java existen múltiples alternativas, siendo los principales
entornos de desarrollo NetBeans (que cuenta con el apoyo de la empresa Sun), Eclipse y
JCreator. Los dos primeros son gratuitos, con soporte de idiomas y multiplataforma (Windows,
Linux, MacOS).
¿Y cuál será con el que vamos a trabajar? El entorno que hemos seleccionado llevar a cabo
nuestros desarrollos de software en este módulo profesional será NetBeans, al haber sido
construido por la misma compañía que creó Java, ser de código abierto y ofrecer capacidades
profesionales. Aunque, no te preocupes, también haremos un recorrido por otros entornos
destacables.
Hay que tener en cuenta que un entorno de desarrollo no es más que una fachada para el
proceso de compilación y ejecución de un programa. ¿Qué quiere decir eso? Pues que si
tenemos instalado un IDE y no tenemos instalado el compilador, no tenemos nada.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 33/40
24/10/2018 eXe
NetBeans
Eclipse
BlueJ
Jgrasp
Jcreator LE
IntelliJ IDEA
Jbuilder
Jcreator
JDeveloper
Debes conocer
Cada uno de los entornos nombrados más arriba posee características que los
hacen diferentes unos de otros, pero para tener una idea general de la versatilidad y
potencia de cada uno de ellos, accede a la siguiente tabla comparativa:
Para acceder a los lugares de Internet donde obtener los diferentes entornos
integrados de desarrollo, puedes utilizar la lista que te ofrecemos en este enlace:
Autoevaluación
¿Cuál de los siguientes entornos sólo está soportado en la plataforma Windows?
Eclipse.
Intellij IDEA.
Jcreator.
El origen de este entorno hay que buscarlo en un proyecto realizado por estudiantes de la
República Checa. Fue el primer IDE creado en lenguaje Java. Un tiempo más tarde, se formó
una compañía que sería comprada en 1999 por Sun Microsystems (quien había creado el
lenguaje Java). Poco después, Sun decidió que el producto sería libre y de código abierto y
nació Netbeans como IDE de código abierto para crear aplicaciones Java.
NetBeans lleva tiempo pugnando con Eclipse por convertirse en la plataforma más importante
para crear aplicaciones en Java. Hoy en día es un producto en el que participan decenas de
empresas con Sun a la cabeza. Sigue siendo software libre y ofrece las siguientes posibilidades:
Escribir código en C, C++, Ruby, Groovy, Javascript, CSS y PHP además de Java.
Permitir crear aplicaciones J2EE gracias a que incorpora servidores de aplicaciones Java
(actualmente Glassfish y Tomcat)
Crear aplicaciones Swing de forma sencilla, al estilo del Visual Studio de Microsoft.
Crear aplicaciones JME para dispositivos móviles.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 35/40
24/10/2018 eXe
Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos
módulos. Debido a que los módulos pueden ser desarrollados independientemente, las
aplicaciones basadas en esta plataforma pueden ser extendidas fácilmente por cualquiera que
desarrolle también software.
Cada módulo provee una función bien definida, tales como el soporte de Java, edición, o
soporte para el sistema de control de versiones. NetBeans contiene todos los módulos
necesarios para el desarrollo de aplicaciones Java en una sola descarga, permitiendo a la
persona que va a realizar el programa comenzar a trabajar inmediatamente.
Descarga únicamente NetBeans si tienes ya instalado el JDK. (Esta versión aún no incluye
lenguaje Español)
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 36/40
24/10/2018 eXe
Debes conocer
Para aprender cómo realizar la instalación completa, JDK y NetBeans, en sus
últimas versiones es importante que sigas las indicaciones que se muestran en el
siguiente artículo:
Para comenzar a describir el aspecto del entorno, es necesario crear un nuevo proyecto
accediendo al menú File - New Project, indicaremos el tipo de aplicación que vamos a crear.
Debes conocer
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 37/40
24/10/2018 eXe
Para continuar con la creación de nuestro proyecto y la descripción del aspecto del
entorno, accede a la siguiente presentación:
Cuando trabajemos con NetBeans, nuestros proyectos harán uso de clases para
poder desarrollar las operaciones de nuestros programas. Estas clases se
agruparán en paquetes y en la siguiente presentación puedes aprender cómo se
gestionan a través del entorno:
Una de las ventajas que ofrece este entorno es poder examinar nuestros proyectos a través de
la vista Archivos. Esta vista nos enseña la realidad de los archivos del proyecto, la carpeta build
contiene los archivos compilados (.class), la carpeta src el código fuente y el resto, son archivos
creados por Netbeans para comprobar la configuración del proyecto o los archivos necesarios
para la correcta interpretación del código en otros sistemas (en cualquier caso no hay que
borrarlos). Para activar esta vista, selecciona en el menú principal Windows - Files.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 38/40
24/10/2018 eXe
Autoevaluación
Rellena los huecos con los conceptos adecuados:
En NetBeans, los archivos .class de un proyecto están alojados en la carpeta y los
.Java en la carpeta .
Autoría: Desconocido.
Licencia: Dominio Público.
Procedencia: http://commons.wikimedia.org/wiki/File:OstrichHead.JPG
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 39/40
24/10/2018 eXe
Autoría: Robpatrik
Licencia: CC BY-NC-SA
Procedencia: http://www.flickr.com/photos/alkalinezoo/3595562784/
Autoría: netbeans.org
Licencia: Copyright (cita), se autoriza el uso sin restricciones.
Procedencia: http://netbeans.org
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=100989 40/40