Está en la página 1de 38

Introducción al curso:

Fundamentos de la programación en Java – CURSO


BÁSICO

Instructor: Juan Fernando Copete


Correo: fercopete456@gmail.com
Horarios de atención: Lunes y Viernes de 7:00 a 9:00 p.m. Hora Colombia
Fundamentos para la programación
en Java
 ¿Qué aprenderás? : Aprenderás desde lo más básico de lo básico hasta lo más
avanzado de lo básico, iniciaremos con una aplicación lógica y terminaremos con
un grandioso juego, creado en Java.
 ¿Requisitos?: Tener muchas ganas de programar, de aprender y de superar los
mitos que dicen :”La programación es muy complicada”.
 ¿Cómo de divide el curso?: El curso estará dividido en 3 secciones, primero Básico
de lo básico, después iremos a Básico intermedio y finalizaremos con lo más
avanzado de lo Básico.
 ¿Cómo estarán conformadas las clases?: Las clases estarán conformadas en 2
partes. La primera parte, es la parte teórica, está constara de 1 a 3 minutos
aproximadamente, donde explicaré resumidamente qué se verá en esa clase. Por
otro lado, la segunda parte es la parte práctica, está irá desde la finalización de la
parte teórica hasta el final de la clase. Así, cubrimos y aprovechamos la mayor
parte en programar, pues la practica hace al maestro, pero, recordando que hay
que saber qué se está haciendo, por lo anterior, por eso vemos primero una mini
teoría.
Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Fundamentos para la programación
en Java
 ¿Hacía que ámbito se orienta el curso?: El curso esta orientado a 3 ámbitos: 1.
Orientado a proyectos: Se hará un proyecto diferente por cada sección. 2.
Orientado al desarrollo paralelo: Desarrollarás el proyecto al mismo tiempo que el
instructor, para que no pierdas el ritmo ni mucho menos las ganas de aprender.

3. Orientado a la práctica y teoría: Este último es uno de los más importantes,


pues es donde demostrarás lo aprendido con un Quiz teórico de 10 preguntas y una
extensión práctica de 2 mini ejercicios qué deberán ser desarrolladas por el
estudiante al final de cada sección para que desarrolles una buena habilidad y
competencia lógica y de programación. (No te preocupes, si no puedes hacerlo,
subiré un video de la solución explicando el paso a paso.
 Estas orientaciones nos permitirán mejorar cada vez más pues, fusionamos la
teoría, la practica y el diseño para pulir nuestros proyectos y a la vez, el
conocimiento.
Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
JAVA
Java es un lenguaje de programación de propósito
general, concurrente, orientado a objetos que fue diseñado
específicamente para tener tan pocas dependencias de implementación
como fuera posible. Su intención es permitir que los desarrolladores de
aplicaciones escriban el programa una vez y lo ejecuten en cualquier
dispositivo (conocido en inglés como WORA, o "write once, run anywhere"),
lo que quiere decir que el código que es ejecutado en una plataforma no
Java (lenguaje de tiene que ser recompilado para correr en otra. Java es, a partir de 2012,
programación). (2016, 24 de
mayo). Wikipedia, La uno de los lenguajes de programación más populares en uso,
enciclopedia libre. 2016 particularmente para aplicaciones de cliente-servidor de web, con unos 10
desde 
https://es.wikipedia.org/w/ millones de usuarios reportados.
index.php?title=Java_(lengu
aje_de_programaci%C3%B3n
El lenguaje de programación Java fue originalmente desarrollado por James
)&oldid=91267896 Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle)
.
y publicado en 1995 como un componente fundamental de la plataforma
Java de Sun Microsystems. Su sintaxis deriva en gran medida de C y C++,
pero tiene menos utilidades de bajo nivel que cualquiera de ellos. Las
aplicaciones de Java son generalmente compiladas a bytecode (clase Java)
que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar
la arquitectura de la computadora subyacente.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
JVM ( Virtual Java
Machine)
Se denomina como el procesador o el entorno virtual que se utiliza para
interpretar los bytecodes de nuestro código a los binarios de Java, esto
se hizo para que podamos escribir el código una vez y poder correrlo en
cualquier plataforma sin necesidad de recompilar los binarios. De está
manera, este entorno virtual se puede obtener para nuestra arquitectura
y sistema operativo sin tener que hacer modificaciones en la aplicación
original.
OS: Windows, Linux, OSX, FreeBSD, etc.
Arquitecturas: AMD64, SPARC, PIV, etc.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
POO (Programación Orientada a Objetos
 La programación orientada a objetos (POO, u OOP según sus siglas en inglés)
es un paradigma de programación que usa objetos en sus interacciones, para
diseñar aplicaciones y programas informáticos.
 Está basada en varias técnicas,
incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y en
capsulamiento.
 Su uso se popularizó a principios de la década de 1990. En la actualidad,
existe una gran variedad de lenguajes de programación que soportan la
orientación a objetos.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
JDK (Java Development Kit)

 Java Development Kit o (JDK), es un software que


provee herramientas de desarrollo para la creación
de programas en Java. Puede instalarse en una computadora
local o en una unidad de red. En la unidad de red se pueden
Java Development Kit.
(2016, 11 de
tener las herramientas distribuidas en varias computadoras y
febrero). Wikipedia, La trabajar como una sola aplicación.
enciclopedia libre. Fecha de
consulta: 19:46, mayo 26,
2016 desde 
https://es.wikipedia.org/w/
index.php?title=Java_Develo
pment_Kit&oldid=89082187
.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Tipos de Datos
Tipos de Datos Alcance o Rango
int (enteros) De -2147483648 a 2147483648
byte De -128 a 127
short De -32768 a 36768
long De -9223372036854775808 a
9223372036854775808
char 1 letra
boolean 0 o 1 (Su representación es
verdadera(true) o falsa(false=0))
float 4bytes con flotante(decimales)
double 8bytes con flotantes(decimales)
String No es un tipo de dato básico, pues es
un objeto con propiedades y métodos.
Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Métodos o Funciones
 Un método, como se habló en la introducción, es la implementación de una operación, es decir, es darle
a un objeto la orden de hacer una operación al momento de efectuar su llamado. Hay varios tipos de
métodos, uno de los más importantes es el método constructor, pues este método inicializa y ejecuta
cada atributo (propiedad) o método(operación), es si queremos predefinir algo, lo inicializamos (damos
inicio) en el método constructor. Normalmente este método tiene el nombre principal de la clase.
 Otro método importante es el método main (principal) pues este es el encargado de dar la orden al
constructor de auto crearse e inicializarse en el momento que se pida. Este método es el método
principal de la clase, a su vez, es quien nos dará la salida del dato que estemos esperando.
 Ejemplo método constructor:
public Hola_Mundo()
{
String hola =“”;
hola = “Hola mundo”;
{

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Clase Java (Objeto)
 Abstracción que define un tipo de objeto especificando qué propiedades (atributos) y
operaciones (Métodos) disponibles va a tener.
 En informática, una clase es una plantilla para la creación de objetos de datos según
un modelo predefinido. Las clases se utilizan para representar entidades o
conceptos, como los sustantivos en el lenguaje. Cada clase es un modelo que define
un conjunto de variables -el estado, y métodos apropiados para operar con dichos
datos -el comportamiento. Cada objeto creado a partir de la clase se
denomina instancia de la clase.
 Las clases son un pilar fundamental de la programación orientada a objetos.
Permiten abstraer los datos y sus operaciones asociadas al modo de una caja negra.
Los lenguajes de programación que soportan clases difieren sutilmente en su soporte
para diversas características relacionadas con clases. La mayoría soportan diversas
formas de herencia. Muchos lenguajes también soportan características para
proporcionar encapsulación, como especificadores de acceso.
Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Paquete (Contenedor de objetos)

 Es un contenedor de tamaño indefinido de objetos, este nos permite clasificar


el mundo de la interfaz de una manera más practica, necesita ser importado
para uso en otro paquete.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Atributos
 En informática, un atributo es una especificación que define una propiedad de
un objeto, elemento o archivo. También puede referirse o establecer el valor
específico para una instancia determinada de los mismos.
 Sin embargo, actualmente, el término atributo puede y con frecuencia se
considera como si fuera una propiedad dependiendo de la tecnología que se use.
 Para mayor claridad, los atributos deben ser considerados más correctamente
como metadatos. Un atributo es con frecuencia y en general una característica de
una propiedad.
 Un buen ejemplo es el proceso de asignación de valores XML a las propiedades
(elementos). Tenga en cuenta que el valor del elemento se encuentra antes de la
etiqueta de cierre (por separado), no en el propio elemento. El mismo elemento
puede tener una serie de atributos establecidos (Nombre = "estoesunapropiedad").

Atributo (informática). (2016, 10 de mayo). Wikipedia, La enciclopedia libre. Fecha de consulta: 23:18, mayo 28, 2016 desde 
https://es.wikipedia.org/w/index.php?title=Atributo_(inform%C3%A1tica)&oldid=90967043.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Primeros métodos

 Los métodos son una implementación a alguna operación, tanto lógica como
no lógica, se pueden crear los métodos que se requieran para llevar acabo el
objetivo principal de la clase u objeto.
 Principalmente se usan 2 tipos de métodos, el método void y el método de
retorno. El primero, es para efectuar un Setter(una modificación) o efectuar
un llamado de un método al otro. El segundo, el método return, es para
principalmente ejecutar operaciones y esperar un resultado a cambio, por
ejemplo la suma de 2 números es un método get, pues esperamos que el
método nos retorne el valor de la suma. Sin embargo, si queremos cambiar el
valor de uno de los números, usaremos el método void, pues queremos
modificar un atributo.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Operadores Lógicos
 Son aquellos operadores que nos sirven para comparar entre 2

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Operadores Aritméticos
 Son aquellos que nos sirven para efectuar una operación numérica

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Condicional If
 If: Es el condicional más común y mayor usado normalmente, pues este nos
sirve para comprar y hacer que nuestro programa tome una
decisión en cualquier caso, su estructura es la siguiente

if(condición)
{
lo que debería ir si coincide la condición
} else if (condición){
si hay otra opción, aquí iría el código si coincide con la segunda condición
}
else {
acción que tomaría el programa si no coincide, este sería el descarte
}

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Condicional Switch

 Este condicional está más orienta hacía casos en específico , pues este,
maneja X cantidad de casos, es decir en caso de que el valor de Y sea = 1
nuestra aplicación hará tal cosa, en caso de que Y sea 2 nuestro programa
hará otra cosa. Maneja su estructura en base de un int o un String pues no
permite cualquier otro valor. Por ello si tenemos un valor doublé, tocará
primero convertirlo en int o String para poder efectuar el caso. Su último
recurso es un default, que este se cumple en caso de que Y no coincida con
los casos especificados en la estructura de nuestro Switch.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Ciclos
 For: Sintaxis del Ciclo for.
 La Sintaxis empleada por el ciclo for es la siguiente:
For(i=0;i<10;i++)
 Las tres partes del ciclo se encuentran separadas por ; (punto y coma)
 La primer parte del ciclo especifica valores previo a su inicio.
 La segunda parte indica la condición de terminación para el ciclo, la cual esta
directamente relacionada con los valores iniciales.
 Finalmente, la última parte especifica como serán manipulados los valores
iniciales en cada iteración del ciclo.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Programación en Java/Sentencia while. (2015, noviembre 18). Wikilibros, . Consultado el 16:27, mayo 29, 2016 en
https://es.wikibooks.org/w/index.php?title=Programaci%C3%B3n_en_Java/Sentencia_while&oldid=293013.

Ciclos
 While: La sentencia while es la más sencilla de las estructuras de iteración. La iteración continuará hasta que su condición sea falsa.
 while ( condición ) sentencia ;
 La condición tiene que tomar un valor booleano (verdadero o falso). Si este valor es verdadero, se ejecutará la sentencia. Concluida
esta acción se vuelve a evaluar la condición. Proseguirán los ciclos hasta que la condición no cambie a falso.Esta es una estructura de
iteración preprueba, es decir primero se evalúa la condición antes de realizar cualquier acción. Si de entrada la condición es falsa
nunca ejecutará el conjunto de sentencias.
 int n = 0;
 while ( n > 0 ){
 System.out.println("Esto nunca lo verás");
 }
 Dentro del conjunto de sentencia en el que el supuesto o dicho controla, debe existir alguna que cambie el valor de la condición que
se está evaluando.
 boolean prueba = true;
 while ( prueba ) {
 System.out.println("Esto lo verás una vez");
 prueba = false;
 }
 Entraríamos en un ciclo infinito si nunca se modifica la condición y permanece verdadera.
Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Contenedoras de tamaño fijo o Arreglos
Es un tipo de contenedor de datos de tamaño definido, al momento de inicializar un arreglo,
predefinimos su tamaño y si este se llena no podremos agregar más.
Creación : TipodeDato U objeto [] nombredelavariable;
Inicialización: Se puede crear e inicializar al instante o se puede inicializar después.
Nombredelavariable[] = {x,x2,x3,x4…}
Pues X llegará hasta donde la necesitamos, es decir, si tenemos X=10, nuestro arreglo tendrá
solo 10 espacios, no más.
NOTA: EN PROGRAMACIÓN SE CUENTA DESDE 0, esto quiere decir que nuestro arreglo de 10
espacios, lo evaluaremos desde 0. Para saber el espacio de una posición siempre será X-1,
pues al contar desde 0 nuestro objeto que está en el espacio 10, en realidad está en la
posición 9.
Principales métodos:
.length: Sirve para tomar el tamaño global del arreglo

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Contenedoras de tamaño fijo o Arreglos

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
ArrayList

 Un ArrayList es un contenedor de tamaño indefinido, este, almacena


cualquier tipo de dato u objeto, es muy útil para cuando no sabemos de
antemano cuantas posiciones necesitaremos.

 Métodos más comunes:


 Set(índice,Valor a modificar) Modifica el valor en una posición dada
 .add() Añade en la última posición el valor dado
 .size() da el tamaño global de nuestro ArrayList

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Excepciones y control de errores

¿Qué es una excepción? : Es la indicación de una “situación anormal”. Se produce cuando un


método NO termina de la manera esperada, sino que termina de manera “excepcional”
como consecuencia de un ERROR. Si se produce un ERROR y NO es tratado adecuadamente,
el programa termina su ejecución.
¿Cómo se controlan? ¿Cómo se avisa que puede haber un error?

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Excepciones y control de errores
 Para avisar que un método puede generar un error o una excepción, usaremos el Throws
Exception (Lanzar Excepción), esto para que la maquina sepa que este método podría fallar.
Lo anterior nos sirve para poder atrapar la excepción más adelante, o en el mismo método,
para poder hacer algo con ella y solucionar el error por “default”
 ¿Cómo se atrapa?
 Try-Catch: Una exception puede atraparse de diferentes maneras, puede ser tanto con un if y
un else o con un try (tratar) y catch (coger) pero, ¿cómo se usa?, este Try y catch se usa de la
siguiente manera:
Try(trate de hacer lo siguiente)
{
Código
}catch(Exception e)(si se genera una excepción haga esto con ella)
{
Código
}
Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
JOptionPane Entrada y Salida de Datos
 ¿Qué es?: JOptionPane es una Clase que nos provee una serie de ventanas de
dialogo predefinidas con el fin de facilitarnos algunos procesos de interacción
con el usuario, esta clase la encontramos en el paquete javax.swing, por eso
para poder utilizarla debemos asegurarnos de tener el import correspondiente
(import javax.swing.JOptionPane);
 ¿Para qué sirve? : Supongamos que queremos mostrar algún tipo de mensaje
al usuario (Información, Advertencia, Error, Confirmación, pedir un dato, o
mejor aún, ¿que podríamos hacer para que nuestro usuario seleccione una o
mas opciones para ejecutar algún proceso de nuestra aplicación?. Una buena
opción es crear un formulario JDialog y allí poner lo que necesitemos. simple
verdad?.
Los JOptionPane Son la mejor solución.

Blogspotcomco. 2016. Blogspotcomco. [Online]. [29 May 2016]. Available from:


http://codejavu.blogspot.com.co/2013/12/ejemplo-joptionpane.html

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
JOptionPane Entrada y Salida de Datos

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Asignación y manejo de
responsabilidades

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
JavaDoc

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Proyecto Final: Sección 1
 ¿Qué se quiere? : Crear una aplicación lógica con lo aprendido en clase. Esta aplicación
será una calculadora:
 ¿Qué debe hacer la aplicación?: Sumar, Restar, Multiplicar, Dividir y tendrá 2 puntos de
extensiones para que los estudiantes los resuelvan, el primer punto permitirá sacar la
hipotenusa de acuerdo a los catetos dados por los parámetros dados. Y segundo, deberá
permitir sacar la raíz cuadrada de un numero entrado por parámetro.
 NOTA: El programa debe iniciar con un JOptionPane, después, dependiendo de la entrada,
permitirá hacer el proceso correspondiente. Por ejemplo, si se escribe Sumar, en el
JOptionPane, el programa deberá pedir el numero 1 y el numero 2 para hacer la
respectiva suma pero, si escribimos Multiplicar, este tendrá que pedir los respectivos
números para la multiplicación.

 PISTA: Podemos usar el Switch para comparar el dato de entrada del JOptionPane, y
podremos usar el JOptionPane en los debidos métodos de las operaciones.

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Calculadora Lógica Parte 1/3

 Creación de atributos

 Métodos Setters

 Métodos Getters

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Calculadora Lógica Parte 2/3

 Método de la Suma
 Método de la resta
 Método de la división
 Método de la multiplicación
 Método de Extensión
 Método de Extensión

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
GridLayout

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Proyecto Final 2

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
INTRODUCCIÓN A LA SECCIÓN

 ¿Qué veremos?:
½ persistencia
Matrices
 ¿Qué haremos?:
 Proyecto Final: Nonograma

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Matrices
 ¿Es un arreglo de tamaño definido.
 Se crea de la manera Tipo de dato [][] nombre;
 Es una contenedora en 2 dimensiones
 Se recorre con 2 ciclos For
 Pueden haber matrices de cualquier tipo de datos o objetos, por ejemplo
matrices de Jlabel o JButtons

0,0 0,1 0,2


1,0 1,1 2,1
2,0 1,2 2,2

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
PERSISTENCIA

 Recuperación de properties

Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia
Instructor: Juan Fernando Copete Correo: fercopete456@gmail.com Horarios de atención: Lunes y Viernes de
7:00 a 9:00 p.m. Hora Colombia

También podría gustarte