Programación II (E11)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación II (E11)"

Transcripción

1 Programación II (E11) Unidad I Departamento de Electricidad, Electrónica y Computación Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Segundo Cuatrimestre 2015

2 Introducción [1 3] Presentación Presentación Introducción a la POO Historia de Java Funcionamiento de un programa Java 2

3 Introducción [2 3] Presentación Características Paquetes Tipos de datos primitivos Declaración e inicialización 3

4 Introducción [3 3] Presentación Arrays Cadenas Operadores Sentencias de control Despliegue Archivos JAR Herramientas 4

5 Introducción a la POO [1 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Programación estructurada: el SW se interpreta como un conjunto de pasos, acciones o procedimientos que se ejecutan en secuencia. Programación Orientada a Objetos (POO): paradigma que basa la construcción de sistemas de SW en módulos obtenidos a partir de los objetos que manipula. 5 Paradigma: modelo, patrón, estilo, estándar. Pascal, C, FORTRAN, Basic (y todas sus variantes) son lenguajes que soportan el paradigma procedural (programación estructurada). Java, SmallTalk, Eiffel son lenguajes de programación que sólo soportan la POO. C++ es un lenguaje híbrido, soporta tanto el paradigma procedural como el orientado a objetos. Los módulos con los que se construye un programa en POO están basados en los datos del problema, y no en las acciones.

6 Introducción a la POO [2 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Problema: dadas unas figuras (cuadrado, círculo, triángulo), al seleccionar alguna, la misma debe rotar en el sentido de las agujas del reloj 360 y reproducir un archivo.mp3 de sonido, específico a esa figura. 6

7 Introducción a la POO [3 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Según la programación estructurada: Cuáles son las cosas que debe hacer el programa? Qué funciones se necesitan? void rotar(numfigura) { //hacer que la figura rote 360º void reproducirsonido(numfigura) { //según la figura, reproducir un.mp3 7 Según el paradigma estructurado, como un programa es un conjunto de procedimientos, se deben pensar cuáles son las cosas que debe hacer el programa, lo cual lleva a pensar en qué funciones se necesitan.

8 Introducción a la POO [4 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Según la POO: Cuáles son las cosas en este programa? Quiénes son los actores principales? Cuadrado Círculo Triángulo Usuario Sonido Evento click 8 Según el paradigma orientado a objetos, se debe pensar por qué cosas está formado el programa, lo cual lleva a pensar en cuáles son los actores principales que participan.

9 Introducción a la POO [5 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java public class Cuadrado { void rotar() { //código para rotar 360º el cuadrado void reproducirsonido() { //código para reproducir el archivo //.mp3 correspondiente al cuadrado 9

10 Introducción a la POO [6 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java public class Circulo { void rotar() { //código para rotar 360º el círculo void reproducirsonido() { //código para reproducir el archivo //.mp3 correspondiente al círculo 10

11 Introducción a la POO [7 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java public class Triangulo { void rotar() { //código para rotar 360º el triángulo void reproducirsonido() { //código para reproducir el archivo //.mp3 correspondiente al triángulo 11

12 Introducción a la POO [8 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Cambio: además de las 3 figuras anteriores, habrá una cuarta, con forma de ameba, con el mismo comportamiento para la rotación, pero en cuanto al sonido se deberá reproducir un archivo.wav en lugar de un.mp3. 12

13 Introducción a la POO [9 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Resolución según la programación estructurada: implica modificar código que se encuentra funcionando bien void rotar(numfigura) { //hacer que la figura rote 360º void reproducirsonido(numfigura) { //si la figura no es una ameba, reproducir //un.mp3, sino reproducir el.wav 13

14 Introducción a la POO [10 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Resolución según la POO: NO implica modificar código que se encuentra funcionando bien (flexibilidad, extensibilidad) 14

15 Introducción a la POO [11 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java public class Ameba { void rotar() { //código para rotar 360º la ameba void reproducirsonido() { //código para reproducir el archivo //.wav correspondiente a la ameba 15

16 Introducción a la POO [12 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Cambio: la figura con forma de ameba debe rotar de manera diferente al resto de las figuras. 16

17 Introducción a la POO [13 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Resolución según programación estructurada: void rotar(numfigura) { //si la figura no es una ameba, //rotar 360, sino rotar según el nuevo //requerimiento 17

18 Introducción a la POO [14 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Resolución según la POO: public class Ameba { void rotar() { //código para que la ameba rote void reproducirsonido() { //código para reproducir el.wav 18

19 Introducción a la POO [15 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Desventajas del diseño de la POO: Duplicación de código Solución: Nuevo diseño 19 Si se observa el código de las clases Cuadrado, Triangulo y Circulo, entre las mismas hay duplicidad de código entre los métodos rotar() y reproducirsonido(). Esta duplicidad de código a la larga genera problemas de mantenimiento, ya que si se quiere realizar un cambio se deberá hacerlo en todas las clases. Para solucionar este problema, se hace un nuevo diseño de tal forma que todo lo que sea común se encuentre en un único lado (clase Figura), y lo que sea distinto en el lugar que corresponda.

20 Introducción a la POO [16 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java public abstract class Figura { void rotar() {... void reproducirsonido() {... public class Cuadrado extends Figura { public class Circulo extends Figura { public class Triangulo extends Figura { 20 La clase Figura tiene todo el comportamiento común a un Cuadrado, un Circulo y un Triangulo, o lo que es lo mismo, las clases Cuadrado, Circulo y Triangulo heredan la estructura y comportamiento definidos en la clase Figura.

21 Introducción a la POO [17 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java public class Ameba extends Figura { void rotar() { //redefine rotar() de Figura void reproducirsonido() { //redefine reproducirsonido() de Figura 21 Con este nuevo diseño, ahora sólo hay que mantener una copia (la clase Figura).

22 Introducción a la POO [18 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java En la POO, los datos se denominan objetos, y sus tipos se denominan clases (conceptos fundamentales). 22

23 Introducción a la POO [19 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Por qué la necesidad de definir un nuevo paradigma? Fracaso de la programación estructurada en la producción y mantenimiento sistemático de sistemas de SW de calidad. En el paradigma estructurado, realizar modificaciones implica mucho esfuerzo. En el paradigma estructurado, ensamblar componentes producidos por otros es difícil y muy propenso a errores. 23

24 Introducción a la POO [20 20] Introducción a la POO Historia de Java Funcionamiento de un programa Java Actividades de la POO: Encontrar los tipos de objetos relevantes Describirlos Analizar relaciones y coincidencias Ver cómo estructurar el SW en base a estos tipos 24

25 Historia de Java [1 8] Introducción a la POO Historia de Java Funcionamiento de un programa Java Surge en el año 1991 como iniciativa de un grupo de ingenieros de Sun. Se buscaba obtener código no muy grande. Se buscaba una herramienta independiente del HW. 25 Java surgió en el año 1991 cuando un grupo de ingenieros de Sun diseñaron un nuevo lenguaje de programación destinado a electrodomésticos. La idea era desarrollar un lenguaje, capaz de generar código de poco tamaño debido a la reducida potencia de cálculo y memoria de los equipos. Debido a la variedad de hardware y a los continuos cambios, se debía conseguir una herramienta independiente del mismo: Se desarrolló un código neutro que se ejecutaba sobre una máquina virtual, llamada Java Virtual Machine (JVM).

26 Historia de Java [2 8] Introducción a la POO Historia de Java Funcionamiento de un programa Java Gran impulso gracias al navegador Netscape Navigator. 26 La JVM interpretaba este código neutro convirtiéndolo al código particular del hardware utilizado. A pesar de los esfuerzos realizados por sus creadores, ninguna empresa de electrodomésticos se interesó por este nuevo lenguaje. Como lenguaje de programación para computadoras, Java se introdujo a finales de 1995, para lo cual resultó clave la incorporación de un intérprete Java en la versión 2.0 del Netscape Navigator, produciendo una verdadera revolución en Internet.

27 Historia de Java [3 8] Introducción a la POO Historia de Java Funcionamiento de un programa Java Java 1.1: 1997 Java 1.2 (Java 2): 1998 Java 1.3 y 1.4 (Java 2): 2000 y 2002 Java 1.5 (Java 5): 2004 Java 1.6 (Java 6): 2006 Java 1.7 (Java 7): 2011 Java 1.8 (Java 8): Java 1.1 aparece a principios de 1997, mejorando mucho la primera versión (Java 1.0). Java 1.2 (luego rebautizado Java 2), nace a fines de De la versión 1.1 a la 1.2, los cambios fueron tan grandes que la gente de marketing puso un nombre nuevo (Java 2). A las versiones 1.3 (2000) y 1.4 (2002) se las siguió considerando Java 2. Con la versión 1.5 (2004), los cambios volvieron a ser grandes, por lo que se volvió a considerar un nuevo nombre (Java 5).

28 Historia de Java [4 8] Introducción a la POO Historia de Java Funcionamiento de un programa Java Java clases Un poco más rápido que la versión 1.0 Más capacidades que Java 1.0, más amigable, mejor código para la GUI Java 2 ( ) 2300 clases Mucho más rápido 3 versiones: J2ME, J2SE, J2EE 28

29 Historia de Java [5 8] Introducción a la POO Historia de Java Funcionamiento de un programa Java Java clases Más capacidades Muchos cambios al lenguaje facilitando la tarea al programador 29

30 Historia de Java [6 8] Introducción a la POO Historia de Java Funcionamiento de un programa Java Java 8 Java Mission Control 5.3 Métodos predeterminados Interfaces funcionales Expresiones lambda Manejo de fechas 30 Java Mission Control: herramienta para monitorear una aplicación Java sin agregar la sobrecarga propia de estas herramientas. Es un ejecutable (jmc) dentro del directorio bin de la JDK. Métodos predeterminados: permiten que una interfaz contenga implementaciones de métodos (ver Unidad VI). Interfaz funcional: interfaz que tiene exactamente un método declarado explícitamente como abstracto (ver Unidad VI). Expresiones lambda: también llamadas métodos anónimos, son una forma abreviada de escribir la implementación de un método para su posterior ejecución (ver Unidad VI). Java 8 cuenta con una nueva API (java.time) para el manejo de fechas y horas (ver Unidad V).

31 Historia de Java [7 8] Introducción a la POO Historia de Java Funcionamiento de un programa Java Java 8 Operaciones en paralelo Anotaciones de tipo 31 En Java 8 se mejoró la concurrencia, lo que puede apreciarse en la clase java.util.arrays, donde se agregaron nuevos métodos que permiten operar sobre un array en paralelo (parallelsort(), parallelprefix(), parallelsetall(), etc). Las anotaciones de tipo son anotaciones que se pueden aplicar a cualquier tipo de datos.

32 Historia de Java [8 8] Introducción a la POO Historia de Java Funcionamiento de un programa Java de Java: JME (Java Micro Edition) JSE (Java Standard Edition) JEE (Java Enterprise Edition) 32 La tecnología Java está organizada en 3 grupos de productos, cada uno diseñado para satisfacer las necesidades de un tipo de mercado: JME (Java Micro Edition): aplicaciones móviles, celulares, PDAs, sistemas de navegación de automóviles, etc JSE (Java Standard Edition): aplicaciones de escritorio, applets. JEE (Java Enterprise Edition): aplicaciones Web, de comercio electrónico, etc.

33 Funcionamiento [1 3] Introducción a la POO Historia de Java Funcionamiento de un programa Java Posibilidades al ejecutar un programa en Java: Aplicación de escritorio Applet Servlet 33 Existen distintas posibilidades al ejecutar un programa en Java: Como una aplicación independiente (aplicación de escritorio): similar a programas desarrollados con otros lenguajes. Como un applet (aplicación especial que se ejecuta dentro de un navegador, la cual se descarga desde el servidor y no requiere instalación en la computadora donde se encuentra el mismo). Como un servlet (aplicación que se ejecuta en un servidor).

34 Funcionamiento [2 3] Introducción a la POO Historia de Java Funcionamiento de un programa Java Pasos para escribir un programa en Java: 1. Crear un archivo fuente 2. Compilar el archivo fuente 3. Ejecutar el archivo bytecode en la JVM El archivo fuente es de formato texto, su nombre coincide con el de la clase y tiene la extensión.java. 2. El archivo fuente se compila con el compilador de Java, llamado javac, el cual verifica la existencia de errores no permitiendo la compilación hasta que todo esté correcto. El compilador crea un nuevo archivo, codificado en un lenguaje llamado bytecode de Java, con extensión.class (este bytecode es independiente de la plataforma). 3. Cualquier dispositivo que pueda correr Java podrá interpretar/traducir y ejecutar el archivo.class (en la JVM). Los usuarios no tienen una máquina física de Java sino una virtual (implementada en software), la cual lee y ejecuta el bytecode.

35 Funcionamiento [3 3] Introducción a la POO Historia de Java Funcionamiento de un programa Java 35

36 de un programa Java [1 6] Introducción a la POO Historia de Java Funcionamiento de un programa Java Características de un archivo en Java 1. Definición de una sola clase 2. Extensión.java 3. Nombre del archivo fuente debe coincidir con el de la clase Cada archivo fuente, de extensión.java, contiene la definición de una única clase pública, aunque también puede contener la definición de clases privadas. 2. El nombre del archivo fuente debe coincidir (mayúsculas y minúsculas) con el de la clase. Por ejemplo, para la clase Recurso, su archivo fuente deberá ser Recurso.java.

37 de un programa Java [2 6] Introducción a la POO Historia de Java Funcionamiento de un programa Java Características de una clase en Java 1. Declaración: [modificadores] + class + nombre + { 2. Una o más variables (de instancia o de clase). 3. Uno o más métodos (de instancia o de clase). public class Recurso { //variables de instancia o de clase //métodos de instancia o de clase Las variables definidas en una clase constituyen los campos o estructura de la misma. 2. Las funciones definidas en una clase constituyen los métodos de la misma. 3. Por convención, los nombres de las clases comienzan con mayúsculas (Recurso), y los nombres de los campos (nombre) y métodos (mostrar()) van en minúsculas.

38 de un programa Java [3 6] Introducción a la POO Historia de Java Funcionamiento de un programa Java Características de un método en Java Declaración: [modificadores] + tipo + nombre + ([argumentos]) + { public class Recurso {... public void mostrar() { public class Recurso { String nombre; void mostrar() { System.out.println(nombre);

39 de un programa Java [4 6] Métodos con parámetros variables: Introducción a la POO Historia de Java Funcionamiento de un programa Java void metodo1(int... x) void metodo2(char c, int... x) void metodo3(recurso... unrecurso) Pueden llamarse con un vector o con una secuencia de valores Ver método main() 39 Desde Java 5 se puede usar una construcción llamada varargs, mediante la cual se puede pasar un número arbitrario de parámetros a un método o a un constructor (es una alternativa a emplear un array como parámetro). Un método con varargs podrá ser llamado con cualquier número de ese parámetro, incluso ninguno. Pueden haber otros parámetros en un método que posee un parámetro varargs, siempre y cuando sólo uno sea variable y sea el último declarado. Dentro del método, el parámetro variable se trata como un array: void metodo1(int...x) { int largo = x.length; int y = x[0];

40 de un programa Java [5 6] Funcionamiento: Presentación 1. Creación del archivo fuente: Recurso.java 2. Compilación del archivo fuente: javac Recurso.java 3. Ejecución del archivo bytecode: java Recurso Introducción a la POO Historia de Java Funcionamiento de un programa Java Cuando se guardan los cambios a la clase Recurso, se crea el archivo Recurso.java. 2. Para compilar el archivo fuente, se utiliza el compilador de Java, especificándosele el archivo a compilar: javac Recurso.java Si el compilador no encuentra errores, genera el archivo bytecode Recurso.class. Para ejecutar el archivo Recurso.class se ejecuta la JVM especificándole qué clase cargar: java Recurso

41 de un programa Java [6 6] Funcionamiento: 1. Método main() Presentación Introducción a la POO Historia de Java Funcionamiento de un programa Java public static void main(string[] args) { Definición de la clase principal Cuando la JVM comienza su ejecución, busca la clase que se especifica (clase Recurso siguiendo el ejemplo), y busca dentro de ésta el método main(). Cuando la JVM encuentra el método main(), ejecuta todo lo que esté dentro de sus llaves (toda aplicación Java tiene al menos una clase y al menos un método main()). Siguiendo con el ejemplo, ejecutar el programa implica decirle a la JVM: "cargar la clase Recurso, ejecutar su método main() y continuar la ejecución hasta terminar todo el código del main()". 2. En el caso que la aplicación Java tuviera varias clases, y cada una tuviera un método main() de la forma indicada, se debe indicar cuál de todas estas clases contiene el main() principal.

42 Características [1 6] Características Paquetes Tipos de datos primitivos Declaración e inicialización Simple Seguro Orientado a objetos Arquitectura neutral 42 El objetivo fue crear un lenguaje fácil de aprender, por lo que se adoptó una sintaxis similar a C/C++ teniendo en cuenta su popularidad. Se eliminaron ciertas características (por ejemplo: preprocesador, sentencia GOTO, que las applets no puedan leer y escribir en el disco rígido, etc). Al ser orientado a objetos, se puede implementar polimorfismo, encapsulamiento, enlace (binding) dinámico. Al ser de arquitectura neutral, las aplicaciones pueden ejecutarse en ambientes de redes heterogéneos, independientemente de la plataforma de hardware y de software.

43 Características [2 6] Características Paquetes Tipos de datos primitivos Declaración e inicialización Interpretado y dinámico Multihilos 43 Al ser interpretado y dinámico: 1) el compilador genera bytecodes para la JVM; 2) el intérprete, incorporado en la JVM, es el que permite ejecutar el programa; 3) los bytecodes de Java pueden ejecutarse en cualquier plataforma que tenga la JVM implementada. Al ser multihilos, permite que varias tareas se puedan ejecutar simultáneamente. También cuenta con una característica llamada Garbage Collector que monitorea y quita los objetos que ya no tienen una referencia asociada.

44 Características [3 6] Características Paquetes Tipos de datos primitivos Declaración e inicialización Hay punteros en Java? Sí, pero no de la misma forma que en C/C++ Los punteros se llaman referencias Las referencias no soportan las mismas operaciones que los punteros de C/C++ Las referencias son fuertemente tipadas 44 Con las referencias no se pueden realizar operaciones aritméticas (no se puede obtener ni manipular el valor de una referencia). En C/C++ se puede tener un puntero int*, hacerle un cast a char* y reinterpretar la memoria en esa ubicación. Esta reinterpretación no funciona en Java, es decir, en Java se puede hacer un cast de una referencia a Object a una referencia a String sólo si el objeto al cual se está apuntando es un String (las referencias son fuertemente tipadas). Estas diferencias vuelven a los punteros en C/C++ más potentes que las referencias en Java, pero también hacer que estos punteros resulten mucho más peligrosos (con los punteros se puede tener acceso a cualquier área de memoria, por ejemplo).

45 Características [4 6] Características Paquetes Tipos de datos primitivos Declaración e inicialización Hay herencia múltiple en Java? Sí, pero no entre clases sino entre interfaces (Módulos IV y VI) 45

46 Características [5 6] Características Paquetes Tipos de datos primitivos Declaración e inicialización JDK JRE SDK 46 Cada grupo (JME, JSE o JEE) incluye un JDK (Java Development Kit) que permite crear, compilar y ejecutar programas Java en una plataforma en particular. La JDK para JSE incluye: La JRE (Java Runtime Environment), la cual consiste de la JVM y librerías de clase para la plataforma que se elija (la JRE es una implementación de la JVM) Un compilador Java y documentación de la API. Ejemplos de programas Java. utilidades (JAR, debugging, etc) La JDK es un subconjunto de la SDK (Software Development Kit) responsable de escribir y ejecutar aplicaciones Java, mientras que el resto de la SDK contiene software extra (servidores de aplicación, debuggers, documentación, etc)

47 Características [6 6] Características Paquetes Tipos de datos primitivos Declaración e inicialización JDK En 1995 Sun lanza la versión 1.0 de la JDK (no libre) Actualmente la versión de la JDK es la 1.8, y pertenece a Oracle (no libre) OpenJDK Es la versión libre de la JDK. Su versión actual es la 8 Máquina virtual por defecto en muchas distribuciones GNU/Linux 47 En 1995, Sun lanza la versión 1.0 del JDK de Java. Aunque era posible crear software libre con Java (lenguaje de programación con una especificación abierta), para su ejecución dependía de la JVM, que era software no libre. Richard Stallman llamó a esta situación "la trampa de Java": aunque el programa desarrollado era software libre, este podía encontrar dificultades para distribuirse en entornos de software libre. En agosto del 2006, Sun modificó su licencia de forma que pudiera incluirse el binario de la máquina virtual Java en distribuciones GNU/Linux. En noviembre del 2006, Sun anunció el lanzamiento de las versiones Java SE 6 y SE 7 bajo licencia GPL versión 2. Al proyecto se lo llamó OpenJDK.

48 Paquetes [1 8] Presentación Características Paquetes Tipos de datos primitivos Declaración e inicialización Paquete: espacio de nombres para organizar las clases e interfaces de forma lógica. Los paquetes se organizan en una jerarquía, a fin de disminuir la probabilidad de conflictos de nombres. 48 Hay muchas posibilidades que los componentes (clases e interfaces) desarrollados por distintas personas tengan los mismos nombres. Uno de los pilares de la Orientación a Objetos (OO) es la escritura de componentes reutilizables, con lo cual si 2 o más personas emplean un mismo nombre para componentes distintos, se producirán conflictos al querer reutilizarlos. Al organizar los componentes en paquetes, se disminuye la probabilidad de colisión de nombres, para lo cual es necesario que tampoco haya conflicto de nombres en los paquetes.

49 Paquetes [2 8] Presentación Características Paquetes Tipos de datos primitivos Declaración e inicialización Un paquete puede contener: Clases Otros paquetes La API de Java está organizada en paquetes: java.util.arraylist 49 Java proporciona una librería muy grande de clases (implementada como un conjunto de paquetes) que resulta útil para desarrollar aplicaciones propias. Esta librería se conoce con el nombre de API (Application Programming Interface) de Java. Ejemplo: java.util.arraylist: La clase se llama ArrayList ArrayList se encuentra en el paquete util El paquete util se encuentra a su vez en el paquete java. Resumiendo, el nombre de un paquete completa el nombre de una clase. Cuando junto con el nombre de la clase se especifica el nombre del paquete, se dice que el nombre de la clase se encuentra completamente cualificado.

50 Paquetes [3 8] Presentación Características Paquetes Tipos de datos primitivos Declaración e inicialización 50 Además de las librerías con las que cuenta la JDK, existen otras desarrolladas por terceros. Por ejemplo, Guava es una librería de código abierto desarrollada y mantenida por Google. Esta librería cuenta con muchas utilidades y clases útiles para los desarrolladores.

51 Paquetes [4 8] Presentación Características Paquetes Tipos de datos primitivos Declaración e inicialización Cómo garantizar la unicidad en los nombres de los paquetes? Convención: en todos los ejemplos desarrollados en las clases teóricas y prácticas se utilizará el siguiente paquete: unt.herrera.prog2 51 Cómo se puede garantizar que el nombre de un paquete es único? Una alternativa para reducir las posibilidades de duplicación de nombres consiste en emplear un nombre de dominio Internet al revés: Para el dominio: herrera.unt.edu.ar Nombre del paquete: ar.edu.unt.herrera Por convención, los nombres de los paquetes van en minúsculas.

52 Paquetes [5 8] Presentación Características Paquetes Tipos de datos primitivos Declaración e inicialización Declaración: package + nombre; package unt.herrera.prog2; public class Recurso { Cuando una clase se encuentra dentro de un paquete, en la definición de la misma debe aparecer la sentencia package. La sentencia package debe ser la primera en el código fuente de la clase, y sólo puede haber una por clase. Es decir, una clase sólo puede pertenecer a un único paquete. Cuando una clase se encuentra dentro de un paquete, se debe crear una estructura de directorios que coincida con el nombre del mismo. En el ejemplo, el archivo Recurso.java debe estar dentro del directorio prog2. El directorio prog2 debe estar dentro de herrera. El directorio herrera debe estar dentro de unt.

53 Paquetes [6 8] Presentación Características Paquetes Tipos de datos primitivos Declaración e inicialización Importación de paquetes: se emplea la cláusula import: import java.util.arraylist; import java.util.*; import java.*; Paquete java.lang 53 Si la clase Recurso (definida en el paquete unt.herrera.prog2) referencia a la clase ArrayList (definida en el paquete java.util), se debe importar el mismo mediante la cláusula import: package unt.herrera.prog2; import java.util.arraylist; public class Recurso {... El único paquete en Java del cual se hace una importación automática es java.lang. Por esta razón, si se quiere referenciar la clase String (para manejar cadenas de caracteres) no hace falta importar este paquete.

54 Paquetes [7 8] Presentación Características Paquetes Tipos de datos primitivos Declaración e inicialización Paquete por defecto 54 Si cuando se declara una clase no se le especifica un paquete, la misma se guarda en el paquete por defecto, el cual no tiene nombre. Guardar las clases en el paquete por defecto no es aconsejable debido a que las mismas no se pueden importar (al menos por medio de los mecanismos tradicionales), aumentan las posibilidades de colisión de nombres, etc. Si por ejemplo, la clase MiClase, la cual cuenta con un método mostrar() que no devuelve nada se encuentra en el paquete por defecto, para poder usarla desde otra clase que esté en un paquete con nombre, se deberá hacer: Class c = Class.forName("MiClase"); Method m = c.getmethod("mostrar"); m.invoke(c.newinstance());

55 Paquetes [8 8] Presentación Características Paquetes Tipos de datos primitivos Declaración e inicialización Importaciones estáticas Disponibles desde Java 5 Se pueden usar en todo lugar donde se use una clase o variable estática, o una enumeración Ventajas Disminuyen la cantidad de código Desventajas El código se puede volver difícil de leer Aumenta la posibilidad de conflictos de nombres 55 Sin usar importaciones estáticas: import java.lang.math; public class MiClase { public void metodo() { System.out.println(Math.sqrt(2.0)); System.out.println(Math.tan(60)); Usando importaciones estáticas: import static java.lang.system.out; import static java.lang.math.*; public class MiClase { public void metodo() { out.println(sqrt(2.0)); out.println(tan(60));

56 Tipos de datos primitivos [1 4] En Java las variables pueden ser: de instancia de clase (Unidad V) locales argumentos Características Paquetes Tipos de datos primitivos Declaración e inicialización Cualquiera de estas 4 posibilidades a su vez puede ser: Una tipo de dato primitivo Una referencia a un objeto 56 public class Recurso { String nombre; //variable de instancia static String error = Nombre mal ; //variable de clase void asignarnombre(string n) { /*n es un argumento */ nombre = n; void mostrar() { String cadena = ; /*cadena es una variable local*/...

57 Tipos de datos primitivos [2 4] Características Paquetes Tipos de datos primitivos Declaración e inicialización Primitivos: son tipos de datos especiales incorporados al lenguaje (no son objetos): enteros (byte, short, int, long) booleanos (boolean) números de punto flotante (float, double) caracteres (char) Declaración: tipo + nombre + ; int cantidad; 57 Para declarar una variable primitiva, se debe especificar su tipo y su nombre. Por ejemplo, para el caso de una variable primitiva entera: int orden;

58 Tipos de datos primitivos [3 4] Algunas características: Tamaño Restricciones para el nombre Características Paquetes Tipos de datos primitivos Declaración e inicialización 58 Cada variable primitiva tiene un tamaño: byte: 8 bits (-128 a 127) short: 16 bits ( a 32767) int: 32 bits ( a ) long: 64 bits (-un montón a un montón) float: 32 bits (varía) double: 64 bits (varía) char: 16 bits (0 a 65535) boolean: depende de la JVM (true o false) Los nombres de las variables pueden ser cualquier conjunto de caracteres alfanuméricos, sin algunos caracteres especiales:,. + - * / Los nombres deben comenzar con: una letra, un guión bajo (_) o un signo pesos ($), y no pueden ser iguales a una palabra reservada del lenguaje.

59 Tipos de datos primitivos [4 4] Características Paquetes Tipos de datos primitivos Declaración e inicialización Observaciones: Operador sizeof() Tamaño de los primitivos en distintas plataformas 59 El tamaño de los primitivos es el mismo entre las distintas plataformas (Linux, Mac, Solaris, Windows). Es decir, un int ocupa en memoria 4 bytes, ya sea que se esté trabajando en Linux, Windows, etc. En Java, no existe el operador sizeof() para ver el tamaño de una variable. Para ver el valor máximo, mínimo, tamaño en bytes y en bits de cada uno de los primitivos, se pueden usar los campos MAX_VALUE, MIN_VALUE, BYTES y SIZE definidos en las referencias correspondientes.

60 Declaración e inicialización [1 5] Características Paquetes Tipos de datos primitivos Declaración e inicialización Declaración antes de la inicialización. Literal: es la representación de un valor fijo Inicialización junto o separado de la declaración x = 10; //10 es un literal //suponiendo que x ya se declaró int y = 5; //5 es un literal Declaración e inicialización múltiples int x = 1, y = 3; 60 En Java todas las variables deben declararse antes de ser usadas. Para inicializar una variable, se lo puede hacer una vez que la misma está declarada, o en la misma declaración: X = 10; //10 es un literal //suponiendo que x ya se declaró int y = 5; //5 es un literal También se permite la declaración y/o inicialización múltiple: int x = 1, y = 3;

61 Declaración e inicialización [2 5] Números octales int seis = 006; //6 Características Paquetes Tipos de datos primitivos Declaración e inicialización Números hexadecimales int x = 0x0001; //6 Números flotantes float f = 32.5f; 61 Los números octales se representan por 3 dígitos, comenzando con un 0 (cero): int seis = 006; //6 int siete = 007; //7 Los números hexadecimales se representan por 4 dígitos, comenzando con 0x o 0X: int x = 0x0001; //6 int y = oxcafe; // = 0xcafe Para el caso de los números flotantes, Java cree que cualquier número con un punto flotante es un double, a menos que se use la letra 'f' o 'F' en el momento de la asignación: float f = 32.5f; float d = 32.5; //no compila Para el caso del double, se puede especificar 'd' o 'D'. Para los tipos float y double, también se puede utilizar 'e' o 'E': double d2 = 1.23e2;

62 Declaración e inicialización [3 5] Caracteres char letra = '\u004e'; //'N' Características Paquetes Tipos de datos primitivos Declaración e inicialización Caracteres de escape: \b, \t, \n, \r, \, \', \\ 62 Los literales del tipo char o String pueden contener cualquier caracter Unicode. Si el editor y el sistema de archivos lo permiten, se pueden usar estos caracteres directamente en el código, y si no, se puede usar el caracter de escape Unicode \u: char letra = '\u004e'; //'N' String c = se\u00f1or ; // señor El caracter \u se puede usar en cualquier parte del programa, y no sólo en literales char o String. Java no cuenta con tipos sin signo, salvo char para representar números enteros entre 0 y 2^16: char e = -29; //cast: (char)-29 char f = 70000; //cast: (char)70000 Java también soporta otros caracteres de escape para char y String: \b, \t, \n, \r, \, \', \\

63 Declaración e inicialización [4 5] Conversiones (casts) Implícitas Explícitas Características Paquetes Tipos de datos primitivos Declaración e inicialización 63 Al momento de guardar el valor de una variable en otra, hay que observar los tipos de ambas: int x = 24; byte b = x; //no funciona Se produce una conversión implícita cuando un tipo más chico se guarda en uno más grande: byte b = 30; int x = b; //un byte entra en un int Se debe realizar una conversión explícita cuando un tipo más grande se guarda en uno más chico: int x = 24; byte b = (byte)x; Cuando se realiza una conversión explícita, se informa al compilador que se sabe sobre la posibilidad de pérdida de información.

64 Declaración e inicialización [5 5] Características Paquetes Tipos de datos primitivos Declaración e inicialización Conversiones automáticas en operaciones: byte a = 1; byte b = 2; byte c = a + b; //no funciona 64 Cuando se usan valores primitivos en una expresión con ciertos operadores (*, /, -, + y %), los valores se convierten automáticamente a enteros o un tipo superior en caso de ser necesario, y luego se realiza la operación. Esta conversión puede causar desbordamiento o pérdida de precisión.

65 Arrays [1 2] Presentación Arrays Cadenas Operadores Sentencias de control Declaración: tipo + [] + nombre + ; int[] numeros; Inicialización numeros = new int[10]; int[] numeros = {1, 2, 3, 4, 5; //otra forma de declarar e inicializar 65 Para declarar un array de enteros: int[] numeros; También se puede emplear la forma (casi no se usa): int numeros[]; Una variable array es un puntero a un objeto array (por medio del puntero se accede al array). Para crear un array de 10 enteros: numeros = new int[10]; Para asignar valores a este array: numeros[0] = 4; numeros[1] = 7; También se puede crear e inicializar un array de la forma: int[] numeros = {1, 2, 3, 4, 5;

66 Arrays [2 2] Presentación Arrays Cadenas Operadores Sentencias de control Arrays de más de una dimensión: Un array de 2 dimensiones es un array de arrays (un array donde cada elemento es a su vez un array). Un array de 3 dimensiones es un array donde cada elemento es a su vez un array, cuyos elementos son arrays. 66 Para declarar un array de 2 o más dimensiones, se emplean 2 o más pares de [ ]: int[][] num = new int[4][2]; En este caso, la JVM crea un array con 4 elementos. Cada uno de estos elementos es en realidad un puntero a un array con 2 elementos. Para realizar la inicialización junto con la declaración: int[][] num = {{2,3,4, {7,8,9; Como un array de 2 dimensiones es un array cuyos elementos son arrays, sus filas pueden variar de longitud (cada fila puede tener distinta cantidad de columnas): int[][] num = {{2,3,4, {7,8; La clase System tiene un método estático llamado arraycopy() que permite copiar un array en otro.

67 Cadenas [1 1] Presentación Arrays Cadenas Operadores Sentencias de control Las cadenas NO son primitivos, sino objetos (clase String). Declaración: String + nombre + ; Inicialización 67 Para manejar cadenas Java emplea una clase llamada String, definida en el paquete java.lang. Para declarar una cadena: String apellido; Para asignar un valor a esta cadena: apellido = Perez ; Para concatenar cadenas, se puede usar el operador de concatenación +: String n = Juan + + Carlos ; El operador + es el único operador en Java que se encuentra sobrecargado. En el caso de las cadenas, los literales van entre comillas dobles ( ), mientras que para los primitivos tipo char entre comillas simples (' '). La clase String cuenta con una serie de métodos que permiten manipular cadenas.

68 Operadores [1 3] Presentación Arrays Cadenas Operadores Sentencias de control Aritméticos: Suma (+), resta (-), producto (*), división (/), resto (%) Asignación: =, +=, -=, *=, /=, %= Unarios: +, - Condicional:? : 68 El operador condicional tiene la forma: expbooleana? accion1 : accion2;

69 Operadores [2 3] Presentación Arrays Cadenas Operadores Sentencias de control Incrementales: ++expr, expr++, --expr, expr-- Relacionales: >, >=, <, <=, ==,!=, instanceof Lógicos: Y lógico (&&), O lógico ( ), negación (!), Y bit a bit (&), O inclusivo bit a bit ( ), O exclusivo bit a bit (^) 69 El operador instanceof compara un objeto contra un tipo de datos especificado. Se lo usa para saber si un objeto es instancia de una clase, de una subclase o instancia de una clase que implementa una interfaz.

70 Operadores [3 3] Presentación Arrays Cadenas Operadores Sentencias de control Precedencia 70 Al igual que en la mayoría de los lenguajes: Primero se evalúan los operadores entre paréntesis. Luego se evalúan los operadores de incremento y decremento, de izquierda a derecha. Luego los operadores de multiplicación y división. En caso de existir la misma jerarquía, se evalúan de izquierda a derecha.

71 Sentencias de control [1 10] Arrays Cadenas Operadores Sentencias de control Sentencia: expresión que termina en punto y coma (;) Comentarios 71 Se pueden incluir varias sentencias en una misma línea, aunque lo habitual es utilizar una línea para cada sentencia. Todo lo que aparece a la derecha de dos barras // en una línea cualquiera del código es un comentario. La segunda forma de incluir comentarios consiste en escribir el texto entre los símbolos /* y */. Este segundo método es válido para comentar más de una línea de código

72 Sentencias de control [2 10] Arrays Cadenas Operadores Sentencias de control if if (exprbooleana) {... if-else if (exprbooleana) {... else {... 72

73 Sentencias de control [3 10] if múltiple if (expr1) {... else if (expr2) {... else {... Arrays Cadenas Operadores Sentencias de control 73

74 Sentencias de control [4 10] switch switch(expr) { case valor1: //sentencias break; case valor2: //sentencias break;... default: //sentencias break; Arrays Cadenas Operadores Sentencias de control 74 Un switch se emplea cuando se quieren verificar condiciones de igualdad, y no por ejemplo si un valor es más grande o más chico que otro. switch trabaja con los primitivos byte, short, char e int, con enumeraciones, con la cadenas y con las clases Character, Byte, Short e Integer.

75 Sentencias de control [5 10] while while(i < 10) {... i++; Arrays Cadenas Operadores Sentencias de control 75

76 Sentencias de control [6 10] Arrays Cadenas Operadores Sentencias de control do-while do {... i++; while(i < 10); for for(int i=0; i < 10; i++) {... 76

77 Sentencias de control [7 10] Arrays Cadenas Operadores Sentencias de control for mejorado for (int i : vector) { System.out.println(i); //suponiendo que vector es un //array de enteros 77 En el caso de los vectores y colecciones, desde Java 5.0 se puede usar una nueva forma para recorrerlos: for (int i : vector) { System.out.println(i); El ejemplo anterior se lee: para cada valor entero en el vector, mostrarlo. Con Java 5.0 se puede seguir usando la notación tradicional, pero la nueva es más simple. Los elementos del vector deben ser compatibles con el tipo de la variable declarada.

78 Sentencias de control [8 10] Comparación: while do-while for Presentación Arrays Cadenas Operadores Sentencias de control 78 Cuando se quiera iterar indefinidamente y ejecutar las sentencias 0 o más veces: estructura while. Cuando se quiera iterar indefinidamente y ejecutar las sentencias 1 o más veces: estructura dowhile. Cuando se quiera iterar un número predefinido de veces: estructura for.

79 Sentencias de control [9 10] Sentencias: break continue Presentación Arrays Cadenas Operadores Sentencias de control 79 La sentencia break tiene 2 formas: Sin etiqueta: se usa para terminar un for, while o do-while (en todos los casos siempre el lazo más interno). También se usa con el switch. Con etiqueta: se usa para terminar un for, while o do-while (en todos los casos siempre el lazo más externo). La sentencia continue tiene 2 formas: Sin etiqueta: salta hasta el final del lazo más interno (for, while o do-while) y evalúa la expresión booleana que controla el lazo. Con etiqueta: salta hasta el final del lazo más externo marcado con una etiqueta.

80 Sentencias de control [10 10] Sentencia return Presentación Arrays Cadenas Operadores Sentencias de control 80 Otra forma de salir de un lazo (y de un método) es utilizar la sentencia return. A diferencia de continue o break, la sentencia return sale también del método. En el caso que el método devuelva algún valor, éste se deberá especificar a continuación del return: return valor; Si el método no devuelve valores (retorna void) se puede omitir la sentencia return, o utilizarla de la forma: return;

81 Despliegue [1 2] Presentación Despliegue Archivos JAR Herramientas Despliegue de una aplicación: son todas las actividades que hacen que la misma quede disponible para su uso. El despliegue depende de cómo se ejecute la aplicación: Local Remota Combinación 81 La forma de realizar el despliegue de una aplicación Java dependerá de cómo se ejecute la misma: Local: toda la aplicación se ejecuta en la computadora del usuario. Remota: toda la aplicación se ejecuta en un servidor, con el cliente accediendo al sistema empleando tecnología no Java, probablemente un servidor Web. Combinación: una parte de la aplicación se ejecuta en el sistema local del usuario y se conecta a un servidor donde se ejecutan otras partes de la aplicación.

82 Despliegue [2 2] Presentación Despliegue Archivos JAR Herramientas del directorio de una aplicación Java 82 Después que se termina de escribir una aplicación en Java, el directorio donde se encuentra todo el código estará formado por: Código fuente (archivos.java) Código bytecode (archivos.class) Toda esta mezcla de archivos dificulta el mantenimiento. Lo ideal sería separar los archivos fuente de los archivos bytecode.

83 Archivos JAR [1 1] Presentación Despliegue Archivos JAR Herramientas Archivo JAR (Java ARchive): archivo basado en el formato pkzip que guarda todas las clases juntas. Comando jar: comando para crear un archivo JAR. Ejecución de una aplicación mediante un archivo JAR. 83 Un archivo JAR, al permitir guardar todas las clases juntas, evita tener que manejarse con todos los archivos.class por separado. Si todos los archivos de la aplicación (archivos.class) se van a guardar en el JAR, para que el usuario pueda ejecutar la aplicación deberá poder ejecutar el JAR. Para hacer ejecutable el JAR, se debe crear un archivo manifiesto dentro del JAR, el cual contiene la información de las clases que contiene el JAR. Este archivo manifiesto le dice a la JVM qué clase tiene el método main().

84 Herramientas [1 1] Presentación Despliegue Archivos JAR Herramientas JDK Un editor de textos Un IDE: Netbeans ( Eclipse ( 84 La JDK contiene, entre otras cosas, la JRE (Java Runtime Environment), el compilador Java (javac), las APIs de Java y un conjunto de utilidades para desarrollar, depurar y ejecutar una aplicación en Java.

85 Resumen [1 2] Introducción a la POO Historia de Java Funcionamiento de un programa Java Características Paquetes Tipos de datos primitivos Declaración e inicialización Arrays Cadenas 85

86 Resumen [2 2] Operadores Sentencias de control Despliegue Archivos JAR Herramientas 86

87 Otro material [1 5] Java8 verything-about-java-8/ Operaciones en paralelo Anotaciones ations/type_annotations.html 87

88 Otro material [2 5] Parámetros variables gs-en-java/ Punteros en Java njava/comparingc++andjava.html ns/141834/how-is-a-java-reference-differentfrom-a-c-pointer 88

89 Otro material [3 5] Punteros en Java html ns/105902/do-the-young-minds-need-to-learnthe-pointer-concepts +vsjava_st.htm 89

90 Otro material [4 5] OpenJDK -should-i-use-the-oracle-jdk-over-the-openjdkor-vice-versa 90

91 Otro material [5 5] Paquete sin nombre ackage_in_java 91

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

TEMA 2. Agenda. Fundamentos de JAVA

TEMA 2. Agenda. Fundamentos de JAVA TEMA 2 Fundamentos de JAVA V1.3 Manuel Pereira González Agenda Introducción Historia de Java Características Principales Hello World Tipos Operadores Control de Flujo E/S básica Atributos y Métodos Resumen

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

Introducción al lenguaje de programación java

Introducción al lenguaje de programación java Introducción al lenguaje de programación java Algoritmia y Programación Slide 1 LENGUAJES DE PROGRAMACION Un lenguaje de programación es un idioma artificial diseñado y creado para expresar algoritmos

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

INF 473 Desarrollo de Aplicaciones en

INF 473 Desarrollo de Aplicaciones en INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James

Más detalles

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,

Más detalles

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Ingeniero en Computación José Alfredo Cobián Campos josealfredocobian@gmail.com Facultad de Ciencias

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Introducción a la Programación en Java. Page 1

Introducción a la Programación en Java. Page 1 Introducción a la Programación en Java Page 1 Qué es Java? Java es un lenguaje de programación de propósito general, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias

Más detalles

Tema 3 Elementos básicos de programación

Tema 3 Elementos básicos de programación Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO Programación orientada a objetos

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Sintaxis y Convenciones de Java. M. en C. Erika Vilches Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando

Más detalles

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... Contenido Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... 5 Introducción Es tiempo de hablar en detalle de lo que significa

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Programador en Plataforma Java y XML

Programador en Plataforma Java y XML Programador en Plataforma Java y XML Java Fundamentos Módulo 1: Java Básico Introducción En la presente unidad, se detalla los fundamentos de la tecnología Java, reconociendo las 3 plataformas que la conforman.

Más detalles

Guía de Instalación de la JDK y del Eclipse

Guía de Instalación de la JDK y del Eclipse Guía de Instalación de la JDK y del Eclipse En esta guía tenemos por objetivo llevar a cabo la instalación de nuestro entorno de programación Java. En primer lugar, vamos a instalar el kit de desarrollo

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

Más detalles

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

8. Sentencia return y métodos

8. Sentencia return y métodos 92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

19. Packages o paquetes

19. Packages o paquetes Programación orientada a objetos con Java 201 19. Packages o paquetes Objetivos: a) Definir el concepto de paquete b) Interpretar el código fuente de una aplicación Java donde se utilicen paquetes c) Construir

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

Módulo 2. Inicio con Java

Módulo 2. Inicio con Java Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1 Departamento de Lenguajes y Sistemas Informáticos JavaScript Programación en Internet Curso 2005-2006 Contenidos Introducción El lenguaje Validación de formularios DLSI - Universidad de Alicante 1 Introducción

Más detalles

Módulo 1 El lenguaje Java

Módulo 1 El lenguaje Java Módulo 1 El lenguaje 1.1 Presentación de es un lenguaje de programación desarrollado por la empresa Sun Microsystems en 1991 como parte de un proyecto secreto de investigación llamado Green Proyect, con

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Seminario de Java. Contenido

Seminario de Java. Contenido Seminario de Java Programación Orientada a Objetos Curso 2006/2007 Contenido 1. Introducción 2. Primeros pasos con Java. El entorno Eclipse 3. La sintaxis del lenguaje Java 4. Clases y objetos 5. Cadenas

Más detalles

Tecnologías de Programación Web Dr. Diego C. Martínez. Depto de Cs e Ing. de la Computación Universidad Nacional del Sur.

Tecnologías de Programación Web Dr. Diego C. Martínez. Depto de Cs e Ing. de la Computación Universidad Nacional del Sur. Historia de Java 1991 Comienza el proyecto Green. 1992 Se presenta el lenguaje Oak. Java, 10 años - JavaOne Conference 26 al 30 de junio de 2005 1995 Nace oficialmente la tecnología Java. Cambia el nombre

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Operadores y Expresiones PRÁCTICA NÚM. [ 3 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 2 Definiendo situaciones y manejando casos Marcela Hernández Hoyos Qué vamos a aprender en este nivel: Diferencia entre clase y objeto Modelar características

Más detalles

Carmen. Estándares de codificación. Manuel Arias Calleja

Carmen. Estándares de codificación. Manuel Arias Calleja Carmen. Estándares de codificación Manuel Arias Calleja II Índice general 1. Estandares de codificación 1 1.1. Nombres de ficheros........................ 1 1.2. Organización de ficheros......................

Más detalles

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS 4.1 Antecedentes históricos El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code)

Más detalles

Matemática de redes Representación binaria de datos Bits y bytes

Matemática de redes Representación binaria de datos Bits y bytes Matemática de redes Representación binaria de datos Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo pueden entender

Más detalles

JAVA PARA PRINCIPIANTES

JAVA PARA PRINCIPIANTES UN POCO DE HISTORIA Java fue creado en 1991 por James Gosling de Sun Microsystems inicialmente llamado Oak que significa roble, esto debido a la cantidad de arboles que rodeaban el sitio donde este trabajaba.

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1102 Introducción a la Programación Tutorial eclipse TM Introducción al uso de eclipse TM Contents

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

Java Básico. Introducción a Java. Copyright

Java Básico. Introducción a Java. Copyright Java Básico Introducción a Java Copyright Copyright (c) 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano v1.0

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

(volver a Tabla de Contenidos)

(volver a Tabla de Contenidos) Para escribir, compilar y ejecutar un programa en Java lo único que realmente se necesita y no viene incluido con el sistema operativo es el kit de desarrollo de Java, denominado SDK (Software Development

Más detalles

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD 1 Java es un lenguaje de programación de Sun Microsystems originalmente llamado "Oak. James Gosling Bill Joy 2 Oak nació para programar pequeños dispositivos electrodomésticos, como los asistentes personales

Más detalles

Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos]

Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos] Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 14-O Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Estructura

Más detalles

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores

Más detalles

Computación III. Objetivo de aprendizaje del tema

Computación III. Objetivo de aprendizaje del tema Computación III Tema 5 Declaración, inicialización y uso de variables 1 Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Identificar la sintaxis de las variables en el lenguaje Java.

Más detalles

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos) Presentación 1. Historia 11 1.1 Por qué Java? 11 1.2 Objetivos del diseño de Java 12 1.3 Auge de Java 13 2. Características de Java 14 2.1 El lenguaje de programación Java 14 2.1.1 Sencillo 15 2.1.2 Orientado

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas Capítulo 4 Vectores y matrices En FORTRAN se puede utilizar un tipo especial de variable que sirve, en particular, para almacenar vectores y matrices. De esta forma, se utiliza un sólo nombre para referirse

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir

Más detalles

Curso PHP Módulo 1 R-Luis

Curso PHP Módulo 1 R-Luis Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.

Más detalles

Manual de referencia y del usuario

Manual de referencia y del usuario Manual de referencia y del usuario Manual del usuario y referencia de Todos los derechos reservados. Ningún fragmento de esta publicación podrá ser reproducido de manera alguna (ya sea de forma gráfica,

Más detalles

Tema 2: La Tecnología Java

Tema 2: La Tecnología Java Tema 2: La Tecnología Java 0 La Tecnología de Java Es : Un lenguaje de programación Similar a C/C++ sin los problemas de manejo de memoria. Un ambiente de desarrollo Compilador, intérprete, generados de

Más detalles

Ubicación e historia

Ubicación e historia Introducción a Java Ubicación e historia http:// ://java.sun.com/ JDK (Java Development Kit) JDK 1.0, 1995 JDK 1.1, 1996. Modificación en manejo de eventos; nuevas bibliotecas (reflexión, métodos remotos,...)

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 8 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante ÍNDICE ÍNDICE... 1 1. INTRODUCCIÓN... 1 1.1 EJERCICIO 1: HERENCIA Y POLIMORFISMO I... 1 1.2 EJERCICIO

Más detalles

Fundamentos del Lenguaje de Programación Java

Fundamentos del Lenguaje de Programación Java Fundamentos del Lenguaje de Programación Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx El lenguaje Java Estándares de codificación Comentarios Programas con Java Identificadores Palabras clave

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta. Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO LAEFF - INTA raul@laeff.inta.es Qué es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079 Revista Digital Universitaria 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079 JAVA o L.I. Anabell Comas Becaria de la Coordinación de Publicaciones Digitales anabell@alethia.dgsca.unam.mx o http://www.revista.unam.mx/vol.7/num12/art104/art104.htm

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia

Más detalles

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) APRENDERAPROGRAMAR.COM TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) Sección: Cursos Categoría: Tutorial básico del programador web:

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

Procesadores de lenguaje Tema 5 Comprobación de tipos

Procesadores de lenguaje Tema 5 Comprobación de tipos Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,

Más detalles

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java Qué es? Introducción a es Un lenguaje de programación Un entorno de desarrollo Un entorno de ejecución de aplicaciones Un entorno de despliegue de aplicaciones Utilizado para desarrollar, tanto applets

Más detalles

❷ Aritmética Binaria Entera

❷ Aritmética Binaria Entera ❷ Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces de efectuar cálculos aritméticos, ya sea como principal objetivo (calculadoras, computadoras, máquinas

Más detalles

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Definición de clases: Herencia, polimorfismo, ligadura dinámica Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

1. Aplicaciones del J2SE SDK1.4.2 de Sun. Dept Informatica Índice 1 Aplicaciones del J2SE SDK142 de Sun 1 11 javac 1 12 java 1 13 javadoc 2 14 Las que no se explican 3 2 Guía de estilo de Java 3 21 Clases 3 211 Nombres para las clases 3 212 Estructura

Más detalles

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION CHIQUINQUIRA (BOYACA) 2015 1 CONTENIDO Pág. QUE ES UN SISTEMA BINARIO. 3 CORTA HISTORIA DE LOS

Más detalles

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1 MANUAL DE USUARIO Webservice simple para la exportación rápida de información proveniente de una base de datos Versión 0,1,1 Jorge Iván Meza Martínez INTRODUCCIÓN Esta aplicación permite

Más detalles

El lenguaje de programación Java

El lenguaje de programación Java Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red

Más detalles