Java

1,932 views

Published on

  • Be the first to comment

  • Be the first to like this

Java

  1. 1. Java<br />Programación 301<br />
  2. 2. Sun Microsystems (Patrick Naughton y<br />James Gosling)<br /> Java: Marca de Café<br /> Necesaria portabilidad de código<br /> Inicialmente orientado a Internet<br /> Impulsado por compatibilidad con Netscape<br />Navigator (navegador de Internet)<br />
  3. 3. Orientado a Objetos<br /> Totalmente Portable<br />Lenguaje Interpretado (compilado a código<br />intermedio, no a código máquina)<br /> Java Virtual Machine (JVM)<br />ByteCode: Independiente de la maquina<br /> Gestión Automática de Memoria Dinámica<br /> Recolector de basura (GarbageCollector)<br /> Case Sensitive (Sensible a Mayús. / Minus.<br />
  4. 4. Compilador: javac<br /> Interprete: java<br /> Plataforma de ejecución: JRE (Java Runtime<br />Environment):<br /> Incluye JVM<br /> Plataforma de desarrollo: Java SDK (Java<br />Software Development Kit):<br /> Incluye Compilador, etc.<br /> Incluye JRE<br />
  5. 5. Lenguaje de programación Java:<br />· Seguro<br />· Robusto · Dinámico<br />· Interpretado · Multitarea<br />· Distribuido · Altas prestaciones<br />· Orientado a objetos · Portable<br />· Simple · Arquitectura neutral<br />
  6. 6. Lenguaje simple:<br />Sintaxis similar a C++, pero sin las complejidades de éste (no hay punteros)<br />Orientado a objetos<br />
  7. 7. Robusto<br />Comprobaciones restrictivas en tiempo de compilación.<br />Ej: No se permite usar variables sin inicializarlas ni herencia múltiple.<br />Mecanismos de manejo de excepciones en<br />tiempo de ejecución.<br />Eliminación de las características del lenguaje<br />que pueden conducir a errores (Ej: punteros).<br />Gestión de memoria de forma automática.<br />
  8. 8. Seguro<br />Java implementa mecanismos de seguridad que limitan el acceso a recursos de las máquinas donde se ejecuta la aplicación, sobre todo en los Applets.<br />Pequeñosprogramasqueaparecenembebidos en laspáginas Web, comoaparecen los gráficos o el texto, pero con la capacidad de ejecutaraccionesmuycomplejas, comoanimarimágenes, establecerconexiones de red, presentarmenús y cuadros de diálogoparaluegoemprenderacciones, etc. <br />
  9. 9. Arquitectura Neutral y portable<br />Java: diseñado para implementar aplicaciones que deben ser ejecutadas en entornos de redes<br />distribuidas.<br />Problemas:<br />Múltiples arquitecturas hardware<br />Diversos sistemas operativos<br />Solución:<br />El compilador genera un código neutral intermedio: bytecode<br />
  10. 10. Este código es interpretado sobre la maquina virtual de Java<br />(Java Virtual Machine, JVM)<br />La JVM convierte el código neutro al código particular de la máquina<br />
  11. 11. Arquitectura Neutral y portable<br />
  12. 12. Java Virtual Machine (JVM)<br />El compilador genera un código neutro:<br />Los bytecodes -> ficheros compilados con<br />extensión *.class<br />Java Virtual Machine<br />Interpreta el código neutro y lo convierte a código particular de la CPU<br />
  13. 13. Interpretado<br />El intérprete Java puede ejecutar bytecodessobre cualquier máquina en la que el intérprete haya sido portado.<br />Multitarea:<br />Java permite construir aplicaciones multitarea<br />(múltiples hilos de ejecución), Java soportasincronización de múltipleshilos de ejecución (multithreading) a nivel de lenguaje, especialmenteútiles en la creación de aplicaciones de red distribuidas. Así, mientras un hilo se encarga de la comunicación, otropuedeinteractuar con el usuariomientrasotropresentaunaanimación en pantalla y otrorealizacálculos. <br />
  14. 14. Dinámico<br /> Las clases son enlazadas sólo conforme se necesitan<br /> Puede enlazarse código desde múltiples fuentes:<br />(incluido Internet)<br />
  15. 15. Ejemplo Programa en Java<br />import java.io.*;<br />2. // Clase HolaMundo<br />3. classHolaMundo<br />4. {<br />5. public static void main(String arg[])<br />6. {<br />7. System.out.println("Hola Mundo");<br />8. }// fin metodo principal<br />9. }// fin clase HolaMundo<br />Debe guardarse en un archivo llamado HolaMundo.java (el nombre del archivo debe coincidir con el de la clase)<br />
  16. 16. import java.io.*;<br />Importa las clases del package java.io.<br />
  17. 17. // Clase HolaMundo<br />Comentarios (como en C++)<br />También es válido: /* Clase HolaMundo */<br />3. classHolaMundo<br />Indica que se va a definir la clase HolaMundo<br />En Java todo son clases: no se puede definir una<br />variable o una función fuera de una clase<br />La clase HolaMundo tiene como finalidad contener<br />al método main<br />
  18. 18. Compilación del programa:<br />javacHolaMundo.java<br />Genera el archivo HolaMundo.class<br />Ejecución del programa:<br />java HolaMundo<br />Provoca:<br />1. El intérprete cargue el archivo HolaMundo.class<br />2. Encuentre la clase del mismo nombre con un método<br />público y estático llamado main<br />3. Proceda a ejecutar el programa invocando dicho<br />método<br />
  19. 19. Ficheros Java:<br />Fuentes: *.java<br />Compilados: *.class<br />
  20. 20. Introducción al lenguaje Java<br />VARIABLES Y TIPOS DE DATOS<br /> Obligado<br />No pueden contener espacios en blanco.<br />Dos variables no pueden tener el mismo nombre.<br />No podemos utilizar palabras reservadas de Java.<br />Recomendado<br />Las variables comienzan por una letra minúscula.<br />Si la variable está compuesta por dos o más palabras, la segunda ( y siguientes) comienzan por letra mayúscula.<br />Los nombres de las clases comienzan por letra mayúscula.<br />
  21. 21. Tipos de datos<br />
  22. 22. Enteros<br /> Siempre con signo<br />Cuatrotipos: byte, short, int, long<br /> Rango independiente de la plataforma<br /> Enteros por defecto son tipo “int”<br /> Para long añadir “L” al final<br /> 989493849859L<br /> -284829848L<br />Para float añadir “F” al final<br />
  23. 23. OPERACIONES Y OPERADORES<br />Asignación<br />Aritmética<br />Relacional<br />Lógica<br />A nivel de bit.<br />
  24. 24. De asignación<br />
  25. 25. Operadores relacionales<br />
  26. 26. Operadores de incremento<br />
  27. 27. Fuentes Bibliográficas<br />Ver bibliografía básica del programa<br />
  28. 28. Operadores lógicos<br />
  29. 29. Operadores de bits<br />

×