Programación en Java (y II)

2,469 views
2,339 views

Published on

Presentación en diapositivas (PRE08)

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,469
On SlideShare
0
From Embeds
0
Number of Embeds
977
Actions
Shares
0
Downloads
34
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Programación en Java (y II)

  1. 1. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Programación en Java (II) Presentación en diapositivas (PRE08)
  2. 2. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Diferencias entre C++ y Java Aunque Java se basa en C++ ... ● Intenta mejorarlo en muchos aspectos ● Elimina la “no orientación a objetos” Entrada/salida ● Java está pensado para trabajar de forma gráfica ● La entrada/salida en modo texto se gestiona de manera básica ● Gestión de entrada/salida con la clase System (librería java.lang)
  3. 3. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Entrada/salida Destacan 3 objetos (clase System): ● System.in. Entrada estándar (normalmente el teclado) ● System.out. Salida estándar (normalmente la pantalla) ● System.err. Mensajes de error (normalmente la pantalla) Métodos básicos de los anteriores objetos: ● System.in.read(). Lee un carácter y lo devuelve como entero ● System.out.print(var). Imprime una variable de un tipo primitivo ● System.out.println(var). Como el anterior junto a un salto de línea
  4. 4. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Entrada/salida La salida de datos es bastante natural... pero la entrada NO lo es Ejemplo (salida): int unEntero = 3; System.out.println (“El número entero es ” + unEntero); Gráficamente: System.out System.out.println(); (int) Consola Ejemplo (entrada): InputStreamReader unIsr = new InputStreamReader (System.in); BufferedReader unBr = new BufferedReader (unIsr); String unString; unString = unBr.readLine(); Gráficamente: BufferedReader InputStreamReader System.in unBr.readLine(); (String) (int) (byte) Teclado
  5. 5. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 El preprocesador Java no tiene preprocesador. Se eliminan las instrucciones: ● defines. En Java, las constantes se declaran como variables final. ● include. En Java, las librerías (paquetes) se incluyen con import.
  6. 6. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 La declaración de variables y constantes VARIABLES La declaración ES IGUAL en Java que en C++ CONSTANTES La declaración CAMBIA de la siguiente forma: ● Antecede a la declaración la palabra reservada final ● No es necesario asignar un valor en el momento de la declaración ● Una vez asignado un valor, ya no puede ser modificado Ejemplo: final int i; // declaramos la constante i sin asignar ningún valor int j = 5; … i = j + 1; // en este momento asignamos un valor a i, por tanto ya no se podrá modificar
  7. 7. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Los tipos de datos (I) 2 tipos: ● Tipos de datos primitivos. Contiene el valor Ejemplo: int unInt; Gráficamente: unInt (int) ● Tipos de datos referencias. Contiene la dirección de memoria Ejemplo: int[] unArrayDeInt; Gráficamente: unArrayDeInt null (al reservar memoria se apuntará a valores int)
  8. 8. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Los tipos de datos (II) Tipos primitivos: ● byte ● short ● int El tamaño es el mismo, no importa la plataforma ● long No existe el especificador unsigned ● float ● double ● char Utiliza Unicode (16 bits). 0-127 igual que ASCII ● boolean Si no se inicializa una variable, Java lo hace automáticamente.
  9. 9. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Los tipos de datos (III) Tipos referencia: ● Vectores ● Clases Puede asimilarse a los punteros de otros lenguajes, ● Interfaces pero para acceder basta con utilizar su nombre Se han eliminado: ● struct Se pueden implementar con class ● union ● enum Se puede emular con final ● typedef
  10. 10. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Los tipos de datos (y IV) CASTING Sólo se permiten coerciones automáticas seguras: Ejemplo: int a float float a int (se debería indicar explícitamente) VECTORES ● Se tratan como objetos reales ● Genera un error (excepción) cuando se superan los límites ● Dispone de un miembro length que indica su longitud CADENAS DE CARACTERES Java dispone de los tipos String (estático) y StringBuffer (dinámico).
  11. 11. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 La gestión de variables dinámicas USO DE PUNTEROS EN C/C++ EN JAVA NO SON NECESARIOS cadenas y vectores Proporciona objetos de ambos casos paso de parámetros por variable Utiliza referencias TRABAJO PUNTEROS EN C++ LAS OPERACIONES SE REALIZAN Con su dirección (puntero) referencia es diferente a puntero Con su contenido (*puntero) puntero=contenido, nuevo=new, asignación<>duplicación LIBERAR MEMORIA EN C++ LIBERAR MEMORIA EN JAVA delete se realiza automáticamente con: recolector de basura (garbage collector) basta con asignar la referencia a null
  12. 12. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Las funciones y el paso de parámetros En Java... sólo se permite programación orientada a objetos: funciones independientes (se incluirán dentro de las clases) funciones globales En Java... todos los parámetros se pasan por valor: ● Datos primitivos. Recibe una copia del valor original, no modificable ● Datos referencia. Recibe una copia del valor original, modificable NOTA: Si se desea modificar los parámetros, se debe incluir como variables miembro de la clase y pasar la referencia como argumento
  13. 13. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Programación en Java (II) Presentación en diapositivas (PRE08) Esta obra de Cristian Jorge Garcia Marcos está bajo una licencia Reconocimiento-Compartir bajo la misma licencia 3.0 España de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/3.0/es/ o envíe una carta a Creative Commons, 171 SecondStreet, Suite 300, San Francisco, California 94105, USA Basado en el documento: López, J. A. P., Xirgo, L. R. (2008, February 18). Introducción al desarrollo de software. Retrieved February 25, 2010, from UOCOpenCourseWare Web site: http://ocw.uoc.edu/informatica- tecnologia-y-multimedia/introduccion-al-desarrollo-de-software, publicado bajo una licencia GNU Free Document License.

×