Post on 11-Jul-2015
Introduccion
Lenguaje de Programación IIJavaIng.Sally Torres
•Introducción al cursoIntroducción al curso•SumillaSumilla•ObjetivosObjetivos•contenido de sesionescontenido de sesiones•BibliografiaBibliografia
AGENDAAGENDA
Esta asignatura de formación profesional especializada se orienta a la programación en entornos visuales con el paradigma orientado objetos. Tiene el propósito de estudiar y aplicar la Programación Orientada a objetos usando el lenguaje Java: conceptos, estructuras y técnicas de la programación orientada a objetos.
SumillaSumilla
3.1. GENERALESLograr que el alumno adquiera conocimientos sobre las características de la programación orientada a objetos y además aprenda las características del lenguaje java como parte de la implementación de los conceptos esbozados en el curso.3.2. ESPECÍFICOSDiferenciar las técnicas de programación estructurada y programación orientada a objetos.Brindar los conocimientos para la programación interactiva con interfaces gráficas.Estudiar la programación guiada por eventos.Introducir el concepto de usabilidad y del diseño de interfases gráficas de usuario.
ObjetivosObjetivos
Unidades TemáticasUnidades Temáticas
PRIMERA UNIDAD: Programación Orientada a Objetos
Sem. Contenidos Actividades
1
Evolución de las técnicas de programaciónParadigma de la Programación EstructuradaParadigma de la Programación Orientada a ObjetosDiferencias entre programación estructurada y POO.Ventajas y desventajas de la POODefinición de lenguaje JavaCcaracterísticas y ventajasDefinición de Maquina Virtual JavaEntornos de desarrollo (IDE) de Java
Exposición en clase, desarrollo en laboratorio
SEGUNDA UNIDAD: Implementación de Clases Y Objetos
Sem Contenidos Actividades
2 Definición de clase y objetoEstructura de un programa en javaDefinición de referencia
Exposición en clase, desarrollo en laboratorioPractica
3 Definición de mensaje, partes de un mensaje y tipos de mensajes.Constructores y paso de argumentos a métodos.
Exposición en clase, desarrollo en laboratorioPractica
Unidades TemáticasUnidades TemáticasTERCERA UNIDAD: Herencia
Sem Contenidos Actividades
4 Arrays como objetos de clases predefinidasInicialización de arraysCreación de una referencia a un arrayTipos de arrays
Exposición en clase, desarrollo en laboratorioPractica
5 Concepto de herenciaRedefinición de métodos heredadosTipos de acceso de los atributosReutilización de código
Exposición en clase, desarrollo en laboratorioPractica
6 Concepto de interface.Declaración y uso de interfacesReferencias a interfacesImplementación de los métodos de las interfaces
Exposición en clase, desarrollo en laboratorioPractica
CUARTA UNIDAD: Polimorfismo
Sem Contenidos Actividades
7 Definición y tipos de polimorfismo Ligadura dinámica y estáticaUso del polimorfismo
Exposición en clase, desarrollo en laboratorioPractica
8 EXAMEN PARCIAL
Unidades TemáticasUnidades Temáticas
QUINTA UNIDAD: Clases Abstractas
Sem Contenidos Actividades
9 Concepto de clases abstractasDeclaración e implementación de métodos abstractos.Referencias abstractas, utilidad de las clases abstractas.Diferencia entre una interface y una clase abstract
Exposición en clase, desarrollo en laboratorioPractica
SEXTA UNIDAD: Programación visual y orientada a objetos
Sem Contenidos Actividades
10 Introducción al paradigma de la programación visual.Desarrollo de GUI bajo el modelo de la POO Tipos de componentes swing, sus propiedades y métodos
Exposición en clase, desarrollo en laboratorioPractica
11 El paradigma de la programación por eventosConcepto de eventos y diferencia con la programación secuencial.Modelo de eventos e implementación de manejadores de eventos en java
Exposición en clase, desarrollo en laboratorioPractica
Unidades TemáticasUnidades Temáticas
SEXTA UNIDAD: Gestión de errores y manejo de archivos
Sem Contenidos Actividades
12 Concepto de excepcionesLas excepciones como parte de la interfaz de un objeto.Manejo de excepciones con un modelo de objetos.Clasificación de las excepciones y su implementación en java.
Exposición en clase, desarrollo en laboratorioPractica
13 Definición de archivosTipos de archivosImplementación de archivos
Exposición en clase, desarrollo en laboratorioPractica
SEPTIMA UNIDAD: Genericidad
Sem Contenidos Actividades
14 Concepto de clases genéricasHilos , Características de la especificación de clases genéricas, su importancia, utilidad e implementación en java
Exposición en clase, desarrollo en laboratorioPractica
Unidades TemáticasUnidades Temáticas
OCTAVA UNIDAD: Persistencia
Sem Contenidos Actividades
15 Definición de persistencia y requisitos mínimosInstancia persistente y transitoria.Su importancia en las aplicaciones, en el guardado y recuperación de datos.Implementación de la persistencia en java(serialización)
Exposición en clase, desarrollo en laboratorioPractica
NOVENA UNIDAD: Applets
Sem
Contenidos Actividades
16 Concepto de appletDiferencia entre un applet y una aplicación javaSu implementación en java e inserción en una pagina web
Exposición en clase, desarrollo en laboratorioPractica
17 Examen final
Las clases se desarrollaran en laboratorio con exposición de los temas del curso, así mismo se implementaran programas en java para probar los conceptos vertidos en el curso.
MaterialExposición en clase, uso del software NetBeans bajo licencia GPL. Uso de proyector multimedia para el código desarrollado en clase.
EvaluaciónEvaluación
P.F = [ Σ (Practicas + Trabajos + Intervención Oral ) / n + Examen Parcial + Examen Final ] / 3
MetodologíaMetodología
•. Francisco Javier Ceballos, (2000), Java 2 Curso de programación, 2da edición. Edit. Alfaomega.•Deitel, Harvey M. Deitel, Paul J., Como programar en Java, 2da. edición. Editorial Prentice Hall.•Vásquez Paragulla, Victor Balta Alva. Super Java 2.•Joel Carrasco Muñoz. Programación Java 2 con J2SE 1.4. •Javier García de Jalón, José Ignacio Rodríguez, Lñigo Mingo, Aitor Imaz, Alfonso Brazales, Alberto Larzabal, Jesús Calleja, Jon García, (2000), Aprenda Java como si fuera primero, Escuela Superior de Ingenieros, Universidad de Navarra,
BibliografiaBibliografia
•http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/Java/Java2.pdf•Gustavo Guillermo Pérez, Aprendiendo Java y Programación Orientada a Objetos, http://www.compunauta.com/forums/linux/programacion/java/AprendiendoJava.pdf
BibliografiaBibliografia
¿Qué es java?
❚ Lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems.
❚ Lenguaje de propósito general, desarrollo de aplicaciones para internet.
❚ Conjunto de Librerías y clases estandarizadas.
ventajas
❚ La diferencia fundamental de Java con respecto a los demás lenguajes de programación consiste en que Java está diseñado para facilitar el trabajo en la red.
❚ La gran ventaja de Java es que ha sido diseñado como Orientado a Objetos.
Características del Java
Simple y poderoso
Seguro Robusto
Interactivo
Recojode basura
Características del Java
❚ Simple y poderoso.- conceptos básicos de POO, paradigma de simplicidad, permite llegar a un nivel lo suficientemente bajo, como para realizar cualquier cosa
❚ Seguro.-Se ejerce un control sobre los programas ejecutables de java.
❚ Robusto.-Verifica el código mientras se escribe y una vez mas antes de ejecutarlo, permite que el programa se comporte de una manera predecible.
❚ Interactivo.-Java tiene características que permiten escribir programas que hacen muchas cosas al instante
Características del JavaEntorno rico Arquitectura neutral
Optimo para InternetInterpretado y de alto rendimiento(opcionalmente compilado)
OS/2MacintoshWindows95Windows NTSolarisHP/UXOSFLinix
W W W
Arquitectura neutral de Java
(*.java) igual para cada plataforma
uno para cada plataforma(*.class) El mismo para cada plataforma
uno para cada plataforma
Codigo Fuente
Compilador
Java Byte code
Interprete
Windows
95/98
Windows NT
Mac OS Solaris Unix
Entorno de uso de javaBeans
Inicio de Trabajo
❚ Se deberá crear una carpeta en algun lugar del disco.
❚ Ejemplo f:/clase1❚ Montar el sistema de archivos y seleccionar la
carpeta creada❚ Luego se podra crear Clases o Applets
Netbeans
Es un ambiente visual integrado que soporta el ciclo completo de desarrollo de programas java
características:❚ Es 100% compatible con Java.❚ Presenta un ambiente gráfico de dasarrollo
integrado.❚ Maneja multiples proyectos, administra archivos
y controla versiones.❚ Permite conexión con servidores corporativos.
Facilidades para compilación, pruebas y control de versiones
Ofrece compilación dinámica e incremental:
cada vez que hay una modificación, solo se compila el elemento actualizado.
Puede actualizarse código mientras este mismo este corriendo.
Puede colocarse versiones a proyectos, paquetes y clases.
Con estas ventanas “”scrapbook” y con la ventana de consola, se tiene un microambiente para pruebas rápidas y verificaciones pequeñas
Paquetes las librerías de clases
❚ Es un medio de encapsulamiento de mayor nivel que las clases, que puede contener clases, interfaces y también otros paquetes.
❚ Los paquetes se usan también como un mecanismo para evitar conflictos entre nombres. Se puede tener dos clases con el mismo nombre pero en diferentes paquetes.
Paquetes las librerias de clases
❚ El API de java es un grupo de paquetes.❚ Fíicamente un paquete representa un directorio.
Paquetes mas importantes:❙ Java.applet Desarrollo de applets.❙ Java.awt Librerias de clases para manejo de GUIs.❙ Java.io manejo de ingreso y salida❙ java.lang Conjunto fundamental de clases.❙ Java.net soporte para el trabajo en redes.❙ Java.swing soporte para GUI.
Facilidades Brindadas por Java
❚ Permite convertir un Web site estático en dinámico e interactivo.
❚ Oportunidad de transformar la web en una plataforma de computo.
❚ Brinda grandes facilidades para el manejo de animaciones y control de imágenes de audio.
❚ Permite incrementar las capacidades de las aplicaciones no solo del lado del cliente sino también del lado de servidor.
Malentendidos de Java
❚ Java es una extensión de HTML.❚ Java se convertirá en un LP para todas las
plataformas.❚ Todos los programas de java se ejecutan en
una pagina Web.❚ JavaScript es una versión simple de java.
Variables
❚ Una variable es un nombre que contiene un valor que puede cambiar a lo largo del programa.
❚ De acuerdo al tipo de información, dos tipos:❙ Variables de tipos primitivos. Estan definidas mediante el valor
unico.❙ Variables de referencia.Son referencias a nombres de una
información mas compleja.
❚ Desde el punto de vista de su papel en el programa:❙ variable miembro de una clase:se definen en una clase o fuera
de cualquier método. Pueden ser primitivos o de referencia.❘ Variables locales se definen dentro de un método mas en general
dentro de cualquier bloque entre llaves. Se destruyen al finalizar dicho bloque.
Nombre de Variables❚ Pueden ser cualquier conjunto de caracteres
alfanuméricos, sin caracteres especiales (, . + - * / )❚ Existen algunas palabras reservadas, las cuales tiene
un significado especial en Java y no pueden ser usadas como variables.
Abstract, boolen, break, case, char, class, continue, default, do, double, else, extends, final, float, for, if implements, import, int, private, public, return, private, static, switch, synchronized, while,etc
Tipos de Datos Primitivos
❚ Java, es un lenguaje de programación con tipos y clases estrictas. Esto significa que cada campo y expresión tiene un tipo o una clase y sólo aquellos del mismo tipo o clase son compatibles. En otras palabras, no podemos mezclar cadenas y números, ni podemos mezclar árboles y pájaros.
Tipos Primitivos
Java tiene ocho tipos predefinidos conocidos como tipos primitivos.
❚ Tipos numéricos❙ tipos enteros
❘ byte, enteros 8-bits con signo complemento a 2,❘ short, enteros 16-bits con signo complemento a
2❘ int, enteros 32-bits con signo complemento a 2❘ long, enteros 64-bits con signo complemento a 2
Tipos Primitivos
❙ Tipos en coma flotante:❘ float, real en coma flotante, 32-bits IEEE 754❘ double, real en coma flotante, 64-bits IEEE 754
❙ Tipos no numéricos❘ char, carácter 16-bits Unicode❘ boolean, tipo lógico, cuyos valores son true
(cierto) y false (falso)
Operadores
❚ Igualdad y desigualdad: ==, !=❚ Comparación: <, <=, >, >=❚ Suma y resta unarios: +, -❚ Suma, multiplicación, división y módulo: +, -, *, /, %❚ Incremento y decremento prefijos y posfijos: ++ , --❚ Desplazamiento con signo y sin signo: <<, >>, >>>❚ Negación lógica unaria de bits: ~❚ Lógica de bits: &, |, ^❚ Lógica booleana: &&, ||
Expresiones
❚ El operador de división / funciona en: entero y real. Si los dos valores son enteros, ejecuta la división entera; si no, ejecuta la división real. Por ejemplo, el resultado de 1/2 es 0, mientras que el de 1.0/2 es 0.5.
❚ El operador % se llama módulo y encuentra el resto de la división entera.
Expresiones
❚ En Java, se aplican las reglas de precedencia normales. Los grupos de precedencia para los operadores aritméticos son:❙ Grupo 0: ( )❙ Grupo 1: ++, --, + (unario), - (unario)❙ Grupo 2: *, /, %❙ Grupo 3: +, -, + (concatenación)
Expresiones
❚ Las funciones matemáticas principales se encuentran en el paquete (package) Math, que es una clase predefinida del lenguaje que contiene los métodos adecuados para realizar operaciones trigonométricas, de exponenciación y otras operaciones.
❚ Seno x => Math.sin(x)❚ x2 => Math.pow(x,2)❚ Math.round(6.6) => 7
Asignación
❚ Una vez declarada una variable, podemos usar una asignación para darle el valor de una expresión. La instrucción de asignación tiene la forma:variable = expresión;
❚ Ejemplo:❚ pesoAntiguo = 65;❚ pesoNuevo = pesoAntiguo - 5;
Asignación
❚ Utilización de operadores:❙ var1 = var2+var3; //asignar a var1 el valor de var2+var3
❙ var1 = var2-ver3; //asignar a var1 el valor de var2 - var3
❙ var1 = var2*ver3; //asignar a var1 el valor de var2 * var3
❙ var1 = var2/ ver3; // asignar a var1 el valor de var2 / var3
❙ var1=var2%ver3; //asignar a var1 el valor de var2%var3
Asignación
❚ Asignaciones de incremento decremento:❙ variable++; // añadir uno a variable❙ variable--; // restar uno a variable❙ variable += exp; // añadir exp a variable❙ variable -= exp; // restar exp a variable
Declaración de variables
❚ Podemos definir una o más variables de distintos tipos. Se puede inicializar una variable al mismo tiempo que se declara, especificando un valor inicial, o bien podemos optar por que el intérprete le asigne un valor por defecto (inicialización por omisión). Para los tipos numéricos, el valor por omisión es cero.❙ tipo nombre;❙ tipo nombre1, nombre2, nombre3;❙ tipo nombre = valor;
Declaración de variables
Ejemplos de declaración de variables son:int entero;
int entero1, entero2, entero3;
int entero = 6;
double doble;
double doble1, doble2, doble3;
double doble = 6.5;
Declaración de constantes
static final tipo nombre = valor;
Ejemplo de declaraciones de constantes son:
static final int limiteVelocidad = 120;
static final double pi = 3.1416;
Conversiones entre tipos
❚ Las conversiones de tipo se pueden hacer de la siguiente forma:
❘ -Redondear un número double a long usando Math.round
❚ Asignar una variable a otra variable de distinto tipo siempre y cuando el tipo receptor sea de mayor tamaño, lo que significa que podemos asignar:byte => short => int => long => float => double
Conversiones entre tipos
Si pasamos de un tipo a otro menor en tamaño, por ejemplo, pasar de double a float, tenemos que hacer una conversión explícita de tipos de la forma:
(tipo)expresion
Por ejemplo:float kilogramos;
double calculo;
kilogramos = (float)(calculo*1.2);
int entero = (int)6.5;
Conversiones entre tipos
❚ La conversión de tipos se permite sólo entre tipos numéricos.
❚ No hay ningún recurso en Java para convertir caracteres y booleanos a numéricos y viceversa.
Ejemplo N 1salida
class HolaMundo {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Lenguaje java
class MuestraTextoConstante {
public static void main (String args[]) {
System.out.println ("yo aprobaré");
}
}
Nombre de la clase
Método o función miembro.main es donde empieza la ejecución. Siempre debe ser parte de una clase.
Encapsula la funcionalidad del sistema.
Varaible estática miembro de la clase System
Método del objeto out.Igual que la función printf () de C con el añadido de un cambio de línea (\n) al final.
Indica que el método podrá ser llamado desde cualquier lugar, dentro o fuera de la clase.
Indica que el método no manipula instancias de la clase, por lo que podrá invocarse sin tener que referirse a una instancia en particular.
Indica ningún tipo de dato. El método no retornará valor.
Arreglo de objetos tipo cadena (String) pasados a la clase en tiempo de ejecución
Ejemplo N 2Implementación de un applet
import java.applet.*;
import java.awt.*;
public class HolaMundo extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}
Ejemplo N 3Modificar código de programa y ejecución
import java.applet.*;
import java.awt.*;
public class Primero extends Applet {
Font font = new Font (“Dialog”, Font, BOLD, 24);
String str = “Mi primer applet”;
int xPos =5;
}
Ejemplo N 4Modificar código de programa y ejecución
public static void main(java.lang.String[] args) {
System.out.println(Math.sqrt(1999));
System.out.println(Math.atan(0.75));
}
adicionar el código:
double r=Math.random();
System.out.println(r);
r=Math.random();
System.out.println(r);
System.out.println(Math.random());