Download Programación en Java - paradigmas
Document related concepts
no text concepts found
Transcript
Java y JSP Introducción a Java Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código neutro El lema del lenguaje es “WRITE ONCE, RUN EVERYWHERE” (Escribir una vez, ejecutar donde sea) Reseña histórica (continuación) Versiones Java 1.0 (212 Clases, 12 paquetes). Muchos navegadores llevan esta versión, se usa para applets. Java 1.1 (504 Clases, 23 paquetes). Uso en sistemas donde no está la V 1.2 Java 1.2 (1520 Clases, 59 paquetes). Plataforma Java 2.0 Java 1.3 (Beta) Pequeñas correcciones y actualizaciones Java 1.4 Java 1.5 o Java 5.0 Java 6.0 Reseña histórica (continuación) Versiones Java 1.4 Java 1.5 o Java 5.0 java.sun.com Características Lenguaje orientado a objeto Simple Portable Robusto Seguro Pequeño Interpretado Características (Lenguaje interpretado) Todo programa Java es compilado y después interpretado Independencia de la plataforma Programa Java fichero.java Editor Byte code fichero.class Compilador Intérprete Instalación y configuración Copiar el JDK a la estación de trabajo. Modificar del archivo autoexec.bat: El directorio BIN (donde están los archivos ejecutables) debe estar incluido en la variable PATH. Agregar una variable CLASSPATH (que le indica al JDK donde buscar los paquetes para la ejecución de un programa Java) con las entradas “classes.zip” y el directorio actual “.”. Aplicación Java ¿Qué es una aplicación Java? Aplicaciones estándar Applets Creación Necesitamos Editor de texto Salida Grabar un archivo del mismo nombre de la clase (respetando las mayúsculas y minúsculas) con extensión “.java” Aplicación Java (continuación) Compilación Necesitamos JDK (javac.exe) Salida Al ejecutar la sentencia “javac <NombreArchivo>.java” se crea un archivo del mismo nombre de la clase con extensión “.class” Aplicación Java (continuación) Ejecución Necesitamos JDK (java.exe) Se ejecuta mediante la sentencia “java <NombreArchivo>” . Aplicación Java (continuación) Ejemplo (Promedio.java) class Promedio { public static void main(String[] args) { int i = 11, j = 20; double a = (i + j) / 2.0; System.out.println(“El valor de i es:” + i + “y el de j es: ” + j); System.out.println(“El promedio es de: ” + a); } } Plataforma JAVA Una plataforma es el entorno hardware y/o software donde se ejecuta un programa. Ejemplos Plataformas Intel, RISC, … Plataformas Win32, Linux, AIX, Solaris, HP-UX, z/OS, … Plataformas IBM, Sun, Microsoft, HP, … Plataforma JAVA (cont.) La plataforma JAVA es una plataforma solo software que se ejecuta sobre otra plataforma hardware/software. Tiene dos componentes: La Máquina Virtual de JAVA (JVM) La Interfaz de Programación de Aplicaciones (API) Plataforma JAVA (cont.) La JVM es el intérprete JAVA. La API Java es un conjunto de clases ya desarrolladas que ofrecen un gran abanico de posibilidades al programador. myProgram.java JAVA API JAVA Virtual Machine Hardware Based Plataform J2SE: Java 2 Standard Edition JAVA Plataform Plataforma JAVA (cont.) Existen distintas ediciones de la plataforma Java: J2ME: Java2 Micro Edition J2SE: Java2 Standard Edition J2EE: Java2 Enterprise Edition Siglas JDK: Java Development Kit SDK: Software Development Kit JRE: Java Runtime Environment (JVM) J2ME: Java2 Micro Edition J2SE: Java2 Standard Edition J2EE: Java2 Enterprise Edition Sintaxis en Java Comentarios Para una sola línea // nota De una o mas líneas /* nota */ De documentación /** nota */ Separadores Paréntesis Llaves Corchetes Punto y coma Coma Punto Puntos y coma - Bloques Una sentencia es una línea simple de código terminada en un punto y coma. System.out.println(“Hola”); Un bloque es un conjunto de sentencias agrupadas entre llaves. while(true) { x = y + 1; x = x + 1; } Puntos y coma - Bloques Los bloques pueden estar anidados: while(true) { x = y + 1; if (x<0) { x = x + 1; } } Identificadores Nombran variables, funciones, clases y objetos Comienza con una letra, un guión bajo (_) o un símbolo pesos ($). Los siguientes caracteres pueden ser letras o dígitos Distinción entre mayúsculas y minúsculas No hay longitud máxima Keywords Variables Una variable es un contenedor de datos identificado mediante un nombre. Dicho nombre o identificador se utilizará para referenciar al dato que contiene. Toda variable debe llevar asociada un tipo que describe el tipo de dato que guarda. Por tanto, una variable tiene: Un tipo Un identificador Un dato o valor. Declaración de variables Es la sentencia mediante la cual se define una variable, asignándole un tipo y un identificador. tipo identificador; int a; Adicionalmente se le pude asignar un valor inicial: tipo identificador = valor; int a = 10; Si no se le asigna un valor, se inicializará con el valor por defecto para ese tipo. Operadores Operador + * / % != & ! Función Suma o concatena caracteres. Resta Multiplicación División Resto de la división Distinto AND Negación Operador ++ -== = => =< <, > | Función Incrementar en uno Decrementar en uno Igual que Asignar a Mayor o igual que Menor o igual que Menor que, Mayor que OR Tipos de Datos En Java existen dos tipo de datos genéricos: Tipos primitivos Tipos complejos: clases Existen ocho tipos de datos primitivos clasificados en cuatro grupos diferentes: Lógico: boolean Carácter: char Número enteros: byte, short, int y long. Números reales: double y float. Tipo de dato lógico boolean Sus valores son: true false Su valor por defecto es false Ejemplos: boolean a; boolean a = true; Tipo de dato caracter char Representa un caracter UNICODE. Su tamaño es 16 bits (2 bytes). Sus posibles valores son: Un carácter entre comillas simples: ‘a’ Un carácter especial con \ por delante: ‘\n’ Un código UNICODE: ‘\uxxxx’ (donde xxxx es un valor hexadecimal) Tipo de dato caracter Su valor por defecto es : ‘\u0000’ Ejemplos: char char char char letra1 = ‘a’; letra2 = ‘\n’; letra3 = ‘\u0041’; letra4; Tipo de dato enteros byte, short, int y long. Sus tamaños son: byte = 8 bits (1 byte) -128 a 127 short = 16 bits (2 byte) -32768 a 32767 int = 32 bits (4 byte) -2147483468 a 2147483467 long = 64 bits (8 byte) -enorme a enorme Tipo de dato enteros Su valor por defecto es cero. Ejemplos: byte unByte = 12; short unShort; int unInt = -199; long unLong = 2; Tipo de dato reales float, double. Sus tamaños son: float = 32 bits (4 byte) Su precisión varía de acuerdo a la plataforma. double = 64 bits (8 byte) Su precisión varía de acuerdo a la plataforma. Tipo de dato reales Su valor por defecto es 0.0. Ejemplos: float unfloat = 0.17; double unDouble; Tipo de datos complejo La keyword es el nombre de la clase del objeto que va a contener la variable. Su valor por defecto es null Ejemplo String unString = new String(“Hola”); String unString; Tipo de datos complejo vs. Tipo de datos primitivo Una variable de tipo primitiva contiene el dato directamente: Una variable de tipo compleja contiene una referencia a la zona de memoria donde está el objeto Ámbito de las variables El ámbito de una variable es la zona de código donde se puede referenciar dicha variable a través de su identificador. El lugar de definición de una variable establece su ámbito. Ámbito de las variables Ámbito de las variables Ámbito de las variables Arrays Declaración char s[]; Punto p[]; Construcción Array vacío int tabla[][] = new int[4][5]; Array con sus valores iniciales String nombres[] = { "Juan","Pedro","Maria" }; Control de Flujo Sentencias de Salto Posibilitan la ejecución selectiva de porciones del programa según el valor de algunas expresiones Control de Flujo (continuación) switch( expr1 ) { case expr2: sentencias; break; case expr3: sentencias; break; default: sentencias; } Control de Flujo (continuación) Sentencias de Ciclos Repiten la ejecución de bloques de sentencias for(expr1 inicio;expr2 test;expr3 incremento) { sentencias; } while(Boolean) { sentencias; } Control de Flujo do { sentencias; } while( Boolean); (continuación) Control de Flujo (continuación) Control General del Flujo Pueden usarse para tener un mayor control sobre la sentencias de ciclos Break: sirve para detener la ejecución tanto de los bucles como del switch. Salta a la siguiente línea de código. Continue: sirve para detener la ejecución del bloque de código de un bloque y volver a evaluar la condición de este. Return: sirve para finalizar la ejecución de un método. Ejemplo - Enunciado Desarrollar un programa que muestre por pantalla los números primos del 1 al 1000 y todos los años bisiestos entre el año 2000 y el año 3000.