Download - 1 INTRODUCCIÓN AL LENGUAJE JAVA Silvana Canuto Canete Sun Campus Ambassador [email protected] 1
Introducción al lenguaje Java – Silvana Canuto Canete 2
Agenda
• ¿Qué es Java?• Un poco de historia• Funcionamiento de Java• Detalles de la sintaxis Java • Componentes de un programa Java• Paquetes de Java – java.lang• Desarrollo de una aplicación Java – JDK e IDEs• Netbeans – instalación y ejemplo
Introducción al lenguaje Java – Silvana Canuto Canete 3
¿Qué es Java?
• Java es un lenguaje de programación orientado a objetos desarrollado a principios de los años 90.• El lenguaje en sí mismo toma mucha de su sintaxis
de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel.• Es independiente de la plataforma. Las primeras
implementaciones de Java rezaban:“write once, run anywhere”.• Posee un sistema de administración de memoria
automático.
Introducción al lenguaje Java – Silvana Canuto Canete 4
Un poco de historia
• Fue realizado por un equipo de 13 personas, dirigidas por James Gosling.• Los objetivos de Gosling eran implementar una
máquina virtual y un lenguaje con una estructura y sintaxis similar a C++.
• Java se creó originalmente como una herramienta de programación para un proyecto set-top-box conocido como *7.
Introducción al lenguaje Java – Silvana Canuto Canete 5
Un poco de historia (II)• En un principio, el sistema *7 no encontró un lugar
en el mercado.
• A principios de los noventa, y sin un mercado para su herramienta, Gosling y su equipo se reunieron y notaron que “la nueva y popular Internet” tenia exactamente el tipo de configuración de red que ellos habían visionado para la industria de la TV por cable.
• Con esto en mente Gosling y su equipo crearon el navegador WebRunner y realizaron un demo que mostraba una molécula animada en una reunión de profesionales de la industria del entretenimiento e Internet.
• Todos sabemos como termina esta historia….
Introducción al lenguaje Java – Silvana Canuto Canete 6
¿Porqué Java?
• El lenguaje se denominó inicialmente “Oak”. Luego pasó a denominarse “Green” tras descubrir que Oak era ya una marca comercial registrada.
• El término “JAVA” fue acuñado en una cafetería frecuentada por algunos de los miembros del equipo.
• No está claro si es un acrónimo o no, algunas hipotesis indican que podría tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otras abogan por “Just Another Vague Acronym”.
• La hipótesis que más fuerza tiene es la que Java debe su nombre a un tipo de café disponible en la cafetería.
Introducción al lenguaje Java – Silvana Canuto Canete 7
.java, .class, JVM???
• En Java el código fuente se escribe en un archivo de texto plano con extensión .java.
• Luego, el código es compilado a archivos .class. Un archivo .class no contiene código nativo a un tipo de procesador, en cambio contiene bytecodes.
• Finalmente, la aplicación es interpretada por la maquina virtual de Java, transformando los bytecodes en código nativo en tiempo de ejecución.
Introducción al lenguaje Java – Silvana Canuto Canete 8
Bytecode
• El bytecode es lenguaje nativo de cualquier implementación de la maquina virtual de Java. De esta forma se logra que un programa Java corra en cualquier plataforma que disponga de una JVM.
Introducción al lenguaje Java – Silvana Canuto Canete 9
La plataforma Java
• Una plataforma es el ambiente de software o hardware en el que corre un programa.
• La plataforma Java consta de dos componentes> La maquina virtual de Java> La API de Java (Application Programming Interface)
• La API de Java es una vasta colección de componentes de software que proveen un conjunto de funciones útiles.
Introducción al lenguaje Java – Silvana Canuto Canete 10
Java en detalleInicialización de Variables
• El lenguaje Java es fuertemente tipado, lo que significa que todas las variables deben ser declaradas antes de utilizarse.
int unaVariable = 1;
Introducción al lenguaje Java – Silvana Canuto Canete 11
Java en detalleTipos Primitivos
Introducción al lenguaje Java – Silvana Canuto Canete 12
Java en detalleTipos Primitivos (II)
Introducción al lenguaje Java – Silvana Canuto Canete 13
La clase String
• Java provee soporte especial para las cadenas de caracteres a través de la clase java.lang.String
• No es un tipo primitivo.• Sin embargo, mediante sobrecarga de operadores pueden
realizarse operaciones como:String unString = “Juan” + “ ” + “Perez”String unString = “Juan” + “ ” + “Perez”;;
• Java también provee un amplio conjunto de operaciones para manipular las instancias de esta clase.
Introducción al lenguaje Java – Silvana Canuto Canete 14
Operadores: precedencia y funcionalidad
Introducción al lenguaje Java – Silvana Canuto Canete 15
Operadores: precedencia y funcionalidad (II)
Introducción al lenguaje Java – Silvana Canuto Canete 16
Ejemplo con operadores arimeticos
int i=2+3; // i vale 5
i=i+1; //i vale 6
i=6*2; //i vale 12
i=2+5*2%8; //i vale4
Introducción al lenguaje Java – Silvana Canuto Canete 17
Ejemplo con operadores posfix y unariosint i=5; // i vale 5
System.out.println(i); //Imprime:5
System.out.println(++i); //Imprime:6
System.out.println(i++); //Imprime:6
System.out.println(i); //Imprime:7
Introducción al lenguaje Java – Silvana Canuto Canete 18
Sentencias de control: if
if(expr){....}
if(expr) sentencia;
if(expr){....} else {....}
Introducción al lenguaje Java – Silvana Canuto Canete 19
Sentencias de control: switch
Switch (num){ case num1:...break; case num2:...break; default:...break;}
Introducción al lenguaje Java – Silvana Canuto Canete 20
Sentencias de control: while y do-while
while (expr){....}
do {....}while(expr);
Introducción al lenguaje Java – Silvana Canuto Canete 21
Sentencias de control: for
for (exprInic; condCorte; pasoSig){....}
for (int i=0; i<10; i++) { System.out.println(i);}//Imprime los numeros del 0 al 9
Introducción al lenguaje Java – Silvana Canuto Canete 22
Estructura de un programa Java• La programación orientada a objetos se basa en que cada programa es una
simulación de un mundo real o virtual.
• Cada uno de estos mundos esta compuesto de objetos.
• Los objetos se comunican a través de mensajes
• Por lo tanto, un programa orientado a objetos no es mas que una configuración de un conjunto de objetos y los mensajes que se envían entre ellos.
• El “molde” que guarda la descripción de todos los objetos de un mismo tipo e lo que conocemos como clase.
• A su vez, las clases con propósitos similares pueden agruparse en paquetes.
• La ejecución de un programa comienza en el método “main” de una clase.
Introducción al lenguaje Java – Silvana Canuto Canete 23
Ejemplo de paquete
Introducción al lenguaje Java – Silvana Canuto Canete 24
Reglas para la creación de clases y paquetes
• Las clases Java se implementan en archivos separados.
• Cada clase se debe encontrar dentro de un paquete.• El nombre del archivo de la implementación de clase
debe ser igual al nombre de la clase.• La estructura de paquete debe corresponderse a la
estructura de directorio. Ej: edu.sun.Ejemplo seria mapeado al archivo .../edu/sun/Ejemplo.java
Introducción al lenguaje Java – Silvana Canuto Canete 25
Estructura de una clase
Introducción al lenguaje Java – Silvana Canuto Canete 26
Modificadores de acceso - visibilidad
Introducción al lenguaje Java – Silvana Canuto Canete 27
Ejemplos de paquetes Java• java.io
> El paquete de entrada/salida contiene las clases de acceso a archivos: FileInputStream y FileOutputStream, etc.
• java.lang> Incluye las clases del lenguaje Java propiamente dicho: Object, Thread,
Exception, System, Integer, Float, Math, String, etc.
• java.util> Miscelánea de clases útiles para muchas cosas en programación. > Incluyen, Date (fecha), Dictionary (diccionario), Random (números aleatorios) y
Stack (pila FIFO).
Introducción al lenguaje Java – Silvana Canuto Canete 28
java.lang
• Tipos primitivos encapsulados en clases:> Boolean> Byte> Character> Double> Float> Integer > Long> Short> Void
Introducción al lenguaje Java – Silvana Canuto Canete 29
java.lang (II)
• Ejemplo: Integer (interfaz pública):> public final class Integer extends Number> Variables:
– MAX_VALUE (valor mayor de “int”)– MIN_VALUE (valor mínimo de “int”)
> Constructores:– Integer(int)– Integer(String)
> Métodos:– Conversión a otros tipos: doubleValue(), floatValue(), intValue(),
parseInt(String), toString(), valueOf(String)– Obtención de valor como un “int”: intValue()
Introducción al lenguaje Java – Silvana Canuto Canete 30
java.lang (III)
• Clases para cadenas de caracteres:> clase String: conjunto de caracteres no modificable> clase StringBuffer: conjunto de caracteres modificable
• public final class String extends Object implements Serializable
Introducción al lenguaje Java – Silvana Canuto Canete 31
java.lang (IV)
• Constructores:> String(byte[]) > String(char[]) > String(String)
• Ejemplos:char[] chars = {’a’,’b’,’c’};String s = new String(chars);String s1 = “Hello”;String s2 = new String(s1);
Introducción al lenguaje Java – Silvana Canuto Canete 32
java.lang (V)
• Métodos de manipulación de strings:> length() , concat(String), indexOf(String), lastIndexOf(String) ,
toUpperCase(), ...
• Métodos de conversión desde otros tipos:> valueOf(double), valueOf(int), ...
• Operador “+” en strings está sobrecargado:> 3+”abc”+3.4
Introducción al lenguaje Java – Silvana Canuto Canete 33
java.lang (VI)
• Clase Math
• Constantes:> E, PI
• Métodos: > abs(double), acos(double), asin(double), atan, cos,
exp, log, max(double, double), pow(double, double), round (float)
Introducción al lenguaje Java – Silvana Canuto Canete 34
java.lang (VII)
• Clase System> Variables (estáticas):
– in: "standard” input stream. Normalmente es el teclado– out: "standard” output stream. Normalmente es ventana de
mensajes– err: "standard" error output stream. Normalmente es ventana
de mensajes
• Métodos: > getProperties(), gc() - fuerza a utilizar el administrador de
memoria-
Introducción al lenguaje Java – Silvana Canuto Canete 35
Otros paquetes
• Package java.util> Clases: Vector, Date, HashMap, StringTokenizer…
• Package java.text> Clases: DateFormat, DecimalFormat… (sirven para variantes de
formato).
• Package java.math> Clases: BigDecimal, BigInteger… (arbitraria precisión y
capacidad).
Introducción al lenguaje Java – Silvana Canuto Canete 36
Java Development Kit (JDK)
• El JDK consiste de lo siguiente:> El Java development tools, incluyendo el compilador,
debugger y el intérprete Java.> Las Java class libraries organizadas como una colección
de paquetes.> Un número importante de programas de demostración.> Varias herramientas de soporte y componentes,
incluyendo el código fuente de las clases en la biblioteca.
• URL: java.sun.com/javase/downloads
Introducción al lenguaje Java – Silvana Canuto Canete 37
Ambientes de desarrollo Java (IDEs)• Un IDE (del inglés Integrated Development Enviroment). Es
un ambiente que integra un conjunto de herramientas (editor con prestaciones especiales, compilador, administración de proyectos, debugger,etc) que permiten realizar todo el proceso de desarrollo dentro del mismo.
• Si bien es posible escribir nuestros programas java en cualquier editor de texto y compilarlos desde una consola con javac, es mas cómodo y recomendable trabajar desde un IDE.
Introducción al lenguaje Java – Silvana Canuto Canete 38
¿Y que tiene un IDE que no tenga mi bloc de notas?• En general, todos los editores de los IDEs mas modernos
proveen:> Un editor language aware: indentación de código, resaltador
de sintáxis, matching de variables y llaves, etc.> Parsing en tiempo de ejecución: corrección de errores,
remarcado de ocurrencias, tips, arreglos sencillos, etc.> Generación automática de código y funciones para
completar código mientras escribimos.• Administración de proyectos• Debugger• Múltiples opciones de configuración
Introducción al lenguaje Java – Silvana Canuto Canete 39
Algunos de los IDEs mas utilizados
Introducción al lenguaje Java – Silvana Canuto Canete 40
• El IDE NetBeans es un ambiente de desarrollo de código abierto creado a partir de la plataforma homónima
• Originalmente desarrollado por Sun Microsystems, actualmente mantenido por la comunidad NetBeans (aunque aun recibe soporte de Sun como producto).
• Es multiplataforma• Licencias CDDL y GPL 2.• Todas las funciones en NetBeans son provistas por
módulos.
Introducción al lenguaje Java – Silvana Canuto Canete 41
Proceso de instalación de NetBeans• Bajar e instalar la última versión del JDK (requerido).
• Ingresar a http://download.netbeans.org/netbeans/6.0/final/ o a http://download.netbeans.org/netbeans/6.1/beta/ y bajar la versión correspondiente a nuestro sistema operativo.
• Ejecutar el instalador (.sh o .exe, dependiendo). Seguir el proceso de instalación y ejecutar la aplicación netbeans al finalizar el mismo.
Introducción al lenguaje Java – Silvana Canuto Canete 42
Ejemplo de aplicación en NetBeans
Introducción al lenguaje Java – Silvana Canuto Canete 43
Aprender Java en la web
• Sun's Java Tutorials> http://java.sun.com/docs/books/tutorial/
• Learning Connection> http://learningconnection.sun.com
• Java Passion> http://www.javapassion.com/
Introducción al lenguaje Java – Silvana Canuto Canete 44
Acelera tu carrera profesional con SAI
• Entrenamiento GRATIS vía web de JavaTM, SolarisTM y mas.> Página de la iniciativa: http://ar.sun.com/training/sai/index.jsp> Cursos en: http://learningconnection.sun.com
• Company name: SAI-Universidad de La Punta• Company ID: CUS-0000116543
Introducción al lenguaje Java – Silvana Canuto Canete 45
Acelera tu carrera profesional con SAI (II)
• Incrementá tu potencial de obtener salarios mayores con certificaciones Sun> Sun Certified Associate/Programmer for the Java 2 Platform SE> Sun Certified Web Component Developer for Java EE> Sun Certified Mobile Application Developer for Java ME> Sun Certified System/Network Admin for Solaris Operating
System • Exámenes de entrenamiento gratis• Exámenes oficiales rebajados de U$S 120-200 a U$S 40
Introducción al lenguaje Java – Silvana Canuto Canete 46
¿Preguntas?