Download JAVA PARA PRINCIPIANTES
Document related concepts
no text concepts found
Transcript
JAVA PARA PRINCIPIANTES 2011 UN POCO DE HISTORIA Java fue creado en 1991 por James Gosling de Sun Microsystems inicialmente llamado Oak que significa roble, esto debido a la cantidad de arboles que rodeaban el sitio donde este trabajaba. Este nombre no se pudo mantenerse ya que otra empresa ya lo había registrado. Java fue creado en principio para crear software para diferentes dispositivos electrónicos microondas, calculadoras y televisión interactiva. Desde 1984 James Gosling ha trabajado en la compañía estadounidense Sun Microsystems donde fue vicepresidente hasta que Sun Microsystems fue comprada por Oracle. Abandonó esta compañía el 2 de abril de 2010. Posteriormente, el día 28 de marzo de 2011 anunció en su blog que empezaba a trabajar en Google. Mucho éxito para el creador de este lenguaje de programación tan prolífico. TECN0LOGIA JAVA Actualmente Sun Microsystems (Oracle) delega a JavaSoft, empresa del grupo la responsabilidad del desarrollo, creación y compatibilidad de versiones sucesivas de java. Existen distribuciones distintas donde cada una ha sido desarrollada para un entorno de programación distinto. Estas distribuciones son paquetes de software que incluye toda la plataforma para soportar la ejecución de los programas java. Los elementos principales de este conjunto son las APIs y un entorno de ejecución o maquina virtual: ● J2SE- Java2 Standard Edition, Provee las principales APIs y enfoca el desarrollo de aplicaciones Clientes/Servidor. No permite la distribución extendida de objetos ni ofrece soporte a tecnologías para internet. Provee la Java Runtime Environment (JRE) o la JVM (Java Virtual Machine). Prof. Franklin Cedeño PFG Informática Para La Gestión Social JAVA PARA PRINCIPIANTES 2011 ● J2EE- Java2 Enterprise Edition, Provee un conjunto de APIs para el desarrollo corporativo y se enfoca en la integración de los sistemas. Permite alta distribución de objetos y ofrece total soporte para tecnología internet. ● J2ME-Java2 Micro Edition, Provee las APIs necesarias para el desarrollo de aplicaciones para computación móvil, en pequeños dispositivos o tecnologías portátiles. Provee una Java Runtime Environment (JRE) de capacidad reducida. ● JVM-Java Virtual Machine, Software que emula el CPU y memoria para la ejecución de programas en Java. ● JRE- Java Runtime Environment, entorno obligatorio para la ejecución de programas Java. El JRE es compuesto por la por la JVM y por el conjunto APIs del J2SE (JVM+APIs=JRE). ● SDK- Software Development Kit, conjunto de herramientas para la compilación, documentación y depuración de errores de aplicaciones Java. El SDK está compuesto por JRE y por sus herramientas de desarrollo. ● HotSpot, componente del JRE, realiza una compilación previa de fragmentos del código que agiliza la ejecución de los programas. Para ejecutar cualquier aplicación Java, es necesario tener una JRE, que contiene el JVM más las APIs del J2SE. TIPOS DE DATOS Al igual que lenguajes de programación como C++, que cuentan conjunto de datos predefinido, java no es la excepción de allí que es un lenguaje fuertemente tipificado. Definir los tipos de datos nos permitirá establecer los Prof. Franklin Cedeño PFG Informática Para La Gestión Social JAVA PARA PRINCIPIANTES 2011 métodos de almacenamiento de información, junto con la forma que esta será interpretada. En java existen dos grandes grupos: ● Datos primitivos: son de tipos nucleares que no derivan de otros tipos de datos, como los enteros, decimales, booleanos y de caracteres. Existen otros tipos compuestos con los son los vectores y matrices, al igual que otras estructuras de datos creadas por los usuarios que estudiaremos más adelante. FUNDAMENTOS DE PROGRAMACIÓN Dentro de los fundamentos de programación existen dos paradigmas que si bien no son los únicos son sin duda los más importantes para este momento, “El paradigma Procedimental o estructurado y El paradigma Orientado a Objeto”. El paradigma Procedimental aun vigente se caracteriza por la ejecución secuencial de rutinas o funciones que organizadas permiten resolver problemas informáticos. El paradigma orientado a objeto nació en 1969 de la mano del doctor noruego Kristen Nygaard, que al intentar escribir un programa de computadora que describiera el movimiento de los barcos a través de un fiordo, descubrió que era muy difícil simular las mareas, los movimientos de los barcos y las formas de la línea de la costa con los métodos de programación existentes en ese momento. Los objetos pueden ser representados mediante sus propiedades específicas como tamaño, color, forma, etc., además de poseer ciertas funciones que lo hacen ser distintos de otros objetos. Java incorpora el uso de la orientación a objetos como uno de los pilares básicos de su lenguaje. Prof. Franklin Cedeño PFG Informática Para La Gestión Social JAVA PARA PRINCIPIANTES 2011 APRENDER HACIENDO Ahora Comenzaremos con pequeño ejemplo de un programa de java utilizando una estructura básica de manera de presentarlo formalmente y empecemos a familiarizarnos con ella: Antes de comenzar la explicación del código es importante saber que para editar este código he trabajado con el IDE NetBeans el cual es un entorno de desarrollo, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extender el NetBeans IDE. NetBeans IDE es un producto libre y gratuito sin restricciones de uso. NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo . Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo public class Anatomia { public static void main(String[]args) { String saludo = "¡Bienvenidos al PFG de Informática !"; System.out.println(saludo); } } Prof. Franklin Cedeño PFG Informática Para La Gestión Social JAVA PARA PRINCIPIANTES 2011 IDE NetBeans Expliquemos el código: 1 public class Anatomia{ : en java siempre estaremos codificando en función de clases, en este caso estamos creando una clase publica llamada Anatomía, esta debe estar contenida en un archivo llamado Anatomia.java. 2 public static void main(String[]args) {: estas instrucciones representan el método; para que una aplicación java pueda ser considerada del tipo stand-alone y ejecutada directamente por el interprete; debe poseer en su sintaxis el main. A partir de esta línea de código el programa comienza a ejecutarse. Por lo tanto el método main desempeña la función de punto de acceso de una aplicación stand-alone. Cuando el proceso de ejecución llega al fin de ese método, la aplicación termina. 3 String saludo = "¡Bienvenidos al PFG de Informática !"; : declaramos una variable de tipo String llamada saludo a la cual le asignamos la cadena de caracteres “"¡Bienvenidos al PFG de Informática !”. 4 System.out.println(saludo); }: se llama al método System.out.println para que muestre por pantalla la cadena de caracteres almacenados en la variable saludo. 5 } finaliza la clase Anatomía. Stand-alone: Aplicación basada en J2SE que tiene total acceso a los recursos del sistema, memoria, disco, redes, dispositivos, etc. Prof. Franklin Cedeño PFG Informática Para La Gestión Social JAVA PARA PRINCIPIANTES 2011 El tema de la programación orientada a objeto, implica un conocimiento preciso de las definiciones de clase y objeto, de allí que: Clase: En términos prácticos es un tipo de estructura definida por el usuario la cual establece los elementos representativos en cuanto a sus atributos y funcionabilidad (métodos) de manera genérica. Objeto: no es más que la concreción de un elemento particular de una clase. Booch define un objeto como “algo que tiene un estado, un comportamiento y una identidad”. Declaración de una Clase: Antes que un programa pueda crear objetos de cualquier clase, esta debe ser definida. La definición de una clase significa que debe dar a la misma un nombre, dar nombres también a los elementos que almacenan los datos y describir sus métodos que realizaran las acciones consideradas por el objeto. Las definiciones y las acciones no son un código de programa ejecutable. Se utilizan para asignar almacenamiento a los valores de los atributos usados por el programa y reconocer los métodos que utilizara el programa. Normalmente se sitúan en archivos formando los denominados packages, se utiliza un archivo para varias clases que están relacionadas. Formato: class NombreClase NombreClase: Nombre definido por el usuario { que identifica la clase. Lista_de_Miembros: Lista_de_Miembros métodos y datos miembros de la clase } Prof. Franklin Cedeño PFG Informática Para La Gestión Social JAVA PARA PRINCIPIANTES 2011 EJEMPLO 2.1 class Punto { private int x; // coordenada x private int y; // coordenada y public Punto(int x_,int y_) // constructor { x = x_; y = y_; } public Punto() // constructor sin argumentos { x = y = 0; } public int LeerX() // devuelve el valor de x { return x; } public int LeerY() // devuelve el valor de y { return y; } void fijarX(int valorX) // establece el valor de x { x = valorX; } void fijarY(int valorY) // establece el valor de y { y = valorY; } Prof. Franklin Cedeño PFG Informática Para La Gestión Social JAVA PARA PRINCIPIANTES 2011 EJERCICIO 2.2 import java.io.*; class Demo { private int datos; public Demo(){datos = 0;} protected void finalize() { System.out.println("Fin de objeto Demo"); } } class Prueba { private double x; public Prueba (){x = -1.0;} protected void finalize() { System.out.println("Fin de objeto Prueba"); } } public class ProbarDemo { public static void main(String[] ar) { Demo d1, d2; Prueba p1, p2; d1 = new Demo(); p1 = new Prueba(); System.gc(); // no se libera ningún objeto p2 = p1; p1 = new Prueba(); System.gc(); // no se libera ningún objeto p1 = null; d1 = new Demo(); System.gc(); } } // se liberan dos objetos d2 = new Demo(); // se liberan los objetos restantes Prof. Franklin Cedeño PFG Informática Para La Gestión Social JAVA PARA PRINCIPIANTES 2011 Prof. Franklin Cedeño PFG Informática Para La Gestión Social