Sei sulla pagina 1di 10

QU ES EL JAVA?

Java es un lenguaje informtico, es decir un conjunto de instrucciones que se pueden encadenar para que una mquina, generalmente un ordenador convencional, realice una serie de tareas para ofrecer un servicio al usuario de dicha mquina. Se trata de un lenguaje que permite construir programas, es decir, es una herramienta para ensear al ordenador a hacer cosas. El programador construye programas para que luego la mquina sepa cmo ayudarnos a realizar la declaracin de haciendo o jugar con nosotros al ajedrez. El Java pertenece a la categora de lenguaje de propsito general, es decir, que se puede hacer cualquier cosa, pero que en ninguna est especializado. En este sentido est en la misma categora que el lenguaje C++, el VisualBasic o el Pascal por poner algunos ejemplos de lenguajes de propsito general. Una caracterstica que define al Java es que es un lenguaje interpretado, esto significa que el programa escrito en Java no dialoga directamente con la mquina, sino que lo hace a travs de otro programa que llamamos interprete. Esta facilidad le confiere dos caractersticas tpicas del Java: es ms lento que otros lenguajes, especialmente los denominados compilados, como el C++, y permite realizar programas que pueden funcionar en distintas plataformas, sin cambios, o con cambios mnimos. Decir como ventaja del Java que es orientado a objeto, a la mayora de los lectores que se inician en este mundo de la programacin no les aclarar nada. Quizs les convenza si se les dice que la programacin moderna tiende a la programacin orientacin a objetos, y por lo tanto, no parece que haya elegido mal al decidirse a estudiar Java. La programacin orientada al objeto es una evolucin de otras tcnicas de programacin anteriores y que han dado muy buen resultado, como la programacin denominada estructurada, y que la programacin orientada al objeto toma como punto de partida. La programacin orientada a objeto es la tcnica de programacin mejor que hay actualmente y tiene mucho futuro mientras que no se disee otra mejor. Para el principiante en la programacin tiene un plus de dificultad inicial frente a la programacin estructurada, ya que requiere el uso de muchos

conceptos abstractos que slo se entienden con el tiempo y prctica de la programacin. A pesar de estas dificultades el Java es un lenguaje adecuado para el aprendizaje de la programacin, tambin por otros motivos, as se dice que el Java es un lenguaje robusto, que significa que lo que se programa acaba funcionando. En Java si un programa est libre de errores, es muy probable que funcione a la perfeccin. Historia del lenguaje Java El lenguaje Java fue presentado por primera vez por su creadora, la empresa de informtica Sun Microsystems, en mayo de 1995, como lenguaje de desarrollo de Internet. Si bien ya haba sido presentado anteriormente en 1.991, como lenguaje de programacin de componentes electrnicos. En diciembre de 1.998 Sun Microsystems anuncia el Java 2 como marca comercial de la versin JDK 1.2. En el momento de redactar este libro (mayo 2011) la versin vigente es la JDK 1.6, si bien, se puede descargar el avance de la JDJ 1.7. Actualmente Sun pertenece al grupo Oracle, por lo que Java est en los dominios de Oracle. La lista completa de tecnologas Java se puede encontrar en: http://www.oracle.com/technetwork/java/javase/downloads/index.html El papel del lenguaje Java en la informtica del ao 2011 La idea original de los diseadores del lenguaje Java fue disponer de un lenguaje de desarrollo para realizar aplicaciones que fuesen independientes del sistema operativo, sin tener que compilar de nuevo el cdigo fuente. Para este propsito se cre la denominada Mquina Virtual de Java (JVM) que no es otra cosa que un sofisticado intrprete del cdigo compilado de Java (conocido como bytecode). Este intrprete, del que existen versiones para todos los sistemas operativos ms utilizados, convierte el cdigo compilado de Java, contenido en los ficheros de extensin ".class", en sentencias de mquina que el procesador del ordenador ejecuta.

Actualmente el Java es el medio ms usado en la mayora de las universidades del mundo para la enseanza de la programacin de ordenadores. Adems, al estar ahora Sun integrada en Oracle y por lo tanto el Java hay que esperar que el Java se use mucho ms en el futuro sobre todo en el mbito de las bases de datos. El Java 7 La plataforma de desarrollo Java 2 Platform Standard Edition (J2SE Development Kit) se puede bajar de Internet, totalmente gratis, de esta direccin: http://java.sun.com/javase/downloads/index.jsp. La documentacin del .Java 2 Se muestra una pantalla que ha sido obtenida de las pginas de documentacin, en la que se puede apreciar el ndice de la documentacin de Java (http://download.oracle.com/javase/7/docs/api/index.html). Si se ha instalado la documentacin en el ordenador propio, con el fichero Java SE 7 Documentation, para acceder a la documentacin de Java, por ejemplo desde Windows, se puede pulsar dos veces con el ratn sobre el fichero Index.html, situado en el directorio: Directorio_instalacin\DOCS\API\index-files\index-l.html La instalacin del entorno de desarrollo NetBeans Entre las herramientas estndar que proporciona Java se encuentra el entorno de desarrollo NetBeans que nos facilita la construccin de programas. Para realizar los ejercicios de este manual debe descargar la versin Java EE ya que se necesita el servidor Glass Fish. El fichero netbeans-7.0-ml-javaee-windows.exe nos permite instalar el entorno de desarrollo NetBeans 7. En este manual utilizaremos este entorno de desarrollo para la realizacin de los programas de ejemplo.

En este libro el lector podr aprender a realizar aplicaciones de Java en modo consola que son las que se utilizan en los primeros cursos universitarios de Java. Igualmente podr aprender a realizar algunas aplicaciones con la interfaz grfica del usuario, tales como los applets para los navegadores de Internet. En este libro se pretende que un estudiante sin previos conocimientos de programacin, pueda realizar sus estudios del primer nivel de programacin, con el estudio pormenorizado de cada uno de los captulos, por el orden en el que estn escritos. El Java es un lenguaje que presenta algunas dificultades para la explicacin de las tcnicas de programacin, dado que el ms pequeo de los programas requiere muchos conceptos sobre clases, objetos, mtodos etc. Para paliar este problema abordaremos la exposicin del lenguaje introduciendo algunas sentencias a modo de "frases hechas", sin mucha explicacin previa, y de las que en captulos sucesivos se dar explicacin. Las llaves "{" y "}" encierran los bloques de sentencias tales como clases y mtodos. Todos los bloques que se abren deben cerrarse. Cuando se abre un bloque las sentencias interiores del bloque se sangran las sentencias hacia la derecha, desde uno a tres caracteres, para identificar fcilmente el inicio y final del bloque. class HolaMundo{ public static void main(String"arg[]){ System.out.println ("Hola mundo esto es Java 7"); Nota: El nombre de una clase pblica tiene que ser necesariamente igual al nombre del fichero fuente. As la clase HolaMundo se archiva en el fichero de texto HolaMundo.java. La compilacin sin entorno de desarrollo La aplicacin HolaMundo.java tambin se podra haber creado con un editor de ficheros de texto, como por ejemplo el Bloc de notas de Windows (Notepad.exe) o el Edit (Edit.com) de MSDOS. El fichero debe tener el nombre HolaMundo.java.

La compilacin de la aplicacin se realiza con el programa javac.exe. Si el proceso no genera errores se crea el fichero HolaMundo.class que contiene el cdigo valido para el intrprete de Java. D:\LibroJava7\ProyectosJava\PrimerProyectoJ7\src>javac HolaMundo.java Para ejecutar el programa se ejecuta la siguiente sentencia en la consola del sistema: D:\LibroJava7\ProyectosJava\PrimerProyectoJ7\src>javaHolaMundo Hola mundo esto es Java 7 La construccin de un programa pasa al menos por dos fases, una la creacin del fichero fuente de extensin "java" y otra la compilacin en la que se convierte el fichero fuente en un fichero de bytecode de extensin ".class", que es la que se usa en la ejecucin del programa. La compilacin se realiza con el programa javac.exe, bien directamente en la lnea de comandos del sistema operativo, o a travs de un entorno de compilacin tal como ha visto en el anterior epgrafe. Para compilar una aplicacin de Java directamente en la lnea de comandos del sistema operativo hay que establecer al menos las siguientes variables de entorno del sistema operativo PATH Y CLASSPATH, para lo que debe teclear en la lnea de comandos del sistema operativo: PATH = c:\windows\command; d:\jdkl.7.0\bin set CLASSPATH = .; Siendo PATH la lista de directorios en los que el sistema operativo busca los programas que el usuario desea ejecutar, en este ejemplo las utilidades del Java estn en el directorio d: \jdkl.7.0\bin. La variable CLASSPATH se usa para indicar el directorio o los directorios en los que el intrprete de Java localiza las clases que necesita para la ejecucin de un programa. Recomendaciones programacin generales para la realizacin de una buena

Planificar el diseo de un programa: Debemos tomar la realizacin de programas complejos tal como si se tratara de una obra de

construccin de una casa en la que se hacen unos bocetos, se discute e intercambian ideas, se mide y se dibuja planos. En la programacin hay que analizar, discutir y plasmar en papel aquello que se quiere construir. Encapsular: Extraer y agrupar funciones relacionadas. Se habla de encapsular cuando se agrupan las operaciones y los datos, en clases debidamente diseadas, as de esta forma si se trata de una aplicacin para gestionar las notas de un grupo de alumnos tendremos una clase Alumno que identifique a cada alumno. Ocultamiento de la implementacin: sta es una tcnica que persigue jerarquizar la complejidad, de tal forma que en aplicaciones complejas unos equipos no estn analizando la complejidad de las piezas de software que estn utilizando, as se centran en cmo usar esta pieza de la forma ms adecuada. Reutilizar programas existentes: Un nuevo programa no debe partir desde cero. Reutilizar libreras y clases, ya realizadas, o tambin, partir de programas patrn o plantillas para adaptarlos a nuestras necesidades. Esto es lo que se dice en el tpico: "No intentes inventar la rueda". No resolver casos concretos, sino el problema en general: Si no se requiere un esfuerzo adicional, el programa en realizacin siempre debe resolver el caso genrico, y no el caso particular. As de esta forma no deben incorporarse datos al cdigo del programa y no restringir demasiado su diseo a un nmero limitado de entidades. Repartir bien la funcionalidad: Repartir la complejidad del problema de forma uniforme. Agrupar e independizar las funcionalidades de interaccin con el usuario, lgica de la aplicacin y gestin del almacenamiento de datos, de esta forma se mejora la migracin del cdigo, por ejemplo de cambio de sistema operativo. No crear mtodos muy largos que no se puedan entender en un primer vistazo; de esta forma se mejora la legibilidad del cdigo, es decir, se puede leer y entender de forma ms sencilla.

Aislar la funcionalidad: Cada tarea resuelta por una clase, mtodo, o cualquier conjunto de sentencias que realicen una tarea debe ser diseada de forma abstracta, o mejor dicho, independiente, de tal forma que no tenga dependencias cruzadas con otras piezas del software, y as de esta forma poderse combinar de diferentes formas para realizar distintos diseos de las aplicaciones, sin que tengan que ser adaptadas a cada caso. Resumen Hemos incluido en este captulo el concepto de lenguaje de programacin as como una breve referencia sobre la historia de Java y sus caractersticas principales. Hemos aprendido a instalar el entorno de desarrollo NetBeans, as como hacer un primer y elemental programa. Por ltimo, hemos incluido algunas recomendaciones sobre cmo abordar la construccin de programas. Las variables en el lenguaje Java Un programa en lenguaje Java, como en cualquier otro lenguaje, gestiona datos, que pueden ser fijos o variables, que pueden estar incorporados por defecto al programa, o ser obtenidos en el momento de ejecutarse el programa. Estos datos se identifican a travs de nombres simblicos (un tipo de identificadores) que se denominan en general "variables" o "constantes". Estos nombres identifican espacios de memoria en los que se sitan los datos antes de ser utilizados por el procesa dar en una operacin elemental, tal como un clculo aritmtico, una comparacin o un traslado de un dato de un lugar a otro, dentro del ordenador, o en la red en la que est conectado. Nota: Una variable es un identificador de un espacio de memoria que contiene uno ms datos. En el lenguaje Java el concepto de variable abarca adems un conjunto de referencias a otros elementos denominados "objetos", que desempean un papel similar a las variables o estructuras de datos

complejos. As, por ejemplo, para almacenar una cadena de caracteres se utiliza un objeto de la clase String. Es decir, en Java hay un conjunto de variables convencionales para gestionar datos numricos o lgicos, a las que se denominan variables primitivas, y un conjunto especial variables que identifican objetos, que se conocen como variables de referencia. Por el papel que desarrollan los objetos de la clase String y las clases denominadas envolventes de las primitivas, stas se suelen estudiar en conjunto con las variables. De las constantes diremos simplemente que son variables protegidas para que no cambien su valor en todo el tiempo de ejecucin de un programa. Nota: Un objeto es un bloque de memoria que contiene uno o ms datos, en una estructura compleja en la que se puede incluir adems trozos de programa (instrucciones ejecutables) que determinan el comportamiento del propio objeto. Segn esto en Java hay los siguientes grupos de variables: Variables primitivas. Variables referencias. Arrays de variables primitivas o referencia. Objetos de la clase String. Objetos de clases envo1ventes de las primitivas.

Para avanzar en su concepto, sin perder el objetivo de este captulo, diremos que un objeto es bloque de sentencias (mtodos) y datos (propiedades o atributos) que constituyen una pieza de un programa informtico identificable por un nombre (variable de referencia que contiene su direccin de memoria)' y que constituye la base de la programacin orientada al objeto. Los objetos, tal como se ver ms adelante, son obtenidos por la aplicacin de una "clase", que a modo de plantilla (o diseo), acta como constructor del objeto. A modo sinptico, se podra pensar que una clase es una especie de tampn de caucho, y el objeto es la huella que deja el tampn cada vez que lo aplicamos sobre un papel. As, cada vez que aplicamos un constructor de una clase vamos dejando una copia de un objeto sobre la memoria del ordenador, a estas copias se les denomina "instancias" del objeto. Un tipo de variable se dice de tipo static cuando slo hay una copia de sta en la ejecucin del programa, se dice entonces que no es

instanciable, es decir, tan slo se hace una copia de ella en el programa, y que estas variables estn asociadas a la clase y no al objeto. Este tipo de variables permite, por ejemplo, llevar un nico contador de una tarea cuando sta se desarrolla en diferentes instancias. Tambin se usa el concepto de mtodo static, que tambin se caracteriza por tener una nica instancia (copia) en la memoria en el momento de la ejecucin de un programa y que siempre est alojado en memoria, independientemente que se use o no, frente a los otros tipos de mtodos que se denominan dinmicos y que slo se cargan en memoria cuando se usan y se descargan cuando se dejan de usar. Nota: Un identificador se dice que es de tipo esttico (static) cuando slo hay una copia de ste en la memoria, y es instanciable cuando pueden crearse mltiples copias o versiones. Las variables primitivas en Java Las variables primitivas Java son similares a las variables que se pueden encontrar en cualquier otro lenguaje de programacin no orientado al objeto. Almacenan un dato simple y deben ser declaradas antes de ser usadas. Nota: Las variables deben ser declaradas antes o en el momento de ser usadas. En la declaracin se determina el tipo de variable de que se trata y slo puede realizarse una vez. Los datos simples ordinales o enteros en el lenguaje Java Los datos ordinales o enteros son aquellos que nos permiten contar cosas, es decir, asignarles un nmero de orden. De esta forma, se declaran tanto las variables primitivas como las de referencia a objetos: <tipo de primitiva> nombre; para primitivas, y: <clase> no-mbre;

para las de referencia a objeto. En la asignacin de la variable mini se incluye a la izquierda del dato literal 87, la palabra byte entre parntesis, esta construccin se denomina filtrado (casting) y permite convertir una variable de un tipo en otro, de esta forma se toma el valor 87 de tipo byte, y no como entero, que sera el tipo por defecto. Los datos simples reales en el lenguaje Java Los datos numricos reales son aquellos que contienen decimales, frente a los enteros que no los tienen. En el ordenador se almacena de forma diferente el nmero 123, como entero, que el 123.0 como real. Las variables reales se denominan tambin variables de coma flotante, debido a su particular forma de almacenarse en potencias de 10, de tal manera, que slo se almacena un determinado nmero de cifras significativas, seguido de la potencia de diez que complete la cifra con ceros. As el nmero 123456789012345 se almacenara como 123.45E+ 12, que significa que su valor es 123.45 multiplicado por 1012.

Potrebbero piacerti anche