INGENIERÍA EN SISTEMAS Y COMUNICACIONES

Documentos relacionados
Elementos léxicos del lenguaje de programación Java

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

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

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.

Objetivo de aprendizaje del tema

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

TEMA 2. Agenda. Fundamentos de JAVA

3.2 Operaciones aritmético-lógicas en Pascal

Módulo 2. Inicio con Java

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

Modulo 1 El lenguaje Java

Figura 4.1 Clasificación de los lenguajes de bases de datos

MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio

GENERACIÓN DE CÓDIGO

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

Fundamentos de la Programación

LENGUAJE. Tema 1 - Introducción

MATERIAL 2 EXCEL 2007

2. Estructura de un programa en Java

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Tema: Sobrecarga de Operadores.

CLASE # 5 TÉCNICAS DE CAJA BLANCA

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

INGENIERÍA EN SISTEMAS Y COMUNICACIONES

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

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

PROGRAMACIÓN ORIENTADA A OBJETOS

Tema 2. Diseño del repertorio de instrucciones

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

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

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

Capitulo V Administración de memoria

Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía.

Centro de Capacitación en Informática

Tema: Arreglos de Objetos en C++.

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

Guía de uso de Moodle para participantes

DIAGRAMA DE CLASES EN UML

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

Curso Online de Programación Java

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

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

Estructuras de Datos y Algoritmos. Árboles de Expresión

La ventana de Microsoft Excel

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

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.

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Programa de Nuevos Dominios Genéricos de Alto Nivel (gtld): Variantes de Nombres de Dominio Internacionalizados (IDN)

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

Conceptos básicos: 1,2 puntos

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

Guía de Uso. Administración de Tokens

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Matemáticas para la Computación

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

Unidad 9. Implementación. M.C. Martín Olguín

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

ANEXOS. Algoritmo que genera un valor hash de algún dato, como una clave de. mensaje o de sesión. Con un buen algoritmo de hash, los cambios que se

SISTEMAS OPERATIVOS AVANZADOS

ÍNDICE 2. DIRECCIONES DE INTERÉS SOBRE TELETRABAJO Y DISCAPACIDAD BIBLIOGRAFÍA...

Institución Educativa Inem Felipe Pérez de Pereira 2012 Estrategia taller. AREA: Sistemas de información Taller Previsto

UNIDAD EJECUTORA DE CONSERVACION VIAL MANUAL DEL USUARIO DEL SISTEMA INTEGRAL DE CONTROL DE PROYECTOS

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape.

EXTRACTO Descripción del uso y manejo de SIRAIS 1.2

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Capítulo 6: Conclusiones

Informática I para Bachillerato

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

PROYECTO EDUCATIVO LA CALERA

Actualización de versión a Bizagi 10.x

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

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

LINUX - Los archivos de órdenes I

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)

UN SIMULADOR DE UNA MAQUINA COMPUTADORA COMO HERRAMIENTA PARA LA ENSEÑANZA DE LA ARQUITECTURA DE COMPUTADORAS

POLÍTICA DE COOKIES. A continuación explicaremos qué son las cookies y los tipos de cookies que utiliza la Fundación Fuertes en su sitio Web:

La gestión de contenidos en el nuevo Portal del Ministerio de Hacienda

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

Informática I Notas del curso

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Cálculo Simbólico también es posible con GeoGebra

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

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

La publicación. Pere Barnola Augé P08/93133/01510

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

Tema 3 Elementos básicos de programación

Estándares de codificación Java

Curso Introducción JAVA Pág.: 1

Guía LEGAL Conectores sociales Y "SOCIAL LOGIN"

Vicerrectorado de Investigación Oficina de Patentes y Valorización

Transcripción:

INGENIERÍA EN SISTEMAS Y COMUNICACIONES UDA: PROGRAMACIÓN ORIENTADA A OBJETOS TEMA: FUNDAMENTOS DEL LENGUAJE JAVA E L A B O R Ó : D R. E N C. H É C T O R R A F A E L O R O Z C O A G U I R R E C U U A E M V M

2

Historia Sun Microsystems, líder en servidores para Internet, uno de cuyos lemas desde hace mucho tiempo es "the network is the computer" (lo que quiere dar a entender es que la verdadera computadora es la red en su conjunto y no cada máquina individual), es quien ha desarrollado el lenguaje Java, en un intento de resolver simultáneamente todos los problemas que se le plantean a los desarrolladores de software por la proliferación de arquitecturas incompatibles, añadiendo la dificultad de crear aplicaciones distribuidas en una red como Internet. 3

Historia Sun Microsystems decidió intentar introducirse en el mercado de la electrónica de consumo y desarrollar programas para pequeños dispositivos electrónicos. Tras unos comienzos dudosos, Sun decidió crear una filial, denominada FirstPerson Inc., para dar margen de maniobra al equipo responsable del proyecto. Inicialmente Java se llamó Oak (roble en inglés), aunque tuvo que cambiar de denominación, debido a que dicho nombre ya estaba registrado por otra empresa. 4

Historia Tres de las principales razones que llevaron a crear Java son: 1. Creciente necesidad de interfaces mucho más cómodas e intuitivas que los sistemas de ventanas que proliferaban hasta el momento. 2. Fiabilidad del código y facilidad de desarrollo. Gosling observó que muchas de las características que ofrecían C o C++ aumentaban de forma alarmante el gran coste de pruebas y depuración. Por ello en los sus ratos libres creó un lenguaje de programación donde intentaba solucionar los fallos que encontraba en C++. 5

Historia 3. Enorme diversidad de controladores electrónicos. Los dispositivos electrónicos se controlan mediante la utilización de microprocesadores de bajo precio y reducidas prestaciones, que varían cada poco tiempo y que utilizan diversos conjuntos de instrucciones. Java permite escribir un código común para todos los dispositivos. Por todo ello, en lugar de tratar únicamente de optimizar las técnicas de desarrollo y dar por sentada la utilización de C o C++, el equipo de Gosling se planteó que tal vez los lenguajes existentes eran demasiado complicados como para conseguir reducir de forma apreciable la complejidad de desarrollo asociada a ese campo. 6

Historia El proyecto Green fue el primero en el que se aplicó Java, y consistía en un sistema de control completo de los aparatos electrónicos y el entorno de un hogar. Con este fin se construyó una computadora experimental denominada *7 (Star Seven). Más tarde Java se aplicó a otro proyecto denominado VOD (Video On Demand) en el que se empleaba como interfaz para la televisión interactiva 7

Historia Finalmente Bill Joy, cofundador de Sun y uno de los desarrolladores principales del Unix de Berkeley, juzgó que Internet podría llegar a ser el campo de aplicación adecuado para disputar a Microsoft su primacía casi absoluta en el terreno del software, y vio en Oak el instrumento idóneo para llevar a cabo estos planes. Tras un cambio de nombre y modificaciones de diseño, el lenguaje Java fue presentado en sociedad en agosto de 1995. 8

Características Java ha dado un significativo avance en el mundo del software, y esto viene avalado por tres elementos claves que lo diferencian desde un punto de vista tecnológico: 1. Es un lenguaje de programación que ofrece la potencia del diseño orientado a objetos con una sintaxis fácilmente accesible y un entorno robusto y agradable. 2. Proporciona un conjunto de clases potente y flexible. 3. Pone al alcance de cualquiera la utilización de aplicaciones que se pueden incluir directamente en páginas Web (aplicaciones denominadas applets). aportando a la Web una interactividad que se había buscado durante mucho tiempo entre usuario y aplicación. 9

Características Las principales características que nos ofrece Java respecto a cualquier otro lenguaje de programación, son: Simple: ofrece toda la funcionalidad de un lenguaje potente y es de fácil aprendizaje (requerimiento para aprender Java es tener una comprensión de los conceptos básicos de la programación orientada a objetos), añade características muy útiles cómo el recolector de basura (reciclador de memoria automático). 10

Características Orientado a objetos: Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas cosas para mantener el objetivo de la simplicidad del lenguaje. Java incorpora funcionalidades inexistentes en C++ como por ejemplo, la resolución dinámica de métodos mediante una interfaz específica llamada RTTI (RunTime Type Identification) que define la interacción entre objetos. Distribuido: Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen librerías de rutinas para acceder e interactuar con diversos protocolos que permiten a los programadores acceder a la información a través de la red con tanta facilidad como a los archivos locales. La verdad es que Java en sí no es distribuido, sino que proporciona las librerías y herramientas para que los programas puedan ser distribuidos, es decir, que se corran en varias máquinas, 11 interactuando entre sí.

Características Robusto: Java realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempo de ejecución. La comprobación de tipos en Java ayuda a detectar errores, lo antes posible, en el ciclo de desarrollo, reduciendo así las posibilidades de error. Maneja la memoria para eliminar las preocupaciones por parte del programador de la liberación o corrupción de la misma. Así proporciona entre otras, comprobación de límites de arreglos, manejo de excepciones y verificación de ByteCodes. 12

Características Arquitectura Neutral: Java está diseñado para que un programa escrito en este lenguaje sea ejecutado correctamente independientemente de la plataforma en la que se esté corriendo. Para establecer Java como parte integral de la red, el compilador Java compila su código a un archivo objeto de formato independiente de la arquitectura de la máquina en que se ejecutará. Cualquier máquina que tenga el sistema de ejecución (RunTime) puede ejecutar ese código objeto, sin importar en modo alguno la máquina en que ha sido generado. 13

Características Máquina hipotética que es implementada por un sistema RunTime, que sí es dependiente de la máquina. 14

Características Seguro: La seguridad en Java tiene dos facetas el uso del lenguaje y la memoria para que las aplicaciones sean extremadamente seguras. Los niveles de seguridad que presenta son: Fuertes restricciones al acceso a memoria, como son la eliminación de apuntadores aritméticos y de operadores ilegales de transmisión. Rutina de verificación de los ByteCode que asegura que no se viole ninguna construcción del lenguaje. Verificación del nombre de clase y de restricciones de acceso durante la carga. Sistema de seguridad de la interfaz que refuerza las medidas de seguridad en muchos niveles. 15

Características Portable: Más allá de la portabilidad básica por ser de arquitectura independiente, Java implementa otros estándares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y además, enteros de 32 bits en complemento a 2. Además, Java construye sus interfaces de usuario a través de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en entornos. Interpretado: Java es más lento que otros lenguajes de programación, como C++, ya que debe ser interpretado y no ejecutado como sucede en cualquier programa tradicional. Con el fin de crear aplicaciones multiplataforma, es necesario que exista el RunTime correspondiente al sistema operativo utilizado. 16

Características Multihilo: Java permite muchas actividades simultáneas en un programa. Los threads (a veces llamados, procesos ligeros), son básicamente pequeños procesos o piezas independientes de un gran proceso. Al estar los threads construidos en el lenguaje, son más fáciles de usar y más robustos que sus homólogos en C o C++. El beneficio de ser multihilo consiste en un mejor rendimiento interactivo y mejor comportamiento en tiempo real. Dinámico: Java no intenta conectar todos los módulos que comprenden una aplicación hasta el tiempo de ejecución. Las librerías nuevas o actualizadas no paralizarán las aplicaciones actuales (siempre que mantengan el API anterior). 17

Características Java también simplifica el uso de protocolos nuevos o actualizados. Si su sistema ejecuta una aplicación Java sobre la red y encuentra una pieza de la aplicación que no sabe manejar, tal como se ha explicado en párrafos anteriores, Java es capaz de traer automáticamente cualquiera de esas piezas que el sistema necesita para funcionar. Java, para evitar que los módulos de ByteCodes o los objetos o nuevas clases, haya que estar trayéndolos de la red cada vez que se necesiten, implementa las opciones de persistencia, para que no se eliminen cuando se limpie la caché de la máquina. 18

Características 19

Características Ahora nos surgen dos grandes interrogantes respecto al uso del lenguaje Java: 1. Hay ventajas de todo esto? 2. Se gana algo con Java? 20

Características Primero: No se debe volver a escribir el código si quieres ejecutar el programa en otra máquina. Segundo: Java es un lenguaje de programación orientado a objetos, y tiene todos los beneficios que ofrece esta metodología de programación. Tercero: Un navegador compatible con Java deberá ejecutar cualquier programa hecho en Java, esto ahorra a los usuarios tener que estar insertando "plug-ins" y demás programas que a veces nos quitan tiempo y espacio en disco. Cuarto: Java es un lenguaje y por lo tanto puede hacer todas las cosas que puede hacer un lenguaje de programación. Quinto: Si lo que me interesa son las páginas de Web, se le pueden poner toda clase de elementos multimedia y permiten un alto nivel de interactividad, sin tener que gastar en paquetes carísimos de multimedia. 21

Fundamentos del Lenguaje Java es un lenguaje orientado a objetos, que se deriva en alto grado de C++, de tal forma que puede ser considerado como un C++ nuevo y modernizado o bien como un C++ al que se le han amputado elementos heredados del lenguaje estructurado C. Java = ((C++) C)++ 22

Fundamentos del Lenguaje Tokens Un token es el elemento más pequeño de un programa que es significativo para el compilador. Estos tokens definen la estructura de Java. Cuando se compila un programa Java, el compilador analiza el texto, reconoce y elimina los espacios en blanco y comentarios y extrae tokens individuales. Los tokens resultantes se compilan, traduciéndolos a código de byte Java, que es independiente del sistema e interpretable dentro de un entorno Java. 23

Los tokens Java pueden subdividirse en seis categorías: 1. Identificadores. 2. Palabras clave o reservadas. 3. Constantes y literales. 4. Operadores. 5. Separadores. 6. Comentarios. 24

Identificadores: Los identificadores son tokens que representan nombres asignables a variables, métodos y clases, para identificarlos de forma única ante el compilador y darles nombres con sentido para el programador. En Java, un identificador comienza con una letra, un guión bajo (_) o un símbolo de pesos ($). Los siguientes caracteres pueden ser letras o dígitos. Se distinguen las mayúsculas de las minúsculas y no hay longitud máxima. Como nombres de identificadores no se pueden usar palabras claves de Java. 25

Palabras clave o reservadas: son aquellos identificadores reservados por Java para un objetivo determinado y se usan sólo de la forma limitada y específica. 26

Constantes y literales: Un valor constante en Java se crea utilizando una representación literal de él. Java utiliza cinco tipos de elementos: enteros, reales en coma flotante, booleanos, caracteres y cadenas, que se pueden poner en cualquier lugar del código fuente de Java. Cada uno de estos literales tiene un tipo correspondiente asociado con él. 27

Enteros: byte 8 bits complemento a dos short 16 bits complemento a dos int 32 bits complemento a dos long 64 bits complemento a dos Reales en coma flotante: float 32 bits IEEE 754 double 64 bits IEEE 754 28

Booleanos: true false Caracteres: caracter Cadenas: "cadena" 29

Descripción Representación Valor Unicode Caracter Unicode \udddd Numero octal \ddd Barra invertida \\ \u005c Continuación \ \ Retroceso \b \u0008 Retorno de carro \r \u000d Alimentación de formularios \f \u000c Tabulación horizontal \t \u0009 Línea nueva \n \u000a Comillas simples \ \u0027 Comillas dobles \" \u0022 Números arábigos ASCII 0-9 \u0030 a \u0039 Alfabeto ASCII en mayúsculas A.-Z \u0041 a \u005a Alfabeto ASCII en minúsculas a.-z \u0061 a \u007a Caracteres especiales Java 30

Conversiones sin pérdidas de información Tipo Origen byte short char int long float Tipo Destino double, float, long, int, char, short double, float, long, int double, float, long, int double, float, long double, float double 31

Operadores: Un valor constante en Java se crea utilizando una representación literal de él. Java utiliza cinco tipos de elementos: enteros, reales en coma flotante, booleanos, caracteres y cadenas, que se pueden poner en cualquier lugar del código fuente de Java. Cada uno de estos literales tiene un tipo correspondiente asociado con él. 32

Operadores que se utilizan en Java, por orden de precedencia:. [] () ++ --! ~ instanceof * / % + - << >> >>> < > <= >= ==!= & ^ &&? : (expresion? sentencia1 : sentencia2) = op= (*= /= %= += -= etc.) Nota: Java no soporta la sobrecarga de operadores, excepto para concatenar cadenas 33

Operador Uso Descripción + op1 + op2 Suma op1 y op2 - op1 - op2 Resta op2 de op1 * op1 * op2 Multiplica op1 por op2 / op1 / op2 Divide op1 por op2 % op1 % op2 Calcula el resto de dividir op1 entre op2 Operadores aritméticos binarios 34

Operador Uso Descripción + +op - -op Convierte op a entero si es un byte, short o char Niega aritméticament e op Versiones unarias de los operadores + y - 35

Operador Uso Descripción ++ op++ Incrementa op en 1; se evalúa al valor anterior al incremento ++ ++op Incrementa op en 1; se evalúa al valor posterior al incremento -- op-- Decrementa op en 1; se evalúa al valor anterior al incremento -- --op Decrementa op en 1; se evalúa al valor posterior al incremento Operaciones con ++ y -- 36

Operador Uso Devuelve verdadero si > op1 > op2 op1 es mayor que op2 >= op1 >= op2 op1 es mayor o igual que op2 < op1 < op2 op1 es menor que op2 <= op1 <= op2 op1 es menor o igual que op2 == op1 == op2 op1 y op2 son iguales!= op1!= op2 op1 y op2 son distintos Operadores de comparación 37

Operador Uso Devuelve verdadero si && op1 && op2 op1 y op2 son ambos verdaderos, condicionalmente evalúa op2 & op1 & op2 op1 y op2 son ambos verdaderos, siempre evalúa op1 y op2 op1 op2 op1 o op2 son verdaderos, condicionalmente evalúa op2 op1 op2 op1 o op2 son verdaderos, siempre evalúa op1 y op2!! op op es falso Operadores condicionales 38

Operador Uso Operación >> op1 >> op2 Desplaza los bits de op1 a la derecha op2 veces << op1 << op2 Desplaza los bits de op1 a la izquierda op2 veces >>> op1 >>> op2 Desplaza los bits de op1 a la derecha op2 veces (sin signo) Operadores de desplazamiento de bits 39

Operador Uso Operación & op1 & op2 AND op1 op2 OR ^ op1 ^ op2 OR Exclusivo ~ ~op1 Complemento a uno Operadores de lógica de bits 40

Operador Uso Operación >> Operando >> Despl Desplaza bits del operando hacia la derecha las posiciones indicadas (con signo) << Operando << Despl Desplaza bits del operando hacia la izquierda las posiciones indicadas >>> & ^ Operando >>> Despl Operando & Operando Operando Operando Operando ^ Operando Desplaza bits del operando hacia la derecha las posiciones indicadas (sin signo) Realiza una operación AND lógiga entre los dos operandos Realiza una operación OR lógica entre los dos operandos Realiza una operación lógica OR Exclusiva entre los dos operandos ~ ~Operando Complementario del operando (unario) 41

Operador Uso Equivalente a += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2 /= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 &= op1 &= op2 op1 = op1 & op2 Operadores de atajo de asignación 42

Tipo de operadores Operadores de este tipo Operadores posfijos [ ]. (parametros) expr++ expr-- Operadores unarios ++expr --expr +expr -expr ~! Creación o conversión new (tipo) expr Multiplicación * / % Suma + - Desplazamiento << Comparación < <= = instanceof Igualdad ==!= AND a nivel de bit & OR a nivel de bit ^ XOR a nivel de bit AND lógico && OR lógico Condicional? : Asignación = += -= *= /= %= &= ^= = <<= = = Precedencia de operadores 43

Separadores: Un valor constante en Java se crea utilizando una representación literal de él. Java utiliza cinco tipos de elementos: enteros, reales en coma flotante, booleanos, caracteres y cadenas, que se pueden poner en cualquier lugar del código fuente de Java. Cada uno de estos literales tiene un tipo correspondiente asociado con él. 44

Los separadores admitidos en Java son: ().- Para contener listas de parámetros en la definición y llamada a métodos. También se utiliza para definir precedencia en expresiones, contener expresiones para control de flujo y rodear las conversiones de tipo. {}.- Para contener los valores de matrices inicializadas automáticamente. También se utiliza para definir un bloque de código, para clases, métodos y ámbitos locales. [].- Para declarar tipos matriz. También se utiliza cuando se hace referencia a los valores de una matriz. ;.- Separa sentencias.,.- Separa identificadores consecutivos en una declaración de variables. También se utiliza para encadenar sentencias dentro de una sentencia for...- Para separar nombres de paquete de subpaquetes y clases. También se utiliza para separar una variable o método de una 45 variable de referencia.

Comentarios: En Java hay tres tipos de comentarios: // comentario para una sola línea /* comentario de una o más líneas */ /** comentario de documentación, de una o más líneas */ 46

Control de Flujo El lenguaje Java soporta las estructuras de control: Sentencia Toma de decisión Bucle Misceláneo Excepciones Clave if-else, switch-case for, while, do-while break, continue, etiqueta:, return, goto try-catch-throw 47

If if-else if else-if else if(condición1) { sentencias; } [else if (condición2) { sentencias; }] [else { sentencias; } ] switch switch(expresión1) { case expresión2: sentencias; break; [case expresión3: sentencias; break;] [default: sentencias; break;] } 48

for for (inicialización; terminación; iteración) { sentencias; } while [inicialización;] while(condición) { sentencias; [iteración;] } do-while [inicialización;] Do { sentencias; [iteración;] }while(condición); 49

break break [etiqueta]; continue continue [etiqueta]; return return expresión; etiqueta etiqueta: sentencia; uno: for(..) { dos: for(..) { continue; // seguirá en el bucle interno continue uno; // seguirá en el bucle principal break uno; // saldrá del bucle principal } } Nota: se debe de evitar el uso de etiquetas en lo posible. 50

try-catch-finally try { sentencias; } catch (excepción variable1) { sentencias; } [catch(excepción variable2) { sentencias }] [finally { sentencias;; }] throw throw excepción; throws throws excepción1, excepción2, 51

Referencias Deitel Harvey & Deitel Paul, Como Programar en JAVA, 5a edición. Pearson/Prentice Hall, 2008. Booch Grady, Rumbaugh James & Jacobson Ivar, UML El Lenguaje Unificado de Modelado (Guía de usuario), Pearson, 2006. Luis Joyanes Aguilar, Programación en JAVA 2, 1ª edición. Mc Graw Hill. Wang Paul S. Java con Programación Orientada a Objetos y aplicaciones en la WWW.1ª Edición. Thomson Editores. Froufe Agustín. JAVA 2 Manual de Usuario y Tutorial. 2ª edición. Alfaomega RA-MA. Larman Craig, UML y Patrones (Introducción al análisis y diseño orientado a objetos), Pearson, 2003. Herbert Schildt, Java: The Complete Reference, McGraw-Hill Osborne Media, 8 edition, June 22, 2011. Wu C. Thomas, Introducción a la Programación Orientada a Objetos. Programación en Java, McGraw- Hill, 2008. 52

Guión explicativo Esta presentación tiene como fin lo siguiente: Historia del lenguaje Java Características del lenguaje Java Fundamentos del lenguaje Java Dr. Héctor Rafael Orozco Aguirre 53

Guión explicativo El contenido de esta presentación contiene temas de interés contenidos en la Unidad de Aprendizaje Inteligencia Artificial. Las diapositivas deben explicarse en orden, y deben revisarse aproximadamente en 24 horas, además de realizar preguntas a la clase sobre el contenido mostrado. Dr. Héctor Rafael Orozco Aguirre 54