Java world

47
1 INTRODUCCIÓN AL LENGUAJE JAVA Silvana Canuto Canete Sun Campus Ambassador [email protected] 1

Transcript of Java world

Page 1: Java world

1

INTRODUCCIÓN AL LENGUAJE JAVA

Silvana Canuto CaneteSun Campus [email protected]

1

Page 2: Java world

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

Page 3: Java world

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.

Page 4: Java world

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.

Page 5: Java world

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….

Page 6: Java world

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.

Page 7: Java world

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.

Page 8: Java world

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.

Page 9: Java world

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.

Page 10: Java world

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;

Page 11: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 11

Java en detalleTipos Primitivos

Page 12: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 12

Java en detalleTipos Primitivos (II)

Page 13: Java world

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.

Page 14: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 14

Operadores: precedencia y funcionalidad

Page 15: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 15

Operadores: precedencia y funcionalidad (II)

Page 16: Java world

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

Page 17: Java world

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

Page 18: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 18

Sentencias de control: if

if(expr){....}

if(expr) sentencia;

if(expr){....} else {....}

Page 19: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 19

Sentencias de control: switch

Switch (num){ case num1:...break; case num2:...break; default:...break;}

Page 20: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 20

Sentencias de control: while y do-while

while (expr){....}

do {....}while(expr);

Page 21: Java world

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

Page 22: Java world

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.

Page 23: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 23

Ejemplo de paquete

Page 24: Java world

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

Page 25: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 25

Estructura de una clase

Page 26: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 26

Modificadores de acceso - visibilidad

Page 27: Java world

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).

Page 28: Java world

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

Page 29: Java world

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()

Page 30: Java world

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

Page 31: Java world

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);

Page 32: Java world

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

Page 33: Java world

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)

Page 34: Java world

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-

Page 35: Java world

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).

Page 36: Java world

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

Page 37: Java world

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.

Page 38: Java world

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

Page 39: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 39

Algunos de los IDEs mas utilizados

Page 40: Java world

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.

Page 41: Java world

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.

Page 42: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 42

Ejemplo de aplicación en NetBeans

Page 43: Java world

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/

Page 44: Java world

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

Page 45: Java world

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

Page 46: Java world

Introducción al lenguaje Java – Silvana Canuto Canete 46

¿Preguntas?

Page 47: Java world

47

MUCHAS GRACIAS!

Silvana Canuto [email protected] blogs.sun.com/argentina_ambassador

47