Sunteți pe pagina 1din 44

Aprendiendo Java

Alvaro J.Aragoneses alvaroj@acm.asoc.fi.upm.es


ACM Facultad de Informatica Universidad Politecnica de Madrid

26 de Octubre de 2009

Alvaro J.Aragoneses Iniciacion a Java

1/41

ndice I
1 2

Empezando en Java Sintaxis Tipos y operadores I/O por consola Control de ujo Comentarios Objetos en Java Clases Atributos Metodos Metodo main Creando objetos Primer Programa en Java
2/41

Alvaro J.Aragoneses Iniciacion a Java

Contenido
1 2

Empezando en Java Sintaxis Tipos y operadores I/O por consola Control de ujo Comentarios Objetos en Java Clases Atributos Metodos Metodo main Creando objetos Primer Programa en Java
3/41

Alvaro J.Aragoneses Iniciacion a Java

Java: caractersticas

Que es Java? Java es un lenguaje orientado a objetos de Sun Microsystems. Caractersticas: Orientado a objetos Portable: Ejecucion independiente de la arquitectura (maquina virtual JVM): write once, run everywhere. Inuencias: Inuido por C/C++ y otros. Ha inuido en C#, JavaScript... Facilidades: Metodos para gestionar la memoria (Garbage Collector).

Alvaro J.Aragoneses Iniciacion a Java

4/41

Java: caractersticas

Que es Java? Java es un lenguaje orientado a objetos de Sun Microsystems. Caractersticas: Orientado a objetos Portable: Ejecucion independiente de la arquitectura (maquina virtual JVM): write once, run everywhere. Inuencias: Inuido por C/C++ y otros. Ha inuido en C#, JavaScript... Facilidades: Metodos para gestionar la memoria (Garbage Collector).

Alvaro J.Aragoneses Iniciacion a Java

4/41

Java: caractersticas

Que es Java? Java es un lenguaje orientado a objetos de Sun Microsystems. Caractersticas: Orientado a objetos Portable: Ejecucion independiente de la arquitectura (maquina virtual JVM): write once, run everywhere. Inuencias: Inuido por C/C++ y otros. Ha inuido en C#, JavaScript... Facilidades: Metodos para gestionar la memoria (Garbage Collector).

Alvaro J.Aragoneses Iniciacion a Java

4/41

Java: caractersticas

Que es Java? Java es un lenguaje orientado a objetos de Sun Microsystems. Caractersticas: Orientado a objetos Portable: Ejecucion independiente de la arquitectura (maquina virtual JVM): write once, run everywhere. Inuencias: Inuido por C/C++ y otros. Ha inuido en C#, JavaScript... Facilidades: Metodos para gestionar la memoria (Garbage Collector).

Alvaro J.Aragoneses Iniciacion a Java

4/41

Material recomendado
Es recomendable instalar el siguiente software: Plataforma J2SE 1.6 de Java: Se puede descargar JDK 6.0 Update 16 en http://java.sun.com/javase/downloads/index.jsp. Entorno de desarrollo Eclipse: Se puede descargar Eclipse IDE for Java Developers en http://www.eclipse.org/downloads/. Otros entornos de desarrollo: NetBeans, bluej, CodeWarrior (comercial),... Para instalarlo en GNU/Linux bajo derivados de Debian: sudo aptitude install eclipse

Alvaro J.Aragoneses Iniciacion a Java

5/41

Bibliografa

Tambien se pueden consultar: Thinking in Java. 3rd Edition. Bruce Eckel. The Java Tutorials Sun Microsystems: http://java.sun.com/docs/books/tutorial/ Estructura de datos con Java. Diseno de estructuras y algoritmos John Lewis, Joseph Chase. Addison Wesley

Alvaro J.Aragoneses Iniciacion a Java

6/41

Contenido
1 2

Empezando en Java Sintaxis Tipos y operadores I/O por consola Control de ujo Comentarios Objetos en Java Clases Atributos Metodos Metodo main Creando objetos Primer Programa en Java
7/41

Alvaro J.Aragoneses Iniciacion a Java

Tipos basicos

Declaramos variables como: Example Tipo nombre [= valor] ; tipos de las variables: int Numeros enteros. char Caracteres. Se representan entre . boolean: Booleanos: false, true. double: Numeros enteros en doble precision. oat: Numeros en coma otante.

Alvaro J.Aragoneses Iniciacion a Java

8/41

Tipos mas complejos

Otros mas complejos son: array Vector de elementos. Declaracion: Tipo [ ] nombre. Ej: int [ ] array1 String: Cadena de caracteres no modicable. Se representan entre . StringBuffer: Cadena de caracteres modicable. Se representan entre . enum: Enumerados. Ej: das de la semana: public enum Tsemana {LUNES, MARTES, MIERCOLES};

Alvaro J.Aragoneses Iniciacion a Java

9/41

Operadores

Binarios: +, -, *, /, % (modulo de un entero), etc Booleanos: && (and), || (or), ! (not), etc Relacion: ==, !=, < <= > >= Incrementos: a++, ++a, - -a, a- Asignacion: =, +=, -=, etc De cadena: + (concatenar). Ej: Hola +mundoquedara Hola mundo.

Alvaro J.Aragoneses Iniciacion a Java

10/41

Casting

Casting Conversion de tipos: variable1 = (nuevo tipo) variable2 Si con ello se pierde informacion, tendremos que hacerlo explcito. Ej: int entero1 = (int) real1; No siempre se puede hacer.

Alvaro J.Aragoneses Iniciacion a Java

11/41

Casting II

Hay metodos que transforman un tipo en otro sin hacer un casting. Example int num = Integer.parseInt("123"); El metodo Integer.parseInt transforma Strings en Int

Alvaro J.Aragoneses Iniciacion a Java

12/41

Salida por consola

Para la salida de texto por consola, usaremos el metodo System.out.println("Texto"); Cuidado: Java es sensible a mayusculas.

Alvaro J.Aragoneses Iniciacion a Java

13/41

Entrada por consola

Para la entrda de datos por consola, escribiremos en la cabecera import java.util.*; despues Scanner sc = new Scanner(System.in); y por ultimo: String texto = sc.nextLine();

Alvaro J.Aragoneses Iniciacion a Java

14/41

If-else

Estructura if (condicion) { sentencias; ... } else { ... } Nota: No hace falta poner las llaves si queremos que se ejecute solo la siguiente sentencia.

Alvaro J.Aragoneses Iniciacion a Java

15/41

If-else

La sentencia que incluya el return tiene que ser siempre la ultima del bloque. Example if ( numero < 1 ) { numero = numero + 3; return numero; } else { return numero; }

Alvaro J.Aragoneses Iniciacion a Java

16/41

Operador ternario

Estructura var = exp booleana ? opcionTrue : opcionFalse; Example int maximo; maximo = a>b ? a : b; No es recomendable usarlo porque su estructura es muy poco clara.

Alvaro J.Aragoneses Iniciacion a Java

17/41

Switch

Estructura switch (expresin) o { case opcin1: sentencias1; o [break;] // Salimos del switch case opcin2: sentencias2; o [break;] ... [default: sentencias;] //En otro caso } Expresion solo puede ser un int, byte, short, char o enum.

Alvaro J.Aragoneses Iniciacion a Java

18/41

Switch

Example switch (dia) { default: trabajar(); dormir(); break; case VIERNES: trabajar(); case SBADO: salir(); dormir(); A break; case DOMINGO: visitaAbuela(); }

Alvaro J.Aragoneses Iniciacion a Java

19/41

While
Mnimo numero de ejecuciones: 0. Estructura while (expresin) { o sentencias;} Example boolean encontrado = false; while (i<array1.length() && not encontrado) { if ( array1[i] = elem ) encontrado = true; i++; //Mejor con un else }
Alvaro J.Aragoneses Iniciacion a Java

20/41

Do-while
Mnimo numero de ejecuciones: 1. Estructura do { sentencias; } while ( condicin); o Example int nmero = 4557888; u int dgitos = 0; do { nmero /=10; u dgitos++; } while ( nmero > 0 ); u
Alvaro J.Aragoneses Iniciacion a Java 21/41

For

Estructura for (inicializacin; condicin; actualizacin){ o o o sentencias; } Example for (int factor = 1;factor <= 9;factor ++){ System.out.println("3 x " + factor + " = " + 3*factor ); }

Alvaro J.Aragoneses Iniciacion a Java

22/41

Comentarios en Java

Comentarios Comentar tu codigo es Muy recomendable. Comentarios para el programador (modicaciones, cambio de programador...):
// : Comentario de una lnea. /* : Comentario de varias lneas. Primera lnea con /*, ultima solo */ y resto con *.

Comentarios para los clientes:


/** : Documentacion Javadoc (se generara un .html). Primera lnea con /**, ultima solo */ y resto con *.

Alvaro J.Aragoneses Iniciacion a Java

23/41

Nuestro primer programa

Probemos un programa sencillo: holamundo.java class holamundo{ static public void main(String argv){ System.out.println("Hola Mundo!"); } }

Alvaro J.Aragoneses Iniciacion a Java

24/41

Hora del cafe

Un descansito!

Alvaro J.Aragoneses Iniciacion a Java

25/41

Contenido
1 2

Empezando en Java Sintaxis Tipos y operadores I/O por consola Control de ujo Comentarios Objetos en Java Clases Atributos Metodos Metodo main Creando objetos Primer Programa en Java
26/41

Alvaro J.Aragoneses Iniciacion a Java

Objetos en java

denicion Un objeto es un paquete software que almacena un determinado estado y su comportamiento Los objetos abstraen problemas de la vida real

Alvaro J.Aragoneses Iniciacion a Java

27/41

Clases en Java

Una clase es el modelo que se instancia al crear un objeto. las clases se declaran como: Denicion class [nombre de la clase]{ ... } Las clases tienen el mismo nombre que el archivo que las contiene

Alvaro J.Aragoneses Iniciacion a Java

28/41

Atributos

denicion Los Atributos describen los estados propios de un ob Son variables a las que se puede acceder desde cualquier metodo de la clase (incluso desde metodos de otras clases).

Alvaro J.Aragoneses Iniciacion a Java

29/41

Metodos

denicion Los metodos describen un determinado comportamiento Son, a su vez, funciones que pueden ser llamadas dentro de la clase (o por otras clases).

Alvaro J.Aragoneses Iniciacion a Java

30/41

Propiedades de los metodos

Los metodos pueden o no devolver un valor. El ambito de las variables creadas en el metodo se limita al metodo

Alvaro J.Aragoneses Iniciacion a Java

31/41

Creando un metodo
Para crear un metodo, utilizaremos la siguiente sintaxis: denicion Tipo Nombre(tipo arg1, tipo arg2...){ ... [return] } donde: Tipo : indica el tipo devuelto por el metodo (void si no devuelve nada) Nombre : el nombre que designaremos al metodo arg : los parametros de entrada de la funcion.Cuando llamemos a una funcion, los tipos de los argumentos pasados deben coincidir con los tipos denidos en el metodo
Alvaro J.Aragoneses Iniciacion a Java 32/41

Metodo Main

El metodo Main es el punto de entrada de cualquier programa en java. Su sintaxis es: main public static void main(String argv[]){ ... }

Alvaro J.Aragoneses Iniciacion a Java

33/41

Utilizando clases

Una clase puede crear instancias de otras clases (objetos) para utilizar sus metodos. denicion clase nombre = new clase(); A partir de ese momento, podremos usar ese objeto en nuestro codigo.

Alvaro J.Aragoneses Iniciacion a Java

34/41

Utilizando clases II

Podemos utilizar los metodos y atributos de una clase con la siguiente sintaxis: denicion objeto.metodo(argumentos); objeto.atributo; De esta forma podemos escribir codigo que reutilicemos muchas veces.

Alvaro J.Aragoneses Iniciacion a Java

35/41

Contenido
1 2

Empezando en Java Sintaxis Tipos y operadores I/O por consola Control de ujo Comentarios Objetos en Java Clases Atributos Metodos Metodo main Creando objetos Primer Programa en Java
36/41

Alvaro J.Aragoneses Iniciacion a Java

Compilando

Cuando compilamos nuestro programa en Java, obtenemos un archivo .class con el mismo nombre que nuestro fuente (.java)

Este .class es el archivo que la MV ejecutara en cada Sistema Operativo, y que podremos transportar a cualquier parte.

Alvaro J.Aragoneses Iniciacion a Java

37/41

Compilando

Para compilar utilizaremos en consola el comando: main javac programa.java Para ejecutar nuestro programa, escribiremos: main java programa

Alvaro J.Aragoneses Iniciacion a Java

38/41

Un caso practico
calculadora.java class calculadora{ static public void main(String argv){ Scanner sc = new Scanner(); System.out.println("introduce el primer numero a sumar"); int op1 = Integer.parseInt(sc.nextLine()); System.out.println("introduce el segundo numero a sumar"); int op2 = Integer.parseInt(sc.nextLine()); int res = op1 + op2; System.out.println("El resultado es : "+res); } }
Alvaro J.Aragoneses Iniciacion a Java 39/41

Vamos despidiendonos

Preguntas?

Alvaro J.Aragoneses Iniciacion a Java

40/41

Adios!

Gracias por venir!

Alvaro J.Aragoneses Iniciacion a Java

41/41

S-ar putea să vă placă și