Title: INTRODUCCIN AL LENGUAJE JAVA
1INTRODUCCIÓN AL LENGUAJE JAVA
- Silvana Canuto Canete
- Sun Campus Ambassador
- Silvana.Canete_at_sun.com
1
2Agenda
- 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
3Qué 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 rezabanwrite once, run
anywhere. - Posee un sistema de administración de memoria
automático.
4Un poco de historia
- Java se creó originalmente como una herramienta
de programación para un proyecto set-top-box
conocido como 7.
- 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.
5Un 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.
6Porqué 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.
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.
8Bytecode
- 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.
9La 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.
10Java en detalle
Inicializació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
11Java en detalle
Tipos Primitivos
12Java en detalle
Tipos Primitivos (II)?
13La 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
- Java también provee un amplio conjunto de
operaciones para manipular las instancias de esta
clase.
14Operadores precedencia y funcionalidad
15Operadores precedencia y funcionalidad (II)?
16Ejemplo con operadores arimeticos
- int i23 // i vale 5
- ii1 //i vale 6
- i62 //i vale 12
- i2528 //i vale4
17Ejemplo con operadores posfix y unarios
- int i5 // i vale 5
- System.out.println(i) //Imprime5
- System.out.println(i) //Imprime6
- System.out.println(i) //Imprime6
- System.out.println(i) //Imprime7
18Sentencias de control if
- if(expr)
- ....
-
- if(expr)?
- sentencia
if(expr) .... else ....
19Sentencias de control switch
- Switch (num)
- case num1...break
- case num2...break
- default...break
20Sentencias de control while y do-while
do .... while(expr)
21Sentencias de control for
- for (exprInic condCorte pasoSig)
- ....
-
- for (int i0 ilt10 i)
- System.out.println(i)
- //Imprime los numeros del 0 al 9
22Estructura 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.
23Ejemplo de paquete
24Reglas 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
25Estructura de una clase
26Modificadores de acceso - visibilidad
27Ejemplos 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).
28java.lang
- Tipos primitivos encapsulados en clases
- Boolean
- Byte
- Character
- Double
- Float
- Integer
- Long
- Short
- Void
29java.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()
30java.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
31java.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)
32java.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
- 3abc3.4
33java.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)?
34java.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-
35Otros 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).
36Java 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
37Ambientes 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.
38Y 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
39Algunos de los IDEs mas utilizados
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.
41Proceso 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/netbean
s/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.
42Ejemplo de aplicación en NetBeans
43Aprender 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/
44Acelera tu carrera profesional con SAI
- Entrenamiento GRATIS vía web de JavaTM,
SolarisTM y mas. - Página de la iniciativa http//ar.sun.com/trainin
g/sai/index.jsp - Cursos en http//learningconnection.sun.com
- Company name SAI-Universidad de La Punta
- Company ID CUS-0000116543
45Acelera 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 US 120-200 a
US 40
46Preguntas?
47MUCHAS GRACIAS!
- Silvana Canuto Canete
- Silvana.Canete_at_sun.com
- blogs.sun.com/argentina_ambassador
47