Beruflich Dokumente
Kultur Dokumente
Instalando Java
Lo primero y necesario es instalar Java en nuestro ordenador.
5- Todo listo! Cerramos la ventana que nos india que Java se instal
correctamente.
Primer Programa
Vamos a dar ya los primeros pasos en programacin propiamente dicha.
Para ello, abrimos el Netbeans: Botn Inicio de Windows, y
seleccionamos Netbeans.
Comentarios
Los comentarios son muy importantes en programacin.
Ahora quizs no le veas mucha importancia porque es poco cdigo lo
que tenemos escrito, pero cuando haya muchas ms lneas de cdigo,
har falta tener comentarios a lo largo de todo el programa, para
aclararnos bien con lo que estamos haciendo.
Y no solo nos servir a nosotros, sino tambin si tenemos que pasar el
cdigo a alguien para que nos ayude o lo que sea, se podr guiar con los
comentarios.
Vamos a poner ejemplos:
Partiendo del programa que tenemos hecho de "hola mundo",
eliminemos todo el cdigo que est con letra gris (comentarios), as
veremos como no cambia nada...Puesto que eso no se ejecuta.
Quedara as:
Tipos de datos
En cualquier lenguaje de programacin, se trabaja con datos. Por ello,
en esta leccin voy a mencionar los tipos de dato ms utilizados (y
bsicos).
Hay ms, pero son menos tiles.
Los tipos de datos que ms vamos a usar son los siguientes:
Veremos otro tipo de dato sumamente til, que son las cadenas de
caracteres, pero a estas les dedicaremos una leccin aparte.
Los tipos de datos no se pueden mezclar entre s, es decir, no podemos
introducir un dato tipo "double" en un dato tipo "entero", puesto que no
tienen nada que ver.
Estos son conceptos puramente tericos, ahora con el uso de variables
(la siguiente leccin), vamos a entender mejor para qu sirven los tipos
de datos.
Variables
Las variables son el elemento esencial de la programacin.
En ellas ser donde almacenemos todos los datos con los que vamos a
trabajar.
Vamos a aplicar los conceptos vistos anteriormente a la prctica, es
decir, veremos como se crean y modifican datos en Java.
La creacin de variables se lleva a cabo de la siguiente forma:
<tipo de dato> <nombre de variable>
El tipo de dato puede ser cualquiera de los vistos en la leccin anterior, y
el nombre de la variable, el que queramos darle, siempre es
recomendable darle un nombre orientativo.
Como ejemplo, vamos a crear un dato de cada tipo visto anteriormente.
En la siguiente imagen veris como queda:
Operadores Aritmticos
El lenguaje Java soporta varios operadores aritmticos para los nmeros
enteros y en coma flotante.
Se incluye + (suma), - (resta), * (multiplicacin), / (divisin), y %
(mdulo, es decir, resto de una divisin entera).
En la siguiente tabla se citan los operadores aritmticos:
scripcin
ma op1 y op2
Ejercicios n 1
A lo largo del curso, voy a ir introduciendo ejercicios, para que vayis
poniendo en prctica todo lo aprendido anteriormente.
Porque por ms teora y prctica que se explique, cuando realmente se
aprende a programar es programando, no hay otra opcin ms fiable
que esa.
A continuacin, os propongo el enunciado del ejercicio:
Escribe un programa con 3 variables, en el cual dos de ellas tengan los
valores 20 y 10. El programa tiene que mostrar por pantalla el resultado
de:
nimo!
Solucin al Ejercicio 1
Has sido capaz de crear el programa por ti mismo? Muy bien! Aqu
tenemos la solucin...
Dividiremos el cdigo en 2 partes, para que sea ms comprensible.
Primero, creamos las variables y le asignamos los valores
Y ahora, debajo de todo esto, tenemos que hacer las operaciones con
esas 2 variables, as:
Os animo a realizar el ejercicio anterior, pero que esta vez los valores se
introduzcan por teclado, en vez de utilizar los valores preestablecidos
del 20 y el 10. Modificando un par de lneas se puede hacer.
Simplemente hay que cambiar la parte de asignacin de las variables, y
poner el cdigo que habis aprendido en esta leccin.
A practicar!
Funciones
Las funciones, como su propio nombre indica, se encargarn de hacer
una "funcin" concreta de nuestro programa.
El sistema ya tiene muchas funciones establecidas, pero tu mismo
tambin puedes crear funciones.
Por ejemplo cuando mostramos algo por pantalla, estamos utilizando la
funcin del sistemaSystem.out.println.
Vamos a suponer, que queremos mostrar el "Hola Mundo" cada vez que
queramos y de forma fcil, podemos hacer lo siguiente:
.
De esta forma, cada vez que quisieramos escribir el "Hola Mundo", nos
bastara con llamar a la funcin, y no lo tendramos que hacer varias
veces. Esa es la idea de las funciones.
El ltimo tipo de funcin que nos falta por ver son las que reciben datos
y devuelven un dato.
Vamos a realizar una funcin que sume dos variables pasadas por
parmetro.
Pregunta 1: n vale 2
Explicacin: num se le asigna el valor 2, y cuando se llama a la
funcin, se le pasa num (o sea, el valor 2).
El parmetro de la funcin "n", recoge el valor que le pasamos, o sea 2.
Pregunta 2: n vale 10
Explicacin: El valor de "n" se machaca, y se le asigna un 10.
Por eso si mostramos la variable despus de la asignacin, valdr 10.
Pregunta 3: num vale 2
Explicacin: "num" empieza valiendo 2. Y luego en la llamada a la
funcin, se le pasa por parmetro el valor de "num", que es 2.
Dentro de la funcin se modifica "n" y se pone en valor 10, pero esto no
afecta para nada a la variable "num", ya que est en otro mbito.
Cadena de caracteres
Las cadenas de caracteres son un tipo de dato muy utilizado. Para crear
una cadena, lo haremos a travs de la clase String que nos ofrece Java.
En este momento nos vale con entender su uso y funcionalidad. Ms
tarde entenderemos el resto (cuando se expliquen las clases y objetos).
Sentencias If
En esta leccin veremos la sentencia IF. Muy importante saber su
funcionamiento, puesto que se utiliza en todos los lenguajes de
programacin.
La sentencia IF no es ms que una sentencia condicional, o sea, que si
se cumple "x" condicin, el programa hace una cosa, y si no se cumple,
el programa hace otra.
Mirad la siguiente imagen:
Este programa solo muestra algo por pantalla, si el valor que has
introducido es menor o igual que 5.
Las sentencias IF se construyen de la siguiente forma:
if (condicin)
{
instrucciones...
}
Dichas instrucciones solo se ejecutarn si se cumple la condicin del IF.
En el ejemplo que he puesto es n <= 5. Bien, estos operados que he
utilizado para la condicin, son operadores de comparacin.
Los operadores de comparacin son los siguientes:
Devuelve verdadero si
Esos son los distintos operadores que se pueden utilizar para comparar.
Y estaris pensando..y si no se cumple la condicin del IF?
Para eso est el "else", que significa "si no...". Vamos a aadirle al
programa ese "else".
Sentencias If (2)
An queda algo por ver de las sentencias IF. Ms concretamente en la
parte de la condicin del IF.
En el ejemplo anterior, vimos que si se cumpla la condicin, entonces se
ejecutaba lo que haba dentro de ese IF, y sino, se ejecutaba el else (en
caso de haberlo).
Pues ahora vamos a ver como poner condiciones ms particulares por
decirlo as.
Podemos poner ms de una condicin. Esto se lleva a cabo con los
operadores condicionales.
evala op2
Switch
Tambin existen ocasiones o programas donde se exige evaluar muchas
condiciones a la vez, en estos casos, o se usan una condicin compuesta
muy grande o se debe intentar convertir el problema a uno que se
pueda resolver usando la instruccin switch();
Esta instruccin es muy til por ejemplo si vamos a hacer un men. Por
ejemplo:
Se escribe as:
switch (n) => Entre parntesis ponemos la variable que vamos a utilizar
para la instruccin, en este caso es "n".
case 1:
System.out.println("Has elegido la opcin 1");
break;
Para cada opcin, tenemos que escribir este cdigo.
Lo primero es "case", y seguidamente el valor de la variable...(Es como
si fuera IF (n == 1).
Y dentro del case, lo que queremos que ocurra en caso de tomar la
opcin nmero 1.
Al final de las instrucciones que queramos, le aadimos el "break", es
necesario para que una vez realizada la opcin elegida, salga del switch.
Para cada caso que necesitemos escribiremos el "case" que hemos visto.
Pero hay una opcin diferente, como vis, que es el "default", significa
para todo lo dems.
O sea, que si no se cumple ningn "case", se ejecutar el default.
Bucles -While
La sentencia "While" existe en la mayora de lenguajes de programacin,
y es algo que hay que saber si o si para el aprendizaje de la
programacin.
El propsito de los bucles es hacer que se ejecute un fragmento de
cdigo (el que est dentro del While), mientras una condicin sea
verdadera.
La forma de escribirlo es muy similar a la de un IF, es muy sencilla:
n comienza inicializada en 0.
Entonces la condicin del While "pregunta"...n es menor o igual que
10?
Si, es menor, entonces ejecuta lo que hay dentro del While.
Muestra por pantalla el valor de "n", o sea 0. Luego incrementa "n" a 1,
o sea que "n" vale 1.
Y ahora se vuelve a preguntar...n es menor o igual que 10? Si, pues
vuelve a entrar al While...hasta que "n" no sea menor o igual que 10.
Cual creis que ser el resultado de este programa?
Lo que hace es, mostrar los nmeros del 0 al 10, simplemente.
Hay que aclarar la lnea de: n++
Los "++" es un operador de incremento, lo nico que hace es aumentar
el valor de esa variable en 1.
Es decir, si "n" vale 0, se pone en 1, si "n" vale 3, se pone en 4...y as.
Tambin est la posibilidad de rebajar un valor, con el operador "--"
Bucles - For
Como bien indica el ttulo de esta leccin, las sentencias For, tambin
son bucles. Este tipo de bucles tiene particularidades con respecto al
While. Vamos a ver su funcionamiento:
Si os fijis en el ejemplo del While, tenamos que inicializar la variable
"n" antes del bucle, y luego incrementar esa variable dentro del
bucle...Pues en el caso del For se har todo de inmediato. Veamos el
formato del For en este ejemplo:
Ejercicio (n 2)
Para que vayas aprendiendo ms rpidamente, te proponemos un
ejercicio ms complejo que el anterior y que utilice los nuevos conceptos
aprendidos:
El enunciado del ejercicio es el siguiente:
El programa debe mostrar un men con las siguientes opciones:
Solucin Ejercicio (n 2)
Voy a mostrar la forma que he llevado a cabo para la solucin de este
ejercicio.
En programacin hay muchas maneras de hacer las cosas, pero creo
que esta es una de las ms sencillas para este ejercicio concreto.
Arrasys
Un array es un medio de guardar un conjunto de objetos del mismo tipo.
Se accede a cada elemento individual del array mediante un nmero
entero denominado ndice.
0 es el ndice del primer elemento y n-1 es el ndice del ltimo elemento,
siendo n, la dimensin del array.
Arrays Multidimensionales
Como su propio nombre indica, son Arrays de ms de una dimensin.
Vamos a ver los de 2 dimensiones.
Su funcionamiento es el mismo que el de los Arrays de una sola
dimensin, lo que pasa que estos estn compuestos por filas y
columnas.
Una imagen ilustrativa para que se entienda:
Clases
El elemento bsico de la programacin orientada a objetos en Java es la
clase.
Las clases definen una estructura de datos, que servir de "plantilla"
para todos los objetos que hagamos de esa 'clase'.
Dicho as es difcil de entender, vamos a poner un ejemplo de la vida
cotidiana.
Sin ms teora, vamos a ponernos manos a la obra para crear una clase
propia. Lo haremos lo ms sencillita posible con el fin de entender el
funcionamiento de las clases.
Lo primero, va a ser crear un archivo nuevo, una clase Java:
Atributos de la Clase
Los atributos de una Clase son aquellas variables que compartirn todos
los objetos que creemos de esta Clase.
En este caso, tenemos la Clase Coche, pues vamos a aadirle atributos
pertenecientes a un coche.
Para no alargarlo mucho, creamos solo 3 variables (pueden ser las que
creamos convenientes), depende del problema en cuestin.
As se crean los atributos de la Clase:
Constructor
El constructor siempre tiene el mismo nombre que la Clase y se utiliza
para construir objetos de esa Clase.
Los constructores no tienen ningn valor de retorno, ni siquiera "void".
Los constructores se forman as:
Mtodos
Los mtodos son como una Funcin (visto anteriormente en la leccin
13).
Lo que pasa que los mtodos estn dentro de una clase, es decir, que
son funciones que solo utilizan los objetos de esta Clase, en este caso,
los coches que creemos.
En esta Clase Coche, vamos a crear solo 3, que son los siguientes:
Objetos
Para el paso por parmetro: Los valores que sean tipo String se pasan
entre comillas, y los nmericos sin comillas, como vemos en el ejemplo.
Cada vez que queramos crear un Objeto Coche, tenemos que darle esos
valores (Hay que ceirse al Constructor). Ms adelante veremos como
crear diferentes Constructores de una Clase.
Ahora bien, si escribimos por ejemplo: c1. nos aparecern todos los
mtodos que pertenecen a esa Clase Coche. Se ve el ejemplo con esta
imagen:
Los 3 primeros que estn en negrita vemos que son los mtodos que
creamos para dicha Clase.
Para acabar esta leccin, vamos a utilizar un par de mtodos. Que
quede claro que tanto para c1 como para c2 existen los mtodos. (Y
con todos los Objetos que creemos de la Clase Coche, obviamente).
Aadimos las siguientes lneas a lo que ya tenemos:
Ejercicio (n 3)
De nuevo llegamos a la realizacin de otro ejercicio. En este caso se
trata de construir una nueva Clase, pero lo vais a tener que hacer desde
0 vosotros mismos.
Con eso conseguiris coger ms soltura con la programacin orientada a
objetos, que es de lo que se trata.
Ah va el enunciado de lo que tenis que hacer:
Crear una Clase llamada Persona, con la siguiente estructura:
Con esto, ya tenemos creada la Clase Persona. Por ltimo vamos a ver
el vdeo en donde mostramos como nos queda todo el cdigo.
Packages e imports
Los Packages son un agrupamiento de clases con caractersticas
comunes.
Todas las Clases que tenemos creadas en este proyecto "AulaFacil",
pertenecen al package de "aulafacil", como bien nos indican al principio
de cada archivo.
Todos los archivos que creamos dentro de "aulafacil" pertenecen al
mismo Package.
Por lo tanto, tenemos las Clases Coche y Persona en ese mismo
Package.
Herencia de Clases
En esta leccin vamos a aprender a crear Clases heredadas. Este es un
tema avanzado, pero vamos a verlo por encima para que conozcis su
existencia.
Qu es una Clase heredada?
Una Clase heredada no es ms que una Clase que hereda de otra, y que
al heredar, se constituye de todos los atributos y mtodos de la misma.
Es decir, si heredamos nuestra Clase Coche a otra Clase (por ejemplo:
Clase Coche_Carreras), esta nueva Clase tendr todos las caractersticas
de la Clase Coche, ms los atributos o mtodos que queramos aadir a
esta nueva Clase.
Vamos con el ejemplo...Lo primero que hay que hacer, es aadir a la
Clase Coche (la que ve a aser heredada), un constructor en blanco, de
esta forma:
Lo aadimos arriba del otro constructor. Ahora esta Clase Coche tiene 2
constructores.
Este tema lo trataremos ms adelante, en sobrecarga de mtodos.y
constructores.
Una vez hecho eso, ya se nos permitir heredar dicha Clase.
Creemos la clase Coche_Carreras.
Como siempre, creamos un archivo Java Class con dicho nombre, y en el
cdigo nos quedara asi:
This y super
Estas palabras se utilizan con la herencia de Clases en Java.
Sirven para hacer referencia a una Clase u otra, como ya hemos visto
por encima en la leccin anterior, con la palabra this.
Y es que, como ya sabemos, al heredar una Clase de otra, la Clase que
es heredada contiene los mismos atributos y mtodos que su
SuperClase que se llama.
Es decir, en nuestros ejemplos sera
SUPERCLASE => Coche
SUBCLASE => Coche_Carreras
Todas las Clases que hereden a la Clase Coche, sern sus SubClases...Y
las Clases heredadas tendrn como SuperClase a la Clase Coche.
Para ver mejor todo este tema, vamos a crear un nuevo Mtodo en la
Clase Coche_Carreras:
Nos aparece la siguiente ventana con las opciones que podemos utilizar.
Como observaris, no aparece ni la variable String "competicion" y
tampoco aparece el nuevo mtodo que hemos creado en esta Clase.
Por qu?
Pues porque al escribir "super", estamos indicando a Java que se trata
de la SuperClase, en este caso la Clase Coche, y esa Clase no tiene el
atributo "competicion" ni el mtodo de ObtenerCompeticion().
Cmo accedemos al nuevo mtodo entonces? Para est el this.
Ejercicio Final
Llegamos al ejercicio final del curso. Aviso que este ya tiene bastante
ms dificultad, se formarn estructuras ms complejas.
Clase Moto
Clase Bici
Clase Persona
Esas son las Clases sobre las que trabajaremos el ltimo ejercicio.
Vamos a montar una estructura un poco ms compleja.
Una vez realizada, tambin crearemos un cdigo en el AulaFacil.java,
para comprobar si est correctamente hecho todo lo que se pide en las
Clases.
Empezaremos por darle forma a las Clases Moto y Bici, que estaban
vacas:
Clase Moto: Tendr como atributos la Marca (String) y las cc (int). Solo
tendr un constructor, el cual recibir por parmetros la marca y cc de la
moto.
Por ltimo, 2 mtodos que nos permitan Obtener la marca y los cc que
tiene la moto.
Clase Bici: La Clase Bici ser similar a la Clase Moto, tendr los
siguientes datos. Como atributos tendr el Modelo (String) y el precio
(double). Solo tendr un constructor, el cual recibir por parmetros el
modelo y el precio de la bici.
Por ltimo, 2 mtodos que nos permitan Obtener el modelo y el precio
de la bici.
Clase Persona: Las modificaciones de esta Clase son las siguientes.
Aadirle 2 atributos ms de los que tiene, que son un Objeto tipo Bici y
otro tipo Moto. (Solo crearlos, sin hacerle el "new...".
Tiene un solo constructor esta Clase. Le vamos a aadir dos ms. Uno
para crear a una persona con Moto y otra con Bici.
Para una persona con Bici, la cabecera ser la siguiente: public Persona
(String nom, int e, String modelo_bici, double precio)
Y para una persona con Moto: public Persona (String nom, int e, String
marca_moto, int cilindrada)
Clase Moto
Muy sencillita y similar a las Clases que hemos ido viendo durante el
curso.
La Clase Bici tambin es del mismo estilo:
Clase Bici
Se crean los dos constructores que se pedan: Uno con los datos de la
Bici y otro con los datos de la Moto (aparte de los datos de la persona,
claro).
Aqu es donde se crean los Objetos de la Moto o Bici, segn el
constructor que se llame.
Clase Persona: