curso de java 3

31
JAVA BÁSICO CUENCO SYSTEMS & CONSULTING S.l. || SPEARSOFT

Upload: oscar-morato

Post on 22-Dec-2015

223 views

Category:

Documents


0 download

DESCRIPTION

Curso de Java 3

TRANSCRIPT

Page 1: Curso de Java 3

JAVA BÁSICO

CUENCO SYSTEMS & CONSULTING S.l. || SPEARSOFT

Page 2: Curso de Java 3

Fundamentos de la programación orientada a objetos

Herramientas de desarrollo en entornos Java

• Presentación del framework de trabajo Java

Programación Java: conceptos básicos y prácticas

Principios de conectividad a base de datos en aplicaciones Java

Proyecto de fin curso; desarrollo de una aplicación completa en Java

trabajando en equipos

CONTENIDO DEL CURSO

Java Básico (Contenido)

Page 3: Curso de Java 3

Presentación del framework de trabajo Java

Sintaxis de Java

Tipos de datos y estructuras lógicas

Estructuras de control en Java

API y JavaDoc

CONTENIDO DEL CURSO

Java Básico (Contenido)

Page 4: Curso de Java 3

Sintaxis de Java

Java Básico (Presentación de Java)

Un poco de código… package packageName; import ClassNameToImport; accessSpecifier class ClassName { accessSpecifier dataType variableName [= initialValue]; accessSpecifier ClassName([argumentList]) { constructorStatement(s) } accessSpecifier returnType methodName([argumentList]) { methodStatement(s) } // This is a comment /* This is a comment too */ /* This is a multiline *comment */ }

Page 5: Curso de Java 3

Sintaxis de Java (package)

Java Básico (Sintaxis de Java)

Paquete package (Unidad de encapsulamiento de código) No es necesario el definirlo pero es altamente recomendado el usar. Estandar de nomenclatura: tipoDeDominio.nombreDeDominio.appName.compName. tipoDeDominio: es, com, org, info, … nombreDeDominio: mineco, renta, …. appName: sumador, hola, biblioteca, … compName: gestorFicheros, gestorVentanas, … Ejemplo: package es.spearsoft.hola.decirHola;

Page 6: Curso de Java 3

Sintaxis de Java (Inciso)

Java Básico (Sintaxis de Java)

Como en los lenguajes de programación no se pueden usar espacios se usa una serie de artificios para poder representar nombres que usen espacios. El mas conocido y usado de ellos es CamelCase que consiste en cambiar la primera letra de la palabra espaciada por su equivalente mayúscula. Por ejemplo: nombre de dominio = nombreDeDominio app name = appName Existen dos tipos fundamentales de CamelCase, UpperCamelCase y lowerCamelCase, los dos ejemplo de arriba corresponde al tipo lowerCamelCase mientras que un ejemplo de UpperCamelCase seria origen de datos = OrigenDeDatos

Page 7: Curso de Java 3

Sintaxis de Java (import)

Java Básico (Sintaxis de Java)

import: Sentencia por la cual especificamos al compilador que vamos a usar código que reside en otro package. Ejemplo: import es.spearsoft.hola.decirHola.*; De esta manera le estamos diciendo que queremos usar todas las clases del package. Esta practica es bastante habitual pero lo correcto es especificar implícitamente que clase queremos usar. Ejemplo: import es.spearsoft.hola.decirHola.Saludo;

Page 8: Curso de Java 3

Sintaxis de Java (Clases)

Java Básico (Sintaxis de Java)

class: Sentencia por la cual especificamos al compilador que vamos a declarar una clase. Ejemplo: accessSpecifier class ClassName { … } Como podemos observar para el nombre de clase usaremos UpperCamelCase. accessSpecifier: Esto es el modificador de acceso a nuestra clase, con el podemos especificar el ámbito de visibilidad de la clase. Los valores posibles son: public: Es visible por todo el mundo. protected: Es visible por sus clases hijas, residan donde residan. <defecto>: Es visible por las clases que residen en el mismo package.

Page 9: Curso de Java 3

Sintaxis de Java (Atributos)

Java Básico (Sintaxis de Java)

Los atributos son los elementos principales de los que dispones una clase para poder definir el estado de un objeto. Signatura: accessSpecifier dataType variableName [= initialValue]; Como podemos observar para el nombre de atributos usaremos lowerCamelCase. accessSpecifier: Esto es el modificador de acceso a nuestro atributo, con el podemos especificar el ámbito de visibilidad del atributo. Los valores posibles son: Los mismos que las clases. private: Solo visible en la clase que lo contiene. dataType: Esto es el tipo del atributo, puede ser un tipo básico, un objeto, o una colección de ellos. [=initialValue]: Valor inicial, puede que se especifique o no.

Page 10: Curso de Java 3

Sintaxis de Java (Métodos)

Java Básico (Sintaxis de Java)

Los métodos son los elementos principales de los que dispones una clase con los que podemos definir el comportamiento de un objeto. Signatura: accessSpecifier returnType methodName([argumentList]) { methodStatement(s) }

Como podemos observar para el nombre de metodos usaremos lowerCamelCase. accessSpecifier: Esto es el modificador de acceso a nuestro método, con el podemos especificar el ámbito de visibilidad del atributo. returnType: Esto es el tipo devuelto por el método, si el metodo no devuelve nada se fijara al valor void. [argumentList]: Listado de argumentos, tipados y separados por “,”. methodStatement(s): Instrucciones del método.

Page 11: Curso de Java 3

Sintaxis de Java (Constructores)

Java Básico (Sintaxis de Java)

Los constructores son unos con una signatura especial con el cual podemos definir como se construye un objeto de nuestro modelo de datos. Signatura: accessSpecifier ConstructorName([argumentList]) { constructorStatement(s) }

El nombre del método constructor deberá ser el mismo que el de la clase. accessSpecifier: El modificador de acceso deberá corresponder con el de la clase. [argumentList]: Listado de argumentos, tipados y separados por “,”. constructorStatement(s): Instrucciones del constructor. Sobrecarga de operadores: En java esta permitido que existan métodos y constructores que tengan el mismo nombre, pero estos presentaran variaciones en el listado de argumentos.

Page 12: Curso de Java 3

Tipos de datos y estructuras lógicas

Java Básico (Tipos de datos y estructuras lógicas)

Es hora de ver los tipos de datos básicos y los valores que estos nos permiten almacenar.

Tipo Tamaño Default Rango de valores boolean n/d false verdadero o falso byte 8 bits 0 -128 a 127 char 16 bits <> \u0000' \u0000' a \uffff' o 0 a 65535 short 16 bits 0 -32768 a 32767 int 32 bits 0 -2147483648 a 2147483647 large 64 bits 0 -9223372036854775808 a 9223372036854775807 float 32 bits 0,0 1.17549435e-38 a 3.4028235e+38 double 64 bits 0,0 4.9e-324 a 1.7976931348623157e+308

Page 13: Curso de Java 3

Tipos de datos y estructuras lógicas

Java Básico (Tipos de datos y estructuras lógicas)

En Java los tipos básicos tambien disponen de Clases que incrementan la funcionalidad de estos, se suelen denominar Wrapper de tipo. Por ejemplo: El tipo int su Wrapper es Integer y gracias a el podemos ejecutar funcionalidad como esta: int valor = Integer.parseInt(“145”); Y tras ejecutar este código el la variable valor quedara. valor = 145;

Page 14: Curso de Java 3

Tipos de datos y estructuras lógicas

Java Básico (Tipos de datos y estructuras lógicas)

Además de los tipos básicos podemos usar el operador [] para declarar colecciones o arrays de un tipo, estos arrays no se limitan a los tipos básicos ya que también pueden ser de objetos. Por ejemplo: int[] coleccionEnteros; Coche[] listadoCoches; Con estas declaraciones lo que estamos haciendo es “referenciar” la colección, pero se encuentra vacía, para poder usarla tendremos que “pedir” a la JVM espacio para nuestras colecciones. Esto lo logramos así: coleccionEnteros = new int[10]; listadoCoches = new Coche[4];

Page 15: Curso de Java 3

Tipos de datos y estructuras lógicas

Java Básico (Tipos de datos y estructuras lógicas)

Para almacenar las palabras (Cadenas de caracteres o literales) Java pone a nuestra disposición la Clase String. Ejemplo: String saludo = “Buenos dias”; saludo = new String(“Buenas tardes”); También disponemos de muchos mas métodos útiles en la Clase String, como por ejemplo: saludo.length(); saludo.replace(…..); Y como podemos unir dos cadenas de caracteres, tan fácil como usar + saludoCompleto = saludo + “ que tal estas”;

Page 16: Curso de Java 3

Tipos de datos y estructuras lógicas

Java Básico (Tipos de datos y estructuras lógicas)

También es bueno saber que todos los objetos de Java tienen un método con signatura .toString(), que lo que nos devuelve la representación como cadena de literales de un objeto. Nosotros podemos sobrecargar el método toString() en nuestras Clases para así poder tener una representación rápida de nuestro objeto.

Page 17: Curso de Java 3

Tipos de datos y estructuras lógicas

Java Básico (Tipos de datos y estructuras lógicas)

Operador Uso Descripción + a + b Suma a y b, concatenación si a y b son cadenas de caracteres - a - b Resta b de a * a * b Multiplica a y b / a / b Divide a por b % a % b Devuelve el resto de la división de a por b (el operador de módulo) ++ a++ Incrementa a por 1; calcula el valor de a antes de incrementarlo ++ ++a Incrementa a por 1; calcula el valor de a después de incrementarlo -- a-- Disminuye a por 1; calcula el valor de a antes de disminuirlo -- --a Disminuye a por 1; calcula el valor de a después de disminuirlo += a += b Tubo para a = a + b -= a -= b Tubo para a = a – b *= a *= b Tubo para a = a * b %= a %= b Tubo para a = a % b

Operadores aritméticos disponibles en Java

Page 18: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

Operadores relacionales y condicionales disponibles en Java

Operador Uso Devuelve verdadero si... > a > b a es mayor que b >= a >= b a es mayor que o igual a b < a < b a es menor que b <= a <= b a es menor que o igual a b == a == b a es igual a b != a != b a no es igual a b && a && b Ambos a y b son verdaderos, evalúa condicionalmente a b (si a es falso, b no se evalúa) || a || b a o b es verdadero, evalúa condicionalmente a b (si a es verdadero, b no se evalúa) ! !a a es falso & a & b Ambos a y b son verdaderos, siempre evalúa a b | a | b a o b es verdadero, siempre evalúa a b ^ a ^ b a y b son diferentes

Page 19: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

El método equals(). El método equals(Objeto) se usa para comparar la similitud de dos Objetos en Java a nivel de contenido, mientras que == pasa a comparar referencias. Ejemplo: String cadena1 = new String (“Cadena”); String cadena2 = new String (“Cadena”); (cadena1 == cadena2 ) false (cadena1.equals(cadena2)) true

Page 20: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

Ahora que tenemos operadores condicionales es hora de presentar nuestra primera estructura de control. La sentencia if. Signatura: if (condición) Ejemplo: if (a < 5) {bloque} return 5; return a; Junto con la sentencia if suele ir siempre de la mano la sentencia else Signatura: if (condición) Ejemplo: if (a < 5 && b < 10) {bloque} return 5; else else {bloque} a= a+b; return a;

Page 21: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

La sentencia if y else se pueden combinar todas la veces que queramos. Ejemplo: if (condicion1) {bloque1} else if (condicion2) {bloque2} else {bloqueN} Otra estructura de control muy util y parecida al if else anidado es el switch switch (contador){ case 1:{bloque de código}break; default: {Acciones en caso por defecto}break; }

Page 22: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

Practicamos: If, Else, Switch

Page 23: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

Ahora que sabemos controlar el flujo de nuestro programa es la hora de realizar recorridos por nuestros objetos. El bucle for. Signatura: for(inicialización; expresionControl; instruccionPaso){ instruccionesAEjecutar } Ejemplo: for (int a=0; a< 5 ;a++){ imprimir(“hola”); }

Page 24: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

El bucle for no es la única forma de recorrer nuestros elementos, existe también la estructura while. Signatura: while(expresionControl){ instruccionesAEjecutar } Ejemplo: int a = 0; while (a< 5 ){ imprimir(“hola”); a++; }

Page 25: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

Junto con el bucle while también se encuentra la estructura similar do while con la diferencia fundamental es que esta al menos ejecutara una vez el cuerpo de bucle. Signatura: do{ instruccionesAEjecutar } while(expresionControl); Ejemplo: int a = 0; do { imprimir(“hola”); a++; } while (a< 5 );

Page 26: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

Practicamos: For, While, Do While

Page 27: Curso de Java 3

Estructuras de control en Java

Java Básico (Estructuras de control en Java)

Modelamos: Hagamos que nuestro garaje funcione

Page 28: Curso de Java 3

API y JavaDoc

Java Básico (API y JavaDoc)

API: Application Programming Interface o Interfaz de programación de aplicaciones Es el conjunto de funciones y procedimientos ( en caso de POO métodos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Por ejemplo: Api de Java http://docs.oracle.com/javase/6/docs/api/

Page 29: Curso de Java 3

Java Básico (API y JavaDoc)

API y JavaDoc

JavaDoc: Es el estándar de comentarios Java para la correcta generación de documentación con la misma forma final que nos podríamos encontrar en cualquier API. Antes de introducir el comentario de JavaDoc veamos los tipos de comentarios que nos permite JAVA. //Comentario de línea Se comenta desde donde empieza la doble barra hasta el final de línea /* Comentario de sección */ Se interpretara como comentario todo lo que esta entre /* y */ /* Comentario multilínea **/ Al igual que el de sección pero extendiéndonos por varias líneas, se usa el convenio de empezar las líneas por un *

Page 30: Curso de Java 3

Java Básico (API y JavaDoc)

API y JavaDoc

Una vez introducidos los comentarios estandar de Java veamos el de JavaDoc. /** * Construiremos un mensaje de saludo personalizado *@param quien Nombre a quien saludar *@return El saludo */ public String decirHola(String quien){…} Buenas prácticas a la hora de comentar: Comentar siempre. El código no comentado es código olvidado. Ser concisos. No hace falta explayarse, y comentar por comentar. Buenos Nombres. Un buen nombre de variable o de método puede ser casi auto comentado. Idea: Verso mejor que prosa.

Page 31: Curso de Java 3

Java Básico (API y JavaDoc)

API y JavaDoc

Algunas etiquetas (tags) de uso común en JavaDoc.

Tag Descripción Uso

@author Nombre del desarrollador. nombre_autor

@deprecated Indica que el método o clase es antigua y que no se recomienda su uso porque posiblemente desaparecerá en versiones posteriores.

descripción

@param Definición de un parámetro de un método, es requerido para todos los parámetros del método.

nombre_parametro descripción

@return Informa de lo que devuelve el método, no se puede usar en constructores o métodos "void". descripción

@see Asocia con otro método o clase. referencia (#método(); clase#método(); paquete.clase; paquete.clase#método()).

@throws Excepción lanzada por el método nombre_clase descripción

@version Versión del método o clase. versión