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 Por qué Java? Very Long Term History
Fuente: http://www.oracle.com/lad/technologies/java/overview/index.html Por qué Java? Paradigma: orientado a objetos. Cobertura: con Java es posible programar casi cualquier tipo de aplicación (móviles, juegos, web y software empresarial). Alcance: 9 millones de desarrolladores. Portabilidad: aplicaciones incluso en los entornos más diversos. Integral, maduro, sólido. La portabilidad siempre es buena?
Por qué Java? Java Platform, Enterprise Edition (Java EE). Java Platform, Standard Edition (Java SE). Java Embedded. Java para dispositivos móviles. Oracle Java Cloud Service.
Un poco de historia James Golding Realizó el diseño original y la implementación del compilador original y la máquina virtual de Java. Elegido miembro de la Academia Nacional de Ingeniería de Estados Unidos.
Un poco de historia La fama de Java comenzó con los applets, pequeños programas incrustados en las páginas webs. Para ello se utiliza la etiqueta <applet applet> </ </applet applet> Actualmente, para poder ejecutar applets en un navegador es necesario firmarlos, es decir, certificar que el software proviene de una fuente confiable. HTML5 ha eliminado el uso de la etiqueta <applet applet>. Pero todavía existe la forma de usarlo en HTML5.
Un poco de historia Actualmente Java es uno de los lenguajes más utilizados gracias a su portabilidad, la plataforma J2EE (para el desarrollo de aplicaciones WEB) y la programación de dispositivos móviles.
Detalles técnicos Java es un lenguaje de programación basado en máquina virtual (Java Virtual Machine - JVM). La JVM se encargada de ejecutar las aplicaciones compilando el código Java a lenguaje máquina del dispositivo. Hay una JVM para cada arquitectura. Bytecode El lema de java es escribe una vez, ejecuta en todas partes.
Contenido del taller: Capítulo 1. Recursos básicos del lenguaje. Mi primer programa. Tipos primitivos y sus operaciones. Objetos equivalentes. Comentarios. Variables. Operaciones aritméticas y lógicas. Instrucciones para el control del flujo. Métodos.
Entornos de desarrollo:
Mi primer programa: Cuando se ejecuta un programa se llama al método estático especial main main. El main main es en realidad un hilo de ejecución que puede crear otros hilos. Es obligatorio que la sintaxis del main sea la mostrada en el ejemplo.
Comentarios: /* Varias líneas de comentarios */ // Una línea de comentario /** comentarios para java doc */ /** @author nombre */ Ejemplo: ir a la implementación de cualquier clase pulsando la tecla CONTROL y situándonos sobre el texto. Ver como se realizan los comentarios java doc. Java doc permite obtener la documentación de una aplicación de forma automática. Para ello ir a la barra de menu/run/generate java doc. En la carpeta dist del proyecto se crearán un conjunto de archivos html que contiene los comentarios que hicimos en el código
Salida por pantalla:
Salida por pantalla: System
Salida por pantalla: System out
Salida por pantalla: print( cadena ); System out
Entrada de datos por pantalla: //La mejor opción, leer de system.in Scanner lector = new Scanner(System.in); //El sistema esperará que le introduzcas un valor String valor= lector.nextline(); int valor=lector.nextint(); double valor=lector.nextdouble();
Tipos de datos primitivos: Java es un lenguaje de programación basado en tipos ( tipado ). Antes de poder usar una variable se debe indicar el tipo.
Tipos de objetos primitivos: Cada tipo de dato primitivo tiene un objeto del mismo tipo equivalente: Se puede sumar entero+entero? Se pueden comparar? Se puede sumar _entero+_entero? Se pueden comparar?
Tipos de objetos primitivos: Cada tipo de dato primitivo tiene un objeto del mismo tipo equivalente: entero 45 _entero 45
Variables: Para declarar una variable es necesario indicar su tipo, nombre y, opcionalmente su valor inicial. El nombre debe ser un identificador, es decir, cualquier combinación de letras, dígitos y el carácter de subrayado, si bien, no puede empezar con un dígito. tipo nombre [ = valor_inicial ] ; Las palabras reservadas no están permitidas
Constantes: Hacer un programa donde se utilicen estos operadores
Instrucciones condicionales: if (expresión) { instrucciones } if ( expresión ) { instrucciones } else { instrucciones }
Bucles: while (expresión) { instrucciones } for (inicializacion; test; actualización) { instrucciones } int [] numeros={1,2,3,4,5}; for (int i=0; i < numeros.length; ; i++) { System.out.println(numeros numeros[i]); } //JAVA 7 for (int i: numeros) ) { System.out.println(i); } do { instrucciones } while ( condición ) ;
Instrucciones break-continue //PARA SALIR DE UN BUCLE while( ) { if ( ) break; } //SALTAR A UNA ETIQUETA etiqueta: while( ) { if ( ) break etiqueta; } //SALTAR UNA ITERACIÓN while( ) { if ( ) continue; instrucciones; } La programación estructura y la OO no aconseja el uso de break y continue.
Instrucción switch switch(caracter/entero) { case caracter o case entero: instrucciones; break; default: break; } int tipo_comida = 0; String nombre_mes="jamon"; switch (nombre_mes) { case "fruta": tipo_comida = 1; break; case "vegetetakes": tipo_comida =2 ; break; default: tipo_comida = 0; break; }
Métodos estáticos Lo que en otros lenguajes se conoce como función o procedimiento, en Java se llama método: La cabecera de un método consiste de un nombre, una lista (posiblemente vacía) de argumentos y el tipo del resultado. El cuerpo del método se denomina bloque.
Métodos estáticos Sobrecarga del nombre de los métodos. Java permite la sobrecarga de nombres de los métodos Varios métodos pueden tener el mismo nombre y declararse en el mismo ámbito de clase mientras sus signaturas (lista tipos de parámetros) sean diferentes. int max(int a,int b) { } double max(double a, double b) { }
Resumen Hemos visto los elementos básicos del lenguaje de programación que nos permitirán desarrollar nuestros primeros programas: Tipos de datos y Objetos primitivos. Instrucciones condicionales. Bucles. Métodos. Próximo capítulo del taller: referencias.