Download introducción a java
Document related concepts
no text concepts found
Transcript
QUIMESTRE II PARCIAL I INTRODUCCIÓN A JAVA ¿Qué es Java? La tecnología Java es un lenguaje de programación y una plataforma. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .3 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .4 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .5 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .6 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .7 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .8 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .9 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .10 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .11 Características Principales • Sencillo • Orientado a objetos • Distribuido • Interpretado • Robusto • Seguro • Arquitectura neutra • Portable • Altas prestaciones • Multithread (multihilo) • Dinámico Características: Sencillo • Elimina algunas de las características de C y C++: • No aritmética de punteros. • No existen referencias. • No existe typedef ni #define. • No sobrecarga operadores. • No herencia múltiple. • Posee clase String. • No necesidad de asignar y liberar memoria • (Garbage Collector). } Características: Orientado a objetos • Java trabaja con sus datos como objetos y con interfaces a esos objetos. • Implementa: • Encapsulación. • Herencia simple. • Abstracción. • Reutilización. • Polimorfismo. - Interfaces. - Paquetes. Características: Distribuido • Concebido para trabajar en un entorno conectado en red. • En sí no es distribuido, proporciona librerías y herramientas para que los programas puedan ser distribuidos, que los programas corran en varias máquinas interactuando. Características: Interpretado Compilador tradicionalIntérprete de ByteCodes Compilador Java Traslada sentencias alto-nivel a múltiples instrucciones. Creación de librerías como resultado de compilaciones previas. Juntando, se crea programa ejecutable. Traduce código fuente a código intermedio. Interprete de Java Virtual Machine(JVM) (ByteCodes interpretados (ejecutados)) Características: Robusto • No se interrumpe fácilmente. • Evita sobreescribir o corromper memoria mediante punteros. • Manejo de excepciones. • Verificación de ByteCodes (por ejemplo no acceso ilegal de memoria). Características: Seguro • Aplicaciones seguras ya que no acceden a zonas delicadas de memoria o de sistema • No existen punteros, no acceso a zonas delicadas de memoria. • Una applet no puede acceder al sistema, a los archivos de la persona que lo está viendo. Características: Arquitectura neutra • Java compila el código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará. • Cualquier plataforma donde exista una JVM se puede ejecutar el código objeto independientemente de la máquina en el que ha sido generado. Características: Arquitectura Código fuente se compila neutra a un código de bytes independientemente de la máquina. Los ByteCodes se ejecutan en una máquina hipotética que se implementa por un sistema run-time, que es dependiente de la máquina. Tiempo de compilación Tiempo de ejecución Características: Arquitectura neutra • Elementos que forman parte de arquitectura de Java sobre una plataforma genérica. • Dependiente del sistema: • JVM. • Librerías fundamentales. • APIs de Java que entren en contacto directo con el hardware. Características: Portable Más allá de la portabilidad básica por ser de arquitectura independiente. Características: Altas prestaciones • Compiladores JIT (Just in time): Compilan en el momento de ejecución. • Traslada los bytecodes al código máquina de la plataforma según los va leyendo, realizando cierto grado de optimización. • JIT no pierde tiempo en optimizar código que no se ejecutará. Características: Altas prestaciones • Se introdujo un nuevo JIT: HotSpot. • Incluye compilador dinámico y una máquina virtual para Interpretar bytecodes. • Mejor soporte para ordenadores con varios procesadores, mayor escalabilidad. Características: Multithread • Ejecución de varias tareas a la vez. Permite muchas actividades simultáneas en un programa. • Posee una serie de clases que facilitan su utilización. • Mejor rendimiento interactivo y mejor comportamiento en tiempo real. Características: Dinámico • No conecta todos los módulos que comprenden una aplicación hasta el mismo tiempo de ejecución. • Las librerías nuevas o actualizadas no paralizan la ejecución de las aplicaciones siempre que mantengan la API anterior. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .27 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .28 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .29 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .30 E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .31 La plataforma Java 2 • Una plataforma software que se ejecuta sobre otra plataforma hardware/software. • La Máquina Virtual Java La interfaz de Programación (JVM) Intérprete de Java de Aplicaciones (API) Conjunto de clases ya desarrolladas La plataforma Java 2 • Capaz de traer automáticamente cualquier pieza que funcionar. el sistema necesite para ¿Qué ventajas tengo como desarrollador? • Comenzar rápidamente. • Escribir menos código, 4 veces menos que en C++. • Escribir mejor código. • Desarrollar programas más rápidamente. • Eliminar dependencias de la plataforma. • Escribir una vez, ejecutar en cualquier parte. Sintaxis de Java. mostrando los comentarios de documentación resultan de especial importancia a la hora de comentar código. Se muestra como utilizar la herramienta de documentación javadoc. El capítulo sigue con la sintaxis válida para los identificadores, y se listan las palabras reservadas del lenguaje. El capítulo se cierra con la enumeración de los separadores y sus usos. 36 Comentarios En Java existen tres tipos de comentarios: 1.-Comentarios de una solo línea como en C++ // Esta es una línea comentada. 2.- Comentarios de bloques como en C. /* Aquí empieza el bloque comentado y aquí acaba */ 3.-Comentarios de documentación. /** Los comentarios de documentación se comentan de este modo */ 37 Ejemplo: Mi Primer programa en Java public class HolaJava { public static void main(String args[]) { System.out.println("Hola Java"); } } Para compilar el programa escribe en la línea de instrucciones: [belfern@anubis Java]$javac HolaJava.java Si todo va bien no tendrá ningún mensaje de error. Para ejecutar el programa Escribe en la línea de instrucciones: [belfern@anubis Java]$java HolaJava El resultado que se mostrará en la consola es: Hola Java 38 Documentación. Es la generación de código ,este no debe ejecutarse únicamente sin errores, si no que además debe estar bien documentado. Java facilita esta tarea utilizando ciertas etiquetas en los comentarios de documentación. /** @version [Información de la versión] Identificadores Comienzan por una letra o digitos, un subrayado «_» o el símbolo de dolar «$», 39 Nota: Ningún identificador puede llevar el nombre de una palabra Palabras reservadas El conjunto de palabras reservadas en Java abstract continue for switch new boolean default goto null break do if package this byte double implements private threadsafe byvalue else import protected case extends instanceof public transient catch false return true char final int interface class finally long synchronized throw short try static void 40 const float native super while Separadores Los paréntesis (): Delimitan listas parámetros, Delimitan condiciones. de Las llaves {}: Definen bloques de código. Delimitan las lista de valores iniciales de los arrays Los corchetes []: Declaran vectores y permiten acceder a sus elementos El punto y coma «;»: Terminan instrucciones 41 public class Ejemplo { public static void main(String[] arg) { System.out.println("Hola Java"); } } 42 public class Ejer01 { public static void main(String arg[]) { System.out.println("ESTE ES EL SEGUNDO PROGRAMA EN JAVA\n"); } } 43 public class E2 { public static void main(String arg[]) { System.out.println(“Bienvenidos\n"); System.out.println(“Estudiantes de Programación en java\n"); System.out.println(“Ecomundo Centro de Estudios\n"); System.out.println("de la sección diurna\n"); System.out.println(“Primero Bachillerato……\n"); } } public class Ejer03 { public static void main(String Argumentos[]) { byte largestByte = Byte.MAX_VALUE; short largestShort = Short.MAX_VALUE; int largestInteger = Integer.MAX_VALUE; long largestLong = Long.MAX_VALUE; float largestFloat = Float.MAX_VALUE; double largestDouble = Double.MAX_VALUE; char aChar = 'S'; boolean aBoolean = true; System.out.println("Maximo valor para Byte: "+largestByte); System.out.println("Maximo valor para Shor: "+largestShort); System.out.println("Maximo valor para Integer: "+largestInteger); System.out.println("Maximo valor para Long: "+largestLong); System.out.println("Maximo valor para float: "+largestFloat); System.out.println("Maximo valor para double: "+largestDouble); if(Character.isUpperCase(aChar)) { System.out.println("El caracter: "+aChar+" es mayuscula"); } else { System.out.println("El caracter: "+aChar+" es minuscula"); } System.out.println("El valor de boolean es:" +aBoolean); } } public class Ejer05 { public static void main(String Argumentos[]) { int i = 37; int j = 42; int k = 42; System.out.println("Valores de variables..."); System.out.println(" i = "+i); System.out.println(" j = "+j); System.out.println(" k = "+k); System.out.println("Mayor que..."); System.out.println(" i > j is "+(i>j));//FALSO System.out.println(" j > i is "+(j>i));//VERDADERO System.out.println(" k > j is "+(k>j));//VERDADERO System.out.println("Menor o igual que..."); System.out.println(" i >= j is "+(i>=j));//FALSO System.out.println(" j >= i is "+(j>=i));//VERDADERO System.out.println(" k >= j is "+(k>=j));//VERDADERO System.out.println("Mayor que..."); System.out.println(" i < j is "+(i<j));//FALSO System.out.println(" j < i is "+(j<i));//VERDADERO System.out.println(" k < j is "+(k<j));//VERDADERO System.out.println("Menor igual que..."); System.out.println(" i <= j is "+(i<=j));//FALSO System.out.println(" j <= i is "+(j<=i));//VERDADERO System.out.println(" k <= j is "+(k<=j));//VERDADERO System.out.println("Igual que..."); System.out.println(" i == j is "+(i==j));//FALSO System.out.println(" j == i is "+(j==i));//VERDADERO System.out.println(" k == j is "+(k==j));//VERDADERO System.out.println("Diferente que..."); System.out.println(" i != j is "+(i!=j));//FALSO System.out.println(" k != i is "+(k!=i));//VERDADERO } } PASOS: EJECUCIÓN DE UN PROGRAMA 1.- Crear una Carpeta disco local C:\> con nombre su apellido 2.- Se codifica en el programa ---bloc notas 3.- Se guarda la codificación, con el mismo nombre que se le ha asignado en la codificación----mas la extensión punto java (.java ) 4.-Se lo guarda en la carpeta que lleva su apellido 49 Símbolo del Sistema Para compilar Comando Nombre de la carpeta Nombre del programa Ejecución de la compilación Ejecución del programa 51 Atributos. Atributos estáticos o de clase. Cada atributo debe empezar con un modificador de acceso. Estos indican la visibilidad, es decir, se puede tener acceso sólo desde la clase (private), desde la clase y las clases que heredan de ella (protected), desde cualquier clase definida en el mismo paquete (ausencia de modificador) o desde cualquier clase (public). EJEMPLO: public static int cuantasInstancias() { return numeroInstancias; } } 53 Métodos. Métodos estáticos o de clase Permite, acceder directamente a través del nombre de la clase. Los métodos declarados static tienen una restricción muy fuerte, pueden acceder a atributos o métodos también declarados como static. EJEMPLO: public static int cuantasInstancias() { return numeroInstancias; } 54 Creación de objetos Un objeto, desde nuestro punto de vista, puede verse como una pieza de software que cumple con ciertas características: Herencia Encapsulamiento Herencia Induce una jerarquía en forma de árbol sobre las clases con raíz en la clase Object. Una clase se dice que hereda o extiende a otra clase antecesora 55 Encapsulamiento Consiste en la ocultación del estado, de los datos miembro de un objeto, de forma que sólo es posible modificar los mismos, mediante las operaciones (métodos, en Java) definidos para dicho objeto. Sobrescritura de constructores los constructores, son métodos invocados en el momento de la creación de instancias. Como cualquier otro método se pueden sobrescribir en el momento de la extensión. 56 Clases abstractas. Un método se puede declarar como abstract. El método así declarado puede no implementar nada. Qué es una excepción. Es una situación anómala, que llega la ejecución de un programa. 57 Tipos de excepciones: existen dos :Los Errores Excepciones propiamente dichas Los Errores: son situaciones irrecuperables, por ejemplo: fallos de la máquina virtual Las excepciones : Cuando una excepción se produce, se acompaña de toda la información relevante para que podamos gestionarla Creación de excepciones propias La excepción más adecuada, y en el constructor de la clase, llamar a la clase padre con el mensaje que se desee mostrar cuando se produzca la excepción. 58 class CAritmetica { /* *Operaciones aritmeticas */ public static void main (string [ ] args) { int dato1,dato2, resultado; dato1=20; dato2=10; //suma resultado=dato1+dato2; system.out.println(dato1+" + "+dato2+"="+resultado); //resta resultado=dato1-dato2; system.out.pintln(dato1+" - "+dato2+"="+resultado); //producto resultado=dato1*dato2; system.out.println(dato1+" * "+dato2+"="+resultado); //cociente resultado=dato1/dato2; system.out.println(dato1+" / "+dato2+"="+resultado); } } public class calculo { public static void main(String Argumentos[ ]) { byte largestByte = Byte.MAX_VALUE; short largestShort = Short.MAX_VALUE; int largestInteger = Integer.MAX_VALUE; long largestLong = Long.MAX_VALUE; float largestFloat = Float.MAX_VALUE; double largestDouble = Double.MAX_VALUE; char aChar = 'S'; boolean aBoolean = true; System.out.println("Maximo System.out.println("Maximo System.out.println("Maximo System.out.println("Maximo valor para Byte: "+largestByte); valor para Shor: "+largestShort); valor para Integer: "+largestInteger); valor para Long: "+largestLong); System.out.println("Maximo valor para float: "+largestFloat); System.out.println("Maximo valor para double: "+largestDouble); if(Character.isUpperCase(aChar)) { System.out.println("El caracter: "+aChar+" es mayuscula"); } else { System.out.println("El caracter: "+aChar+" es minuscula"); } System.out.println("El valor de boolean es:" +aBoolean); } } public class Ejercicio { public static void main(String Argumentos[]) { int i = 37; int j = 42; int k = 42; System.out.println("Valores de variables..."); System.out.println(" i = "+i); System.out.println(" j = "+j); System.out.println(" k = "+k); System.out.println("Mayor que..."); System.out.println(" i > j is "+(i>j));//FALSO System.out.println(" j > i is "+(j>i));//VERDADERO System.out.println(" k > j is "+(k>j));//VERDADERO System.out.println("Menor o igual que..."); System.out.println(" i >= j is "+(i>=j));//FALSO System.out.println(" j >= i is "+(j>=i));//VERDADERO System.out.println(" k >= j is "+(k>=j));//VERDADERO System.out.println("Mayor que..."); System.out.println(" i < j is "+(i<j));//FALSO System.out.println(" j < i is "+(j<i));//VERDADERO System.out.println(" k < j is "+(k<j));//VERDADERO System.out.println("Menor igual que..."); System.out.println(" i <= j is "+(i<=j));//FALSO System.out.println(" j <= i is "+(j<=i));//VERDADERO System.out.println(" k <= j is "+(k<=j));//VERDADERO System.out.println("Igual que..."); System.out.println(" i == j is "+(i==j));//FALSO System.out.println(" j == i is "+(j==i));//VERDADERO System.out.println(" k == j is "+(k==j));//VERDADERO System.out.println("Diferente que..."); System.out.println(" i != j is "+(i!=j));//FALSO System.out.println(" k != i is "+(k!=i));//VERDADERO } } Atributos. Atributos estáticos o de clase. Cada atributo debe empezar con un modificador de acceso. Estos indican la visibilidad, es decir, se puede tener acceso sólo desde la clase (private), desde la clase y las clases que heredan de ella (protected), desde cualquier clase definida en el mismo paquete (ausencia de modificador) o desde cualquier clase (public). EJEMPLO: public static int cuantasInstancias() { return numeroInstancias; } } 65 Métodos. Métodos estáticos o de clase Permite, acceder directamente a través del nombre de la clase. Los métodos declarados static tienen una restricción muy fuerte, pueden acceder a atributos o métodos también declarados como static. EJEMPLO: public static int cuantasInstancias() { return numeroInstancias; } 66 Creación de objetos Un objeto, desde nuestro punto de vista, puede verse como una pieza de software que cumple con ciertas características: Herencia Encapsulamiento Herencia Induce una jerarquía en forma de árbol sobre las clases con raíz en la clase Object. Una clase se dice que hereda o extiende a otra clase antecesora 67 Encapsulamiento Consiste en la ocultación del estado, de los datos miembro de un objeto, de forma que sólo es posible modificar los mismos, mediante las operaciones (métodos, en Java) definidos para dicho objeto. Sobrescritura de constructores los constructores, son métodos invocados en el momento de la creación de instancias. Como cualquier otro método se pueden sobrescribir en el momento de la extensión. 68 Clases abstractas. Un método se puede declarar como abstract. El método así declarado puede no implementar nada. Qué es una excepción. Es una situación anómala, que llega la ejecución de un programa. 69 Tipos de excepciones: existen dos :Los Errores Excepciones propiamente dichas Los Errores: son situaciones irrecuperables, por ejemplo: fallos de la máquina virtual Las excepciones : Cuando una excepción se produce, se acompaña de toda la información relevante para que podamos gestionarla Creación de excepciones propias La excepción más adecuada, y en el constructor de la clase, llamar a la clase padre con el mensaje que se desee mostrar cuando se produzca la excepción. 70 BASE DE DATOS BASE DE DATOS ARCHIVOS ¿Qué es una Base de Datos? • Una Base de Datos no es más que un conjunto de información (un conjunto de datos) relacionada que se encuentra agrupada o estructurada. • Informáticamente una Base de Datos es un sistema formado por un conjunto de datos almacenados en memorias masivas que permiten acceso directo a ellos y un conjunto de programas que manipulan ese conjunto de datos. LOGRANDO BASE DE DATOS • SON SOFTWARES QUE PERMITEN GUARDAR INFORMACION EN GRAN VOLUMEN BASE de DATOS TABLA REGISTRO CAMPOS DATO Interfase INGRESO – CONSULTA – MODIFICAR - ELIMINAR - REPORTE A C C E S O LENGUAJE DE PROGRAMACION VISUALFOX VISUALBASIC .NET ORACLE INFORMIX R E C U R S I V I D A D BASE DE DATOS CLIENTE EXISTIENDO EN EL AMBIENTE INFORMATICO Advantage Database Mysql LOGRANDO RELACIONARSE Dbase A NIVELES DE File Maker PROGRAMACIÒN CON VisualFoxpro VisualBasic VISUAL FOX IBM DB2 VISUAL BASIC IBM Informix VISUAL BASIC.NET Microsoft Access ORACLE Sql server Nexus Db POWER BUILDER Open Access ASP Oracle PHP Paradox ENTRE OTROS Progress(DBMS) SYBASE ASE SQL SERVER COMPACT Definición formal • Es un conjunto exhaustivo (en su modelización del mundo real) de datos estructurados, fiables y homogéneos, organizados independientemente de su utilización y de su implementación en máquina, accesibles en tiempo real, compartibles por usuarios concurrentes que tienen necesidades de información diferentes y no predecibles en el tiempo. Propiedades de los datos • Estructurados independientemente de las aplicaciones y del soporte de almacenamiento que los contiene. • Presentan la menor redundancia posible. • Son compartidos por varios usuarios aplicaciones. • Están bajo un control centralizado. y/o •. • Un Sistemas de Gestión de B de D SGBD es un conjunto de programas de propósito general que permite controlar el acceso y la utilización de la Base de Datos, por los usuarios, para incluir, modificar o recuperar información, incluyendo prestaciones para conseguir la independencia, la integridad y la seguridad de los datos, así como la concurrencia de usuarios. Características de las Tablas • Una tabla está formada por Filas y Columnas. • Las Filas son equivalentes a los Registros de un archivo clásico (contienen los valores de los objetos o entidades descritas). • Las Columnas son equivalentes a los Campos (que representan los atributos de los objetos o entidades descritas). El conjunto de valores que puede tomar un campo se llama dominio. TABLA BASE DE DATOS---- CLIENTES CAMPOS DATO R E G I S T R O S PANTALLA PRINCIPAL DE ACCESS PASOS PARA CREAR LA TABLA EN ACCESS Ejemplo de Tabla Clave Primaria DNI Nombre Apellido Teléfono 2341167 Pedro Alonso 6273652 Nombre Campos Registro 5625711 María Gómez 6718234 Registro 6718273 José López 6715629 Registro Campo Campo Campo Campo PROCESOS DE OPERACIÓN DE TABLA PROCESOS DE OPERACIÓN ENTRE TABLAS