0% encontró este documento útil (0 votos)
6 vistas80 páginas

Java Fundamentals Cec Marco Toscano Freire 2016

Cargado por

jonathan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas80 páginas

Java Fundamentals Cec Marco Toscano Freire 2016

Cargado por

jonathan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 80

Java Fundamentals Programming

Ing. Marco Antonio Toscano Freire. Msc.


FUNDAMENTOS JAVA I

Ing. Marco Antonio Toscano Freire


[email protected]
@martosfre
::. Información Instructor .::

Ingeniero en Sistemas Informáticos y de Computación – EPN.

Magister en Gerencia en Sistemas – ESPE

Consultor Informático en Tecnologías Java.

Presidencia de la República, Gamatv, Armada del Ecuador, MIES, Universidad de
Especialidades Turísticas, G4S, entre otras.

Instructor Tecnologías Java, JEE, Android, Ajax.

CEC- EPN, UNIDEC – Universidad Central del Ecuador, Ecuasanitas, Grupo
CFC, PuntoNet, IFTH(Ex-Iece), Gamatv, Ceaaces, Frameworks, ICAP,
Universidad Católica, SRI entre otras.

Gerente General Matoosfe Cia. Ltda.

Certificaciones: Oracle Certified Associate, Java SE 5/SE 6; Oracle Certified
Developer, Java SE 5/SE 6, ,Android Certified Application Developer
::. Agenda .::

Introducción Java.


Historia Java.


Evolución Java.


Qué es la Tecnología Java.


Características.


Lenguaje de Programación Java.


Modelamiento y Abstracción.


Paradigmas P.O.O


Ambientes de Programación.
::. Introducción Java .::

• Java fue creado en 1991 por James Gosling,


trabajador de la Sun Microsystems.

• Se llamó inicialmente Oak, pero su nombre


fue cambiado debido a que ya existía un
lenguaje con este nombre

• Pero que realmente es Java ?

• ¿Cual es su utilidad en la actualidad?

• ¿Cuáles son los “sabores” que tiene?


::. Historia Java .::

En 1993 se lanza el primer navegador de Internet Mosaic y el lenguaje Oak es
rediseñado para desarrollar aplicaciones de Internet

En 1996, el lenguaje Oak es renombrado a Java y se lanza la primera versión
comercial del lenguaje con el nombre: JDK v1.0 (Java Development Kit)

En 1998 se lanza la segunda versión de Java el cual incluía soporte para JFC
(Swing, Java2D), el Api de Collections. Se producen notables mejores y a partir
de esta versión se lo nombra como Java 2.

Desde ese fecha se fueron añadiendo mejoras, hasta que en Octubre del 2004
se liberó la versión llamada con el nombre de Tiger (JDK 1.5) la cual marcó un
hito en las versiones de java por las características que incluyó como Genéricos,
Casting, Enumeraciones, etc. Teniendo actualmente la versión 7.0 liberada.
::. Evolución Java .::

Año Versión
1996 JDK v1.0
1997 JDK v1.1
1998 J2SE 1.2 (Java 2 Standard Edition)

2000 J2SE 1.3


2002 J2SE 1.4
2004 J2SE 5.0
2006 Java SE 6
2011 Java SE 7
2014 Java SE 8
::. Qué es la Tecnología Java ? .::

• Un lenguaje de programación de
alto nivel.
• Un plataforma de desarrollo

– Un ambiente de desarrollo
(javac, java, javadoc etc..)
– Un ambiente de aplicación y
despliegue.
::. Características .::

Entre las características que podemos mencionar tenemos las siguientes:


::. Lenguaje Programación Java .::

En el lenguaje de programación Java, todo el código fuente es escrito en archivos


de texto plano con la extensión .java estos archivos son compilados por el
compilador javac a archivos con la extensión .class que poseen bytecodes, el
lenguaje de máquina de la JVM (Java Virtual Machine)

javac java
::. Lenguaje Programación Java .::

A través de la máquina virtual un mismo programa es capaz de correr en


múltiples plataformas

javac

WORA (Write once, run anywhere)


::. Modelamiento y Abstracción .::

• Día a día estamos bombardeados de información


• Nuestros sentidos recogen millones de bits de información que nos rodea día
a día
• Nuestro cerebro simplifica naturalmente los detalles de la información
recibida a otras más manejables, éste proceso se conoce como:
ABSTRACCIÓN
::. Modelamiento y Abstracción .::

CLASIFICACIÓN (CLASES)
• Un objeto será clasificado como ave sí cumple con las siguientes reglas:

AVES NO AVES
1. Tiene pico
2. Tiene alas
3. Coloca huevos
4. Puede volar
::. Modelamiento y Abstracción .::

CLASIFICACIÓN (CLASES)
• Eliminando la regla 4 y siendo menos restrictivos la avestruz y el pingüino se
considerarían como aves:

AVES NO AVES
1. Tiene pico
2. Tiene alas
3. Coloca huevos
4. Puede volar
::. Modelamiento y Abstracción .::

CLASIFICACIÓN (CLASES)
• Ahora si se eliminarían las reglas 1 y 3. La única regla que definiría la ave sería la
siguiente:
AVES NO AVES

1. Tiene Pico
2. Tiene Alas
3. Coloca Huevos
4. Puedo Volar

• Las reglas simples


representan el mismo
problema que las reglas
restrictivas.
::. Modelamiento y Abstracción .::

CLASIFICACIÓN (CLASES)
• El conjunto de reglas para clasificar objetos no tiene que ser ni muy general,
ni muy restrictivo. No tiene que presentar redundancias para definir el
miembro correcto de una determinada clase.

ABSTRACCIÓN
• La abstracción es la base del desarrollo de software.
• Cuando se levantan requerimientos de un sistema de información se recogen
detalles de la situación del mundo real en que el sistema estará basado. Estos
detalles son una combinación de detalles explícitos (entrevistas) y detalles
que observamos.
::. Paradigmas de la P.O.O.::

Que es un Objeto?
 Son entidades del mundo real que comparten dos características
fundamentales que son estado y comportamiento. Ejemplos:
 Perro tiene color, peso, nombre (estado)
 Perro ladra, come, duerme (comportamiento)

Que es un Objeto de SW?


 Los objetos de SW sirven para representar los objetos del
mundo real, conceptos abstractos. Los estados del objeto
se encuentran representados por variables y sus
comportamientos por métodos.
 El conjunto de objetos de software relacionados permite
la construcción de aplicaciones informáticas.
::. Paradigmas de la P.O.O.::

A que nos referimos cuando hablamos del tipo de Objeto ?

 En el mundo real se tiene muchas veces objetos que pertenecen a un


mismo grupo, tipo, clase. Por ejemplo: una persona pertenece a la clase
personas, una fruta a la clase Frutas etc; lo que permite establecer una
tipología para su manipulación.
 Una clase representa un plantilla de objetos , la cual define las variables y
métodos comunes para todos los objetos de un cierto tipo.
 Para crear un objeto de un tipo específico se utiliza la plantilla (clase) a
través de la llamada al constructor lo cual se lo conoce como el proceso de
instanciación.
::. Paradigmas de la P.O.O.::

Qué es el Encapsulamiento?
 Es una técnica que permite proteger las características del objeto (estado)
con lo que se evita manipulaciones incorrectas sobre los mismos. Por lo que
para acceder o modificar alguna de sus características se utiliza unos
métodos conocidos con el nombre de getters y setters , los cuales permiten
ocultar los detalles de implementación, conociendo lo que hace sin
importar como lo hace.
 El encapsulamiento nos da tres ventajas en cuanto al código
 Flexibilidad
 Extensibilidad (Modularidad)
 Buen mantenimiento .
::. Paradigmas de la P.O.O.::

Qué es la Herencia?
 El concepto clave de la herencia es la reusabilidad, es decir reutilizar tanto las
características (atributos) como comportamientos(métodos) de la clase padre
en las clases hijas optimizando tiempos y recursos.
 No existe la herencia múltiple, es decir una clase hija solo puede tener heredar
de un solo padre.
::. Paradigmas de la P.O.O.::

• A la clase padre se le conoce con el nombre de superclase mientras que a la(s)


clase(s) hija se le conoce con el nombre de subclase.

• Es posible modificar el comportamiento de algún método de la clase padre en la


clase hija, lo cual se lo conoce con el nombre de sobreescritura.
::. Paradigmas de la P.O.O.::

Qué es Polimorfismo?
 Polimorfismo quiere decir muchas formas, es un concepto en la P.O.O que
maximiza la reusabilidad y extensibilidad de nuestro código.
 En términos de programación, el polimorfismo permite que un solo nombre de
clase o de método represente diferente código, mediante la selección de algún
mecanismo automático.
 Cuando el polimorfismo se aplica a métodos, esto se conoce con el nombre de
sobrecarga. La cual determina que se puede tener más de un método con
mismo nombre pero con diferente firma (número y tipo de argumentos)
::. Paradigmas de la P.O.O.::

Objetos intercambiables con polimorfismo

Entonces, ¿cómo es que cuando se invoca a mover() ignorando el tipo


específico de Pájaro se dará el comportamiento correcto (un Ganso corre,
vuela o nada, y un Pingüino corre o nada)?
::. Paradigmas de la P.O.O.::

• Considérese un ejemplo de los polígonos o figuras.

void hacerAlgo (Figura p) {


p. borrar ( ) ;
/ / ...
p.dibujar ( ) ;
}

Circulo c = new Circulo() ;


Triangulo t = new Triangulo
( ) ;
Linea 1 = new Linea ( ) ;
hacerAlgo (c) ;
hacerAlgo (t) ;
hacerAlgo (1) ;
::. Ambiente de Programación.::

 Para comenzar con el desarrollo de aplicaciones JAVA se necesitan


fundamentalmente las siguientes herramientas:
 JDK 1.7 o superior (Fundamental)
 IDE (Opcional)
 Eclipse Kepler, Luna SR2
 Netbeans 8.0, 8.1
 IntelliJ 14, 15
 Jdeveloper 10G, 11G
 Browser (Solo en ambientes Web)
::. Ambiente de Programación.::

Qué es el JDK?
 JDK (Java Developer Kit) es un conjunto de herramientas de desarrollo para la
creación de programas JAVA. Entre las herramientas más importantes que
incluye tenemos las siguientes:
 AppletViewer.- Es un visor de applets
 Javac.- Compilador de Java
 Java.- Interprete Java
 JavaDoc.- Generador de documentación
 Otras…
::. Ambiente de Programación.::

Instalación JDK
 El proceso de instalación es sumamente sencillo, lo primero que tenemos que
hacer es descargarnos la versión del JDK respectivo de la siguiente dirección
http://java.sun.com/j2se .
 Ejecutar el instalador, realizar las configuraciones necesarias. (Defecto)

Configurando JAVA en el PATH


 Es sumamente importante referenciar a JAVA en el PATH de nuestro sistema
operativo. Entre las razones más importantes tenemos:
 Independizarlo del directorio de instalación
 Generalizarlo y utilizarlo de manera transparente en todas las apli caciones
que utilizan JAVA.
::. Ambiente de Programación.::

Probar Instalación
 Para verificar que el proceso de instalación de JAVA se ha realizado
correctamente abrimos una consola de DOS y digitamos java – version a lo
que nos mostrará la versión del JDK que acabamos de instalar:

Vídeo: Instalación JDK, Eclipse


::. Ambiente de Programación.::

IDE (Integrated Development Environment)


 IDE es un ambiente integrado de desarrollo que permite agilizar el proceso de
desarrollo de aplicaciones java. Entre las características que tiene tenemos las
siguientes:
 Wizard.
 Debugger.
 Referencia y Búsqueda Objetos.
 Refactorización.

Vídeos: Enlace IDE's


FUNDAMENTOS JAVA - II

Ing. Marco Antonio Toscano Freire


[email protected]
@martosfre
::. Agenda .::

Estructura Programa Java.
– Clase, Objeto.
– Paquetes, Librerías .
– Variables, Tipos de Dato.
– Modificadores de Acceso.
– Constructor, Métodos.
– Modificadores de Comportamiento.
– Constantes.
– Comentarios.

Arreglos.

Operadores
– Operadores Aritméticos. Operadores Condicionales.
Operadores Relacionales. , Operadores Desplazamiento.
::. Estructura Programa Java .::
::. Estructura Programa Java .::

CLASE / OBJETO
● Una clase es como un
plantilla de documentos a
partir de la cual se crearán
los diferentes documentos
(objetos). únicos e
independientes.

● Un objeto es una entidad del


mundo real que tiene
características (atributos) y
comportamientos (métodos).

● El proceso de creación de los


objetos a través de la clase
se conoce con el nombre de
instanciación.
::. Estructura Programa Java .::

PAQUETES / LIBRERIAS

● Un paquete permite agrupar un conjunto de clases por un cierto ámbito o


funcionalidad, permitiendo organizar de mejor manera. La razón principal
para usar un paquete es garantizar un único nombre de clases.

● El paquete se denota con la palabra reservada package y es la primera


línea a colocarse en una aplicación java. Solo puede existir un sola
sentencia referente a package

● Para nombrar un paquete se utiliza las convenciones de código las cuales


definen que debe ser escrito en minúsculas, separadas por punto y teniendo
como base el nombre de la empresa en la web (sin www) a la inversa; es
decir, si el dominio de la empresa es www.matoosfe.com el nombre base
sería com.matoosfe
::. Estructura Programa Java .::
PAQUETES / LIBRERIAS
● Los paquetes físicamente representan carpetas
organizadas jerárquicamente usando como nivel
el punto que existe de separación en la definición
del nombre del paquete.

● Los paquetes de java siempre comienzan con


java y son definidos en base a su funcionalidad.
Entre los paquetes estándar se tiene los
siguientes:
● java.math.- Provee las clases para ejecutar las operaciones aritméticas.
● java.util.- Provee el framewoks de Collections, clases utilitarias para
manejar la internacionalización, cadenas y números.
● java.io.- Provee las clases para manipular los sistemas de entrada y salida,
manejo de archivos y serialización.
● java.net.- Provee las clases para implementar las aplicaciones de red.
● java.sql.- Provee las clases para acceder y procesar los datos en una base
de datos.
::. Estructura Programa Java .::
PAQUETES / LIBRERIAS

● java.swing, java.awt.- Provee las clases para crear interfaces de usuario


y el tratamiento gráfico de imágenes.

● Para importar todas las clases de un paquete o una de ellas dentro de otra
clase para ocupar su funcionalidad se utiliza la palabra reservada import
junto al nombre del paquete que se requiere importar o cargar. A
continuación se muestra la forma todas las clases de un paquete y realizar
la carga individual de una clase.
::. Estructura Programa Java .::

VARIABLES, TIPOS DE DATO


● Las variables o atributos que representan las características de un objeto son
denotadas por un identificador, que está conformado por dos elementos que
son : Tipo Dato, Nombre

● En lo que respecta al Tipo de Dato, java maneja dos tipos de datos:

● Tipos de Dato Primitivos.- Contiene un simple valor de un tamaño y


formato específico. En esta categoría se tiene los siguientes: bit, byte,
short, int, long, float, double, char, boolean.

● Tipos de Dato Referencial.- Contiene una referencia a un valor o conjunto


de valores representados por la variable, generalmente en esta categoría se
encuentran todos las clases del lenguaje, las creadas y los arreglos.
::. Estructura Programa Java .::

MODIFICADORES DE ACCESO

● Los modificadores de acceso permiten controlar el nivel de visibilidad de


los miembros de una clase; es decir, determinan el acceso a métodos y
variables dentro de la misma.

● En Java se manejan cuatro niveles de acceso pero solo tres modificadores de


acceso, los cuales son public, private, protected. El cuarto nivel de acceso
es conocido como package o default, el mismo que es utilizado por defecto
de manera implícita cuando no se hace uso de ninguno otro. A continuación
se detallan cada uno:

● Modificador public.- Este modificador representa el universo; es decir,


determina que todas las otras clases independiente del paquete al que
pertenece pueden acceder a un miembro de la clase, pero siempre que la
clase sea pública (visible)
::. Estructura Programa Java .::

MODIFICADORES DE ACCESO

● Modificador private .- Este modificador determina que el miembro de la


clase solo puede ser accedido dentro de la misma; es decir, ninguna otra
clase ya sea que pertenezca al mismo paquete o a otra puede acceder al
miembro de la clase.

● Modificador default-package .- Este modificador determina que el


miembro de la clase pueden ser accedidos solamente por clases que se
encuentren en el mismo paquete.

● Modificador protected .- Este modificador es similar al default-package,


pero adicionalmente pueden acceder a los miembros de la clase las clases
hijas; es decir, clases que heredan de la clase en cuestión.
::. Estructura Programa Java .::

MÉTODOS, CONSTRUCTOR

● El comportamiento de un objeto está representado por los métodos dentro de


una clase. Los cuales al igual que los atributos o variables manejan un nivel de
visibilidad determinada por los modificadores de acceso public, protected,
private y default-package. La sintaxis de un método se muestra a
continuación.
::. Estructura Programa Java .::

MÉTODOS, CONSTRUCTOR

● Dentro de una clase existen


un tipo de métodos
denominados con el nombre
de getters and setters, los
cuales se utilizan para obtener
el valor de un atributo o
modificarlo respectivamente.
Utilizados generalmente para
aplicar el paradigma del
encapsulamiento.
::. Estructura Programa Java .::

MÉTODOS, CONSTRUCTOR

● Para crear un objeto dentro del proceso de instanciación, se utiliza un método


especial llamado constructor.

● Se puede tener tantos constructores como maneras diferentes se tenga para


crear un objeto. Entre las características que tiene un constructor se tienen
las siguientes:

● Debe tener el mismo nombre de la clase Java a la cual representa.

● No devuelve ningún tipo de dato. A pesar de ello la palabra reservada void


utilizada para este contexto se omite.

● Puede tener cualquier modificador de acceso, generalmente es public.


::. Estructura Programa Java .::

MÉTODOS, CONSTRUCTOR
::. Estructura Programa Java .::

MODIFICADORES DE COMPORTAMIENTO

● En Java existen dos modificadores especiales que son el final y el static,


que pueden ser aplicados a los miembros de la clase tanto a variables como
a métodos. Estos modificadores modifican el comportamiento de estos
miembros, por tal razón se los ha denominado modificadores de
comportamiento;

● Modificador final .- El modificador final tiene las siguientes acotaciones:

● Aplicado a una clase determina que ésta no pueda ser heredada por otra
clase. Garantizando que no se puede sobreescribir su comportamiento.

● Aplicado a un miembro de una clase ya sea una variable o método


determina que no se puede modificar su valor o comportamiento
respectivamente; es decir, si se aplica a una variable una vez asignado
su valor no se puede cambiar y si se aplica a un método este no
puede ser sobreescrito.
::. Estructura Programa Java .::

MODIFICADORES DE COMPORTAMIENTO

● Modificador static .- El modificador static tiene las siguientes


acotaciones:

● Solo puede ser aplicado a los miembros de una clase, que posterior a
esto se convierten en miembros de clase; es decir, no hace falta
crear una instancia para poder utilizarlos.
::. Estructura Programa Java .::
MODIFICADORES DE COMPORTAMIENTO

● Otra de las características de este modificador static es que al ser


aplicado a variables, se traducen en variables globales que ocupan un
solo espacio en memoria y que por lo general tienen el modificador de
acceso public.
::. Estructura Programa Java .::

CONSTANTES

● La utilización de los dos modificadores static y final a una variable


determinan la creación de una constante, la cual debe ser escrita en letras
mayúsculas; el orden de los modificadores es indiferente.
::. Estructura Programa Java .::

COMENTARIOS

● Java al igual que otros lenguajes de programación maneja comentarios,


diferenciándose por la inclusión de un tipo de comentario utilizado en la
documentación técnica y generado por la herramienta javadoc. Entre los tipos
de comentarios que soporta java se tienen los siguientes:

● Simple.- Este tipo de comentario es de una sola línea y se utiliza para


realizar comentarios simples. Está representado por la expresión // , a
continuación se puede apreciar un ejemplo de su utilización
::. Estructura Programa Java .::

COMENTARIOS

● Multilínea.- Este tipo de comentario es de varias líneas y se utilizar para


realizar comentarios más extensos. Está representado por la expresión /* y */
para abrir y cerrar el mismo respectivamente, a continuación se puede
apreciar un ejemplo de su utilización.
::. Estructura Programa Java .::

COMENTARIOS

● Documentación.- Este tipo de comentario es utilizado para generar la


documentación de los diferentes elementos en una clase Java. Está
representado por la expresión /** y */ para abrir y cerrar el mismo
respectivamente, a continuación se puede apreciar un ejemplo de su
utilización
::. Arreglos .::

● Un arreglo es una estructura de datos que almacena una conjunto de


valores de un mismo tipo. Se puede acceder a cada uno de los valores a
través de un índice de tipo entero.

● Un arreglo se declara utilizando la sintaxis <tipo dato> [] <nombre


variable>, por ejemplo para declarar un arreglo de enteros sería de la
siguiente forma int [] listaNumeros.

● Pueden existir arreglos de más de una dimensión, en ese caso se deberá


aumentar los caracteres [] por cada dimensión, los cuales son llamados
arreglos multidimensionales o matrices.
::. Arreglos .::

● El tamaño de un arreglo está dado por el número de elementos n - 1 debido a


que el índice comienza desde el número cero. Una vez creado con un
tamaño específico no se puede cambiar y para recuperar su tamaño se lo hace
a través del atributo length del arreglo. De igual manera en un arreglo
dimensional se utiliza el atributo length pero aplicado a la dimensión que se
quiere obtener el tamaño; los ejemplos se pueden apreciar en la figura a
continuación.
::. Operadores .::

● Un operador nos permite ejecutar una operación sobre uno, dos o tres
operandos (variables) retornando un valor, el cual depende de los
operandos involucrados en la operación.

● De acuerdo al número de operandos, Java puede clasificar a los operadores


en los siguientes:

● Operador Unitario.- Soportan notación pos y pre fija, es decir el operador


puede ir antes o después de la variable. Por ejemplo: variable++,+
+variable.
● Operador Binario.- Utilizan una notación intermedia (infix), lo cual significa
que los operadores aparecen en medio de los operandos. Por ejemplo:
variableUno + variableDos.
● Operador Ternario.- En Java solo existe un operador ternario que es el
siguiente ?:, el cual también utiliza una notación intermedia, por ejemplo:
variableA ? variableB : variableC.
::. Operadores .::

● De acuerdo a la funcionalidad se pueden agrupar en cuatro categorías:

● Operadores Aritméticos.- Java soporta los siguientes operadores


aritméticos +,-,*,/,% utilizados para todos los números enteros y de
punto flotantes.
::. Operadores .::

● Los operadores aritméticos se pueden utilizar también de manera


abreviada, al asociar el operador de asignación (=) junto a un operador
aritmético. Por ejemplo numeroB += numeroA equivale a tener
numeroB = numeroB + numeroA:
::. Operadores .::

● Operadores Relacionales y Condicionales.- Tanto los operadores


relacionales como condicionales, permiten realizar la comparación de dos
valores y determinar la relación existente entre ambos. Entre los operadores
relacionales que soporta JAVA se tiene los siguientes: (<), (>), (<=), (>=),
(==) y (!=). Mientras que en lo que se refiere a los operadores
condicionales se tiene a 5 operadores binarios y 1 unitario, en la figura
mostrada a continuación se pude apreciar su funcionalidad.
::. Operadores .::
● Cabe mencionar que los operadores relacionales y condicionales
trabajan con valores o expresiones booleanas.
::. Operadores .::
● Operadores Desplazamiento.- Los operadores de desplazamiento
ejecutan la manipulación de bits sobre los datos, desplazando los bits
del primer operando a la izquierda o derecha del mismo. El desplazamiento
de bits esta dado por el número de posiciones indicados por el operador
derecho, esto ocurre en la dirección indicada por el operador
propiamente. En la figura mostrada a continuación se pueden apreciar los
modificadores de desplazamiento.

● Cabe destacar que los operadores de desplazamiento solo se pueden


utilizar con tipos de datos primitivos de precisión entera.
::. Operadores .::

● Operador Asignación.- Esta representado por el símbolo =, y es


utilizado para asignar un valor a otro.
::. Operadores .::

● Operador +.- Este operador es utilizado generalmente para realizar la


operación de adición entre datos numéricos. Sin embargo también puede
ser utilizado para realizar la concatenación de valores cuando se utiliza
con cadenas.
FUNDAMENTOS JAVA - III

Ing. Marco Antonio Toscano Freire


[email protected]
@martosfre
::. Agenda .::

Casting

– Explícito

– Implícito

– Autoboxing / Inboxing


Controles de Flujo

– Sentencias de Decisión .

– Sentencias de Iteración .

– Sentencias Branching.


Enumeraciones
::. Casting .::
El casting se lo define como el proceso de conversión de un tipo de dato
a otro, el cual puede ser implícito (automático) o explícito. Existen cuatro
tres cuatro tipos los cuales se detallarán a continuación:

● Casting Implícito.- Sucede cuando un tipo de dato con menor jerarquía


es promovido a un tipo de dato con mayor jerarquía de manera
automática. Aplica tanto a datos primitivos como Objetos.
::. Casting .::

● Casting Explícito.- Sucede cuando un tipo de dato con mayor jerarquía


es promovido a un tipo de dato con menor jerarquía de manera
explícita. En el caso de objetos no se aplica, porque al convertir una
objeto de una clase Padre a un objeto de una clase Hija aparecerán
métodos que nunca existieron en clase padre provocando un error en
tiempo de ejecución.
::. Casting .::

● Autoboxing.- El Autoboxing permite realizar la conversión automática de


tipos de datos primitivos a sus respectivos Wrappers. Por ejemplo: de int a
Integer, de double a Double, etc.

● Inboxing.- El Inboxing es la operación inversa del Autoboxing, la cual


permite la conversión automática de los diferentes Wrappers a sus datos
primitivos. Por ejemplo de Integer a int, de Double a double, etc.
::. Casting .::
::. Controles de Flujo .::

Las sentencias dentro del código son generalmente ejecutadas de abajo hacia
arriba en el orden que aparecen. Sin embargo este flujo puede ser alterado
con la utilización de sentencias de decisión, iteración y branching, las
cuales se explicarán continuación

● Sentencias de Decisión.- Las sentencias de decisión if/else-if/else y


switch se utilizan para controlar el flujo de un programa basado en
condiciones.

● Sentencias de Iteración.- Las sentencias de iteración while, do-while y for


se utilizan para controlar el flujo de un programa basado en una condición
que se repite en un bucle o lazo hasta cuando la expresión sea evaluada
falsa.

● Sentencias de Iteración.- Las sentencias de branching break, continue y


return se utilizan para romper o alterar el flujo normal de ejecución de un
programa,
::. Sentencias Decisión .::

● Sentencia if/else-if/else.- Las sentencias de decisión if/else-if/else son


uno de los controles de flujo más utilizados, los cuales permiten
ejecutar secciones de código basados en una expresión booleana.
Comenzando su evaluación con la sentencia if, posterior a esto la
sentencia else if para cada alternativa diferente y finalmente la sentencia
else para cualquier otra opción.
::. Sentencias Decisión .::

● Sentencia switch.- La sentencia switch es un control de flujo utilizado


para evaluar condiciones basados en valores simples ya sean de tipo
byte, short, char, int, Enumeraciones y String(JAVASE 7.0). Cada
opción a validar se asocia con un bloque case con su respectivo break;
en el caso de no encontrar ninguna opción válida se utilizará el bloque
default.
::. Sentencias Iteración .::

● Sentencia while.- Esta sentencia evalúa la expresión al inicio del


bucle, la cual ejecuta el bloque de sentencias mientras la expresión sea
evaluada a true. Si al comenzar la evaluación la expresión es evaluada a
false, no se procederá realizar ninguna iteración.
::. Sentencias Iteración .::

● Sentencia do-while.- Esta sentencia es similar al while, diferenciándose


de este porque el do-while evalúa la expresión al final del bucle.
Permitiendo ejecutar el bloque de sentencias al menos una vez,
independientemente si la expresión evaluada es true o false.
::. Sentencias Iteración .::

● Sentencia for.- Esta sentencia provee una manera compacta de iterar a


través de un rango de valores, teniendo tres secciones: inicialización,
condición e iteración. La iteración termina cuando la expresión de
condición es evaluada a false.
::. Sentencias Iteración .::

● Sentencia for - each.- Esta sentencia apareció a partir del JDK 5.0, la
cual al fue diseñada para iterar a través de arreglos o colecciones
utilizando el tamaño de la estructura para determinar el fin de la
iteración, iterando secuencialmente en ésta y evitando definir la sección
de inicialización.
::. Sentencias Branching .::

● Sentencia break.- Esta sentencia es usada para terminar el flujo de


control de las sentencias switch, for, while, do-while.

● Sentencia continue.- Esta sentencia es usada para omitir o saltar la


iteración actual de las sentencias for, while, do-while y continuar con
la siguiente iteración.
::. Sentencias Branching .::

● Sentencia return.- Esta sentencia es usada para salir del método


actual donde se encuentra la ejecución, pasando el control al
método anterior de donde fue llamado retornando o no valores.
::. Enumeraciones .::

● Una enumeración es un tipo especial de dato que permite para una


variable definir un conjunto de constantes.

● Para definir una enumeración se utiliza la palabra reservada enum,


las constantes son separadas por comas y nombradas con letras
mayúsculas.

Declaración General Enumeración


::. Enumeraciones .::

● La declaración de una enumeración puede opcionalmente incluir otros


componentes de una clase como constructores, atributos y métodos.
Cada declaración de una enumeración tiene las siguientes
restricciones:

● Las constantes son implícitamente final; es decir, no se puede


modificar su valor.
● Las constantes son implícitamente static; es decir, existe una sola
referencia a su valor.
● No se puede crear un objeto de un tipo de enumeración, el
constructor que se define es privado; es decir, solo sirve para la
creación interna de las constantes.
● La declaración de las constantes debe realizar antes de cualquier
definición de constructores, atributos o métodos.

● Para iterar a través de una enumeración se utiliza el método values,


que retorna el arreglo de constantes definidos en la enumeración en el
orden que fueron declarados.
::. Enumeraciones .::

Declaración Enumeración Con Constructor


::. Bibliografía .::

● Java for Programmers; 2012 Second Edition, Deitel Developer


Series; Paul Deitel, Harvey Deitel.

● Vídeos Canal YouTube; Programa Curso JAVA - POS


DEVELOPER; Matoosfe Cía Ltda 2016.

● Programa Java Señior; Módulo I – Pos Developer; Matoosfe Cía


Ltda 2016.
::. Contactos.::

GRACIAS POR SU ATENCIÓN

Para mayor información nos pueden contactar a:


correo: [email protected]

Twitter: @martosfre

Youtube: MATOOSFE

También podría gustarte