Introduccion al lenguaje Java - PILP

concepcionsockΛογισμικό & κατασκευή λογ/κού

15 Αυγ 2012 (πριν από 8 χρόνια και 11 μήνες)

719 εμφανίσεις

1

INTRODUCCIÓN AL
LENGUAJE JAVA

Silvana Canuto Canete

Sun Campus Ambassador

Silvana.Canete@sun.com

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:
J
ames Gosling,
A
rthur
V
an Hoff, y
A
ndy
Bechtolsheim. Otras abogan por “
J
ust
A
nother
V
ague
A
cronym”.


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 (
A
pplication
P
rogramming
I
nterface
)



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



Introducción al lenguaje Java


Silvana Canuto Canete

11

Java en detalle

Tipos Primitivos

Introducción al lenguaje Java


Silvana Canuto Canete

12

Java en detalle

Tipos 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”
;


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 vale
4


Introducción al lenguaje Java


Silvana Canuto Canete

17

Ejemplo con operadores posfix y
unarios

int 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 num
1
:...break;


case num
2
:...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 s
1
= “Hello”;

String s
2
= new String(s
1
);

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
I
ntegrated
D
evelopment
E
nviroment). 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 Java
TM
, Solaris
TM
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?

47

MUCHAS GRACIAS!

Silvana Canuto Canete

Silvana.Canete@sun.com

blogs.sun.com/argentina_ambassador

47