Your SlideShare is downloading. ×
Java Ago Dic07
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Java Ago Dic07

2,000
views

Published on

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,000
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
67
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PROGRAMACIÓN II Programación Orientada a Objetos con JAVA M.T. María Luisa Juárez Aguilar [email_address]
  • 2. Evaluación 20 % PROYECTO FINAL 4 3 2 1 10 % PRACTICAS 10 % LABORATORIO 60 % EXÁMENES PARCIALES
  • 3. Observaciones
    • Para poder obtener el Promedio Final el alumno debe cumplir con los cuatro puntos anteriores de la evaluación.
    • Para tener derecho de presentar el proyecto final el alumno debe cumplir con los puntos 1, 2 y 3 de la evaluación y obtener una calificación aprobatoria, de lo contrario, debe presentar su examen extraordinario en la fecha programada por el departamento escolar.
    • La asistencia debe ser del 80% mínimo por parcial.
  • 4. CONTENIDO DEL PROGRAMA
  • 5. Historia de Java
  • 6. Historia de Java
    • Sun anunció formalmente a Java en 1995.
    • Actualmente Java se utiliza para desarrollar aplicaciones empresariales a gran escala, para mejorar la funcionalidad de los servidores de WWW (las computadoras que proporcionan el contenido que vemos en nuestros navegadores Web), para proporcionar aplicaciones para los dispositivos domésticos (teléfonos celulares, radiolocalizadores y asistentes digitales personales) y para muchos otros propósitos.
  • 7. Historia de Java
    • El JDK incluye herramientas para construcción de interfaces gráficas de usuario (GUI, Graphical User Interface ), trabajo en red e implantación de applets, pequeños programas de Java que agregan contenido dinámico a las páginas Web.
    • La independencia de la plataforma es una razón importante del éxito de Java. Sus programas se compilan en códigos de bytes ( bytecodes ) y pueden ejecutarse en cualquier computadora con un intérprete o una máquina virtual de Java (JVM, Java Virtual Machine ), proporcionando un ambiente en tiempo de ejecución para ejecutar programas de Java.
  • 8. Historia de Java
    • Java es un nuevo lenguaje de programación orientado a objetos desarrollado por Sun Microsystems
    • Descrito como: Simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutral, portable, de alto rendimiento, multitarea y dinámico.
  • 9. Características de Java
    • Simple:
      • Elimina la complejidad de los lenguajes como "C", mantiene las facilidades básicas de lenguaje en un mínimo y proporciona un gran número de extras con las librerías de clases.
    • Orientado a objetos:
      • Encapsulacion
      • Herencia
      • Polimorfismo
    • Distribuido:
      • Capacidades de interconexión TCP/IP, además de los protocolos http, ftp.
  • 10. Características de Java
    • Robusto:
      • Busca errores en tiempo de compilación como en ejecución.
      • El sistema de Java maneja la memoria de la computadora por lo que no es necesario reocuparse por apuntadores, memoria que no se esté utilizando, etc.
    • Portable:
    • Como el código compilado de Java (conocido como bytecode) es interpretado, un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el intérprete de Java.
  • 11. Características de Java
    • Seguro:
    • El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora.
    • Arquitectura neutral:
    • Compila su código a un archivo objeto de formato independiente.
  • 12. Características de Java
    • Multitarea:
    • El lenguaje soporta la concurrencia a través de hilos, o sea que puede ejecutar varios procedimientos en paralelo.
    • Dinámico:
    • Java no requiere compilar todas las clases de un programa para que funcione, si se realiza una modificación a una clase, Java se encarga de encontrar cada clase.
  • 13. Otros lenguajes
    • Alto nivel: FORTRAN (FORmula TRANslator), COBOL (COmmon Business Oriented Language), Pascal , ADA , BASIC (Beginner ´s All-Purpose Symbolic Instruction Code, Código de instrucciones simbólicas de uso general para principiantes) .
  • 14. Otros lenguajes
    • ANSI C , evolucionó de otros dos lenguajes, BCPL y B. L enguaje de desarrollo para el S.O. UNIX. En la actualidad todos los nuevos sistemas operativos importantes se escriben en C o C ++.
    • C ++ evolucionó de C, proporciona un conjunto de características que “mejoran” a C pero lo más importante es que proporciona la capacidad de una programación orientada a objetos.
  • 15. Otros lenguajes
    • Visual Basic, se introdujo para simplificar el desarrollo de aplicaciones para Microsoft Windows.
    • Visual Basic.NET, diseñado para la nueva plataforma de programación de Microsoft: .NET ofrece una orientación a objetos mejorada, hace uso de la biblioteca .NET.
    • Visual C ++ es una implementación de Microsoft de C++.
  • 16. Otros lenguajes
    • .NET y C #, la plataforma .NET permite la distribución de aplicaciones basadas en Web a muchos dispositivos (incluso celulares) y computadoras de escritorio. El lenguaje de programación C#, desarrollado en Microsoft, fue diseñado específicamente para la plataforma .NET como un lenguaje que permitiera a los programadores migrar fácilmente a .NET.
  • 17. Internet y World Wide Web
    • Internet (red global de computadoras) desarrollada hace más de cuatro décadas, patrocinada por el Departamento de Defensa de los Estados Unidos.
    • En principio, conectaba los sistemas de cómputo principales de una docena de universidades y organizaciones de investigación, hoy día, es utilizada por cientos de millones de computadoras en todo el mundo.
  • 18. Internet y World Wide Web
    • World Wide Web permite a los usuarios de computadoras localizar y ver documentos basados en multimedia, sobre casi cualquier tema, a través de Internet.
    • Con la introducción de WWW, Internet se ha convertido explosivamente en uno de los principales mecanismos de comunicación en todo el mundo.
    • Internet y WWW se encuentran, entre las creaciones más importantes de la humanidad.
  • 19. Pasos para editar y ejecutar un programa en Java
  • 20. Elementos básicos del lenguaje Java
    • Definición del método main:
      • public static void main ( String args [ ] )
      • {
      • }
      • NOTA: Es obligatorio que los tipos de los parámetros
      • de main y el tipo de resultado sean los mostrados
      • arriba.
  • 21. Tipos de datos
      • Primitivos:
        • byte, short, int, long, float, double, char, boolean
      • Definidos por el usuario
        • Se refiere a los nuevos tipos de objeto, llamados clases
  • 22. True & False Variable booleana boolean Caracter Unicode char 15 d.s. 10^(-324) a 10^308 Punto flotante, 64 bits double 6 dígitos significativos 10^(-46) a (10^38) Punto flotante, 32 bits float -(2^63) a (2^63)-1 Entero 64 bits long -2,147,483,648 a 2,147,483,647 Entero 32 bits int -32,768 a 32767 Entero 16 bits short -128 a 127 Entero 8 bits byte
  • 23. Literales
    • Por default, una constante entera es de tipo int.
    • Por default, una constate con decimales es double.
    • Para cambiar estos default podemos hacer uso de las literales l y f.
    • ejemplos :
    • 123l, se cambia a long
    • 23.8f, se cambia a float
  • 24. Identificadores
    • Se usan para nombrar variables, constantes, métodos, clases, etc.
    • Deben iniciar con letra (a-z, A-Z)
    • Solo pueden contener letras, números, underline (_) y $
    • Pueden ser de cualquier longitud
    • Se hace diferenciación entre mayúsculas y minúsculas
  • 25. Estándares para identificadores
    • Por estándar, se utiliza la primera letra minúscula para nombres de métodos, variables y constantes.
    • Por estándar, se utiliza la primera letra mayúscula para nombres de clases.
    • Si el nombre esta compuesto por más de una palabra se recomienda se utilice mayúscula en la primera letra de cada una de las palabras (p.e. ImpuestoPredial, EmpleadoVentas).
  • 26. Identificadores
    • Ejemplos:
    • Válidos no válidos
    • Empleado 2004ventas
    • x _area
    • gastos2004 tu edad
  • 27. Palabras clave while super new for continue volatile static native float class void short long finally char try return interface final catch throws public int extends case throw protected instanceof else byte this private import double break synchronized package implements do boolean switch null if default abstract
  • 28. Secuencias de escape
      • carácter de nueva línea
      • tabulador horizontal
      • retorno de carro
      • carácter de barra inclinada
      • ’ carácter comilla simple
      • ” carácter de dobles comillas
      • caracter nulo
  • 29. Comentarios
      • /* Heredado de C */
      • // Heredado de C++
  • 30. Constantes
    • Son valores que no cambian mientras el programa está ejecutando.
    • Ejemplos:
    • e
    • pi
    • velocidad de la luz
    • aceleración debido a la gravedad
  • 31. Constantes (cont.)
      • Enteras: Se representan en notación decimal, octal o hexadecimal
        • Para octales: prefijo 0
        • Para Hexadecimales: prefijo 0x
      • Tipo carácter: Se encierran entre dos comillas simples (por ejemplo, ‘x’)
      • Tipo cadena: Se encierran entre dobles comillas (por ejemplo, “cadena”)
  • 32. Constantes (cont.)
    • Un enfoque es escribir los valores directamente en el programa.
    • Ejemplos:
    • area = 3.1416 * r * r ;
    • energia = masa * altura * 9.8f;
  • 33. Constantes (cont.)
    • Otro enfoque es declarar tales números como variables que tienen un valor constante y asignarles un nombre.
    • final tipo_dato constante = valor;
    • Ejemplo:
    • final float g = 9.8f;
    • … .
    • energia = masa * altura * 9.8f;
  • 34. Variables
    • ¿Qué es?
    • Es un espacio en memoria que nos sirve para almacenar información.
    • El tamaño de este espacio de memoria varía dependiendo de la información que se desea guardar, esto es, depende del tipo de dato con que se declare la variable.
    • El nombre con que se referencia una variable sigue la regla para identificadores.
    • Ver página 45
  • 35. Declaración de variables
    • Tipo_dato lista_de_variables;
    • Donde lista_de_variables puede ser el nombre de una variable o una lista de variables separadas por comas.
    • No se permite el uso de palabras reservadas ni reutilizar nombres de identificadores.
    • Java es sensible a mayúsculas
  • 36. Declaración de variables (cont.)
    • Ejemplos:
        • int num3;
        • int x = 0, num2 = 5;
        • int num1 = num2;
  • 37. Operadores aritméticos
    • Aritm é ticos
      • + suma
      • - resta
      • * multiplicación
      • / división
      • % residuo de la división
      • ++ incremento en uno
      • -- decremento en uno
      • / para datos enteros, regresa la parte entera del resultado
      • Ver página 46
  • 38. Operadores aritméticos(cont.)
    • Ejemplos:
    • 7 / 3 regresa 2
    • int x = 7/3; asigna a x un 2
    • double y = 7/3; asigna a y un 2.0
    • double y = 7/3.0; asigna a y un 2.333
  • 39. Operadores relacionales y de igualdad
    • Relacionales:
    • < x > y x es mayor que y
    • > x < y x es menor que y
    • <= x <= y x es menor o igual que y
    • >= x >= y x es mayor o igual que y
    • De igualdad:
    • == x == y x es igual a y
    • != x != y x no es igual a y
  • 40. Operadores lógicos(cont.)
    • && AND condicional
    • || OR condicional
    • ! NOT lógico o negación lógica
    • Ver página 167
  • 41. Operadores de asignación
      • Común: =
      • Compuestos: +=, -=, *=, /=
      • Expresión equivale a expresión
      • c += a c = c + a
        • Modifican el valor de la variable situada en el lado izquierdo del operador.
  • 42. Prioridad de los operadores
    • Nivel operador asociatividad
    • 1 !,--, ++,- (negativo), + (positivo) de derecha a izquierda
    • *, /, % de izquierda a derecha
    • +, - de izquierda a derecha
    • <, <=, >, >= de izquierda a derecha
    • ==, != de izquierda a derecha
    • && de izquierda a derecha
    • || de izquierda a derecha
    • =, +=, -=,*=, /=, %= de derecha a izquierda
  • 43. Expresiones
    • int a = 5; a = 5
    • b = 8 + a++; b = (8 + 5) = 13, a = 6
    • c = 8 + ++a; c = (8 + 7) = 15, a = 7
    • Ver p ágina 46
  • 44. Expresiones (ejercicios)
    • Para las variables int a = 5, p = 6 y q = 3 y las variables double b, y r, evaluar las siguientes expresiones:
      • r = 5 – 3 * 9 / 2 + ++p;
      • b = 5 / 2 + --a;
      • r = q++ -p - +2;
  • 45. Conversiones de tipo (casting)
    • Es un proceso que convierte un tipo de dato a otro tipo de dato.
    • Tipos de casting:
      • Implícito.
      • Explícito.
  • 46. Conversiones de tipo (cont.)
    • Casting implícito:
    • Se realiza de forma automática cuando un tipo de menor capacidad se asigna a un tipo de mayor capacidad, también llamado promoción numérica.
    • byte - > short -> int -> long -> float -> double
    • ejemplo:
    • double n;
    • int x = 7; n = 2.0
    • n = x / 3;
  • 47. Conversiones de tipo (cont.)
    • Casting explícito:
    • Es necesario utilizar un operador de tipo cast.
    • Ejemplo:
    • double n;
    • int a = 7;
    • n = (double) a / 3; n = 2.333
  • 48. Conversiones de tipo (cont.)
        • int x = 6, y = 10;
        • double cociente;
        • Como solución se usaría la siguiente conversión de tipo:
        • cociente = (double) x / y;
  • 49. Ejercicios
    • ¿Cuál de las siguientes formas es la forma correcta de realizar el casting y por qué?
    • a) b)
    • int n; int n;
    • double x = 2.1; double x = 2.1;
    • n = x; n = (int) x;
  • 50. Funciones básicas (predefinidas)
    • La clase Math proporciona una colección de métodos que le permitirán realizar cálculos matemáticos comunes.
    • Para usar cualquiera de las funciones o constantes, la forma general de uso es la siguiente:
    • variable = Math.función( parámetros); variable = Math.constante;
    • O usarse como argumento, como parte de una expresión,etc.
  • 51. Funciones básicas (predefinidas, cont.)
    • Ejemplos:
    • y = Math.sqrt( x ) * x;
    • y = Math.PI * Math.pow( radio, 2 );
    • calcula( Math.round(y) , 20, valor);
  • 52. Funciones básicas (predefinidas)
    • abs( x ) pow( x, y )
    • ceil( x ) sin( x )
    • cos( x ) sqrt( x )
    • exp( x ) tan( x )
    • floor( x )
    • log( x )
    • max( x, y )
    • min( x, y ) ver página 191
  • 53. Funciones básicas predefinidas (cont.)
    • Ejercicios:
    • Para variables int i = 4 y j = 2, evalúa las siguientes funciones predefinidas:
    • abs( i – 2 * j )
    • sqrt( i * i + j * j )
    • pow( i, j )
  • 54. Entrada y salida estándar
    • Para leer y escribir de/en la consola se utiliza la clase System .
    • System.in : permite introducir datos del teclado.
    • System.out : permite enviar datos a la pantalla
  • 55. Escritura
    • Print escribe y no brinca de l í nea
    • Println escribe y brinca de línea
    • Nota : todo lo que se escribe se debe convertir a String
  • 56. Primer programa ejemplo
    • // Programa para imprimir texto en la pantalla
    • public class Bienvenido1
    • {
    • public static void main ( String args [] )
    • {
    • System.out.println ( “ Bienvenido a la programación en Java! ” );
    • } //fin de main
    • } //fin de la class Bienvenido1
  • 57. Outline
    • Welcome4.java
    • main
    • printf
    • Program output
    System.out.print despliega datos formateados en pantalla.
  • 58. Lectura estándar
      • Se leen datos desde el teclado.
      • Utilice el compilador jdk1.5.0_04
      • Ver el siguiente ejemplo
  • 59. Lectura est ándar
    • Otra forma de dar entrada a datos desde el teclado es la siguiente:
    • Use la clase BufferedReader y el método readLine() como se muestra a continuación:
    • Private BufferedReader teclado;
    • Teclado = new BufferedReader (new InputStreamReader(System.in,1);
    • Nota : el 1 indica el tamaño del buffer (puede omitirse).
  • 60. Lectura estándar
    • Para leer la línea de datos, se utiliza:
    • String cadena = teclado.readLine();
  • 61. import java.io.*; //importa el paquete java.io public class nombre { public static void main(String args[]) throws IOException //excepciones que lanza el método { private BufferedReader teclado; String nombre; //declara una variable cadena //se crea la conexión con el teclado teclado = new BufferedReader(new InputStreamReader(System.in),1); System.out.println( &quot;Cual es tu nombre?&quot;); nombre = teclado.readLine(); System.out.print(&quot;Felicidades &quot;); System.out.print(nombre); System.out.println(&quot; ! se leyo tu nombre del teclado&quot;); System.out.println(&quot;Bye&quot;); } }
  • 62. import java.io.*; //importa el paquete java.io public class Cuadrado { public static void main(String args[]) throws IOException //excepciones que lanza el método { private BufferedReader teclado; String nombre, dato; //declara una variable cadena float numero; //se crea la conexión con el teclado teclado = new BufferedReader(new InputStreamReader(System.in)); System.out.println( &quot;Cual es tu nombre?&quot;); nombre = teclado.readLine(); System.out.println( “Dame un numero real (con punto decimal)&quot;); dato = teclado.readLine(); //convertir el string a numero numero = Float.parseFloat(dato);
  • 63. // se despliegan resultados System.out.print(“El cuadrado del numero que &quot;); System.out.print(nombre); System.out.println(&quot; tecleo es: “ + (numero * numero)); System.out.println(&quot;Bye&quot;); } }
  • 64. Instrucciones condicionales
  • 65. Instrucción if - else
    • Estatuto if :
      • if (condición)
      • instrucción uno;
      • else
      • instrucción dos;
      • Nota : las instrucciones uno o dos pueden ser compuestas, en la forma { inst 1; … inst n ; }
  • 66. if simple
    • También puede omitirse la parte else:
    • if (condición)
    • instrucción;
  • 67. Operadores relacionales y de igualdad
  • 68. Outline
    • Comparison.java
    • (1 of 2)
    • 1. Class Comparison 1.1 main 1.2 Declarations 1.3 Input data ( nextInt ) 1.4 Compare two inputs using if statements
    Al evaluarse la igualdad, despliega el resultado usando printf. Compara dos n ú meros usando operador relacional <.
  • 69. Outline
    • Comparison.java
    • (2 of 2)
    • Program output
    Compara dos números usando operadores relacionales >, <= y >=.
  • 70. Errores comunes de programación
    • Olvidar el paréntesis derecho/izquierdo en la condición del estatuto if.
    • Confundir el operador de igualdad == con el operador de asignación =.
    • Contener espacios en los operadores relacionales ==, !=, >= y <= entre sus símbolos = =, ! =, > = y < =, respectivamente.
  • 71. Errores comunes de programación
    • Colocar al revés los operadores !=, >= y <=, =!, => y =<.
    • Colocar un punto y coma inmediatamente después del paréntesis derecho de la condición del estatuto if.
    • Nota: todos estos son errores de compilación.
  • 72. Instrucción switch
    • switch (expresion)
    • { case constante 1 : sentencia 1 ;
    • case constante 2 : sentencia 2 ;
    • case constante n : sentencia n ;
    • default : sentencia;
    • }
  • 73. Instrucción switch (cont.)
    • switch (calif)
    • { case 0:
    • case 1:
    • case 2:
    • case 3:
    • case 4:
    • case 5:
    • case 6: System.out.println(“REPROBADO”); break;
    • case 7:
    • case 8: System.out.println(“ALUMNO REGULAR”); break;
    • case 9:
    • case 10: System.out.println(“ALUMNO EXCELENTE”); break;
    • default: System.out.println(“CALIFICACION INVALIDA”); break;
    • }
  • 74. Notas generales
    • La condici ón de un if debe estar dentro de paréntesis.
    • Si el if o el else tienen varias sentencias, estos deben estar entre llaves {}.
    • Todas las sentencias dentro del if o dentro del else deben ser seguidos por un punto y coma.
    • La expresión a evaluar dentro de un switch debe de ser int , char , short o byte .
    • Es importante no olvidar la instrucción break en cada caso a trabajar dentro del switch .
  • 75. Instrucciones repetitivas ( ciclos )
  • 76. Tipos de ciclos
            • while
            • for
            • do-while
  • 77. Ciclo while
        • while ( condición )
        • instrucción;
        • El cuerpo del ciclo while puede ser compuesto y para ello debe utilizar las llaves { inst 1 ; …; inst 2; }
        • Ver ejemplo:
  • 78. Ciclo for
        • for (inicialización; condicion; actualización)
        • instrucción;
        • Donde instrucción puede ser más de una instrucción encerradas entre llaves {}.