SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Desarrollo de Funciones en el Sistema Informático
                                                    Curso 2009/2010




Programación en Java (II)
  Presentación en diapositivas (PRE08)
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)
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
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
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.
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
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)
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.
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
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).
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
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
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.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Java
JavaJava
Java
 
Intro Java
Intro JavaIntro Java
Intro Java
 
Curso Java Inacap
Curso Java InacapCurso Java Inacap
Curso Java Inacap
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
62016561 java
62016561 java62016561 java
62016561 java
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAva
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Introduccion java
Introduccion javaIntroduccion java
Introduccion java
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos Basicos
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Java
 
Concurrencia en Java
Concurrencia en JavaConcurrencia en Java
Concurrencia en Java
 
Clase n°1 java
Clase n°1 javaClase n°1 java
Clase n°1 java
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicos
 
Introduccion al lenguaje java
Introduccion al lenguaje javaIntroduccion al lenguaje java
Introduccion al lenguaje java
 
Grupo1
Grupo1Grupo1
Grupo1
 
Apendice general 4 terminos de programador
Apendice general 4 terminos de programadorApendice general 4 terminos de programador
Apendice general 4 terminos de programador
 
Introduccion a Java
Introduccion a JavaIntroduccion a Java
Introduccion a Java
 
Sintaxis Java
Sintaxis JavaSintaxis Java
Sintaxis Java
 

Similar a Programación en Java (y II)

Entrada y salida de datos en java
Entrada y salida de datos en javaEntrada y salida de datos en java
Entrada y salida de datos en javamariasuarezsalazar
 
Java Ago Dic07
Java Ago Dic07Java Ago Dic07
Java Ago Dic07adrianpro
 
Presentacion carlos
Presentacion carlosPresentacion carlos
Presentacion carlosKarlytozdj
 
Java Sobrecarga y Recursividad
Java Sobrecarga y RecursividadJava Sobrecarga y Recursividad
Java Sobrecarga y Recursividadpbcanessa
 
Curso Java Resumen - Curso 2005-2006
Curso Java Resumen - Curso 2005-2006Curso Java Resumen - Curso 2005-2006
Curso Java Resumen - Curso 2005-2006Samuel Marrero
 
INTRODUCCION A LOS LENGUAJES DE PROGRAMACION
INTRODUCCION A LOS LENGUAJES DE PROGRAMACIONINTRODUCCION A LOS LENGUAJES DE PROGRAMACION
INTRODUCCION A LOS LENGUAJES DE PROGRAMACIONluisana08
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_Jesus22barrera
 
Presentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacionPresentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacionValeriaBerrones
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en javarsalazar16988
 
Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Bryangio2002
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica iirolmanpaul
 

Similar a Programación en Java (y II) (20)

Entrada y salida de datos en java
Entrada y salida de datos en javaEntrada y salida de datos en java
Entrada y salida de datos en java
 
Java - No numérica - II
Java - No numérica - IIJava - No numérica - II
Java - No numérica - II
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
 
Variables1
Variables1Variables1
Variables1
 
Java Ago Dic07
Java Ago Dic07Java Ago Dic07
Java Ago Dic07
 
Presentacion carlos
Presentacion carlosPresentacion carlos
Presentacion carlos
 
Java Sobrecarga y Recursividad
Java Sobrecarga y RecursividadJava Sobrecarga y Recursividad
Java Sobrecarga y Recursividad
 
Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)
 
Visual basic .NET
Visual basic .NETVisual basic .NET
Visual basic .NET
 
Curso Java Resumen - Curso 2005-2006
Curso Java Resumen - Curso 2005-2006Curso Java Resumen - Curso 2005-2006
Curso Java Resumen - Curso 2005-2006
 
presentacion Fermath
presentacion Fermathpresentacion Fermath
presentacion Fermath
 
Java12
Java12Java12
Java12
 
INTRODUCCION A LOS LENGUAJES DE PROGRAMACION
INTRODUCCION A LOS LENGUAJES DE PROGRAMACIONINTRODUCCION A LOS LENGUAJES DE PROGRAMACION
INTRODUCCION A LOS LENGUAJES DE PROGRAMACION
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
 
Presentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacionPresentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacion
 
Tema2
Tema2Tema2
Tema2
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en java
 
Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
Python101
Python101Python101
Python101
 

Último

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Cuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfCuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfBrandonsanchezdoming
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 

Último (20)

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Cuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfCuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdf
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 

Programación en Java (y II)

  • 1. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Programación en Java (II) Presentación en diapositivas (PRE08)
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.