Java Básico 1 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Vale, estoy grabando esta clase, por lo tanto, si decís algo, me estáis autorizando a que vuestra voz esté grabada en este vídeo.
00:00:00
Si por si acaso no queréis que vuestra voz sea grabada, me levantáis la mano, me decís que no queréis que se oiga tu voz, paro la registración y me hacéis vuestra pregunta, ¿vale?
00:00:14
Pero que sepáis que todo lo que estamos diciendo ahora está siendo grabado
00:00:25
¿Sí?
00:00:31
Vale, entonces, hoy vamos a empezar con Java básico
00:00:32
¿Sí?
00:00:35
Lo que vamos a ver al principio es, si os acordáis, la última vez, el viernes, no, el lunes
00:00:37
Lo que vimos es, hicimos un programita utilizando Eclipse
00:00:42
¿Sí?
00:00:47
Entonces, nosotros ya hemos hecho una prueba de escribir un programa, de escribir algún código, cosas así
00:00:48
Y hemos visto algunas sentencias, algunas palabras claves del lenguaje
00:00:56
Algo hemos visto, ¿vale?
00:01:02
Ahora, hacemos un paso atrás de abstracción
00:01:05
Pensamos un poquito de cuál es la estructura básica de un lenguaje, de un programa
00:01:08
Y luego volvemos a ver
00:01:13
Cómo se relaciona
00:01:16
Lo que ya hemos hecho
00:01:18
Con esta parte de aquí
00:01:19
A partir de ahí
00:01:21
Empezaremos a ver
00:01:23
Algunas características del lenguaje
00:01:25
Cómo son las variables
00:01:28
Cómo son los métodos
00:01:29
Y empezaremos a hacer pequeñas pruebas
00:01:31
Sobre esto
00:01:34
Tened en cuenta que
00:01:35
Como todas las cosas
00:01:36
A principio esto es muy muy muy sencillo
00:01:38
¿Vale?
00:01:42
Entonces vosotros estáis escuchando
00:01:42
Y decís, esto es muy burrido
00:01:44
Esto está súper sencillo
00:01:45
Estos acolletes
00:01:48
Porque vamos, es fenomenal
00:01:50
Hasta que llega un momento
00:01:52
En que está el clásico clac
00:01:54
De, oye, mira, esto no lo he entendido
00:01:55
Empezáis a ir atrás en los apuntes
00:01:57
Y os dais cuenta que no era tan fácil
00:02:01
Como parecía
00:02:03
Y que las cosas se van complicando
00:02:04
Mi consejo
00:02:06
Dos, mis consejos, dos
00:02:07
Primero
00:02:09
Prestad atención, ¿vale?
00:02:10
Seguid lo que estamos haciendo
00:02:13
Porque vamos añadiendo constantemente cosas
00:02:15
Y segundo, no perdáis tiempo en casa
00:02:17
A partir de esta tarde, lo que hemos visto
00:02:21
Pues lo repasáis, hasta si es súper sencillo
00:02:24
Si es súper sencillo, tardaréis una hora en repasarlo
00:02:27
Ningún problema, ¿vale?
00:02:30
Cuando las cosas se harán más complejas
00:02:32
Haber tenido la base bien trabajada
00:02:34
y a verla de pasada varias veces
00:02:38
os ayudará a entender las cosas más difíciles
00:02:40
no os descolguéis
00:02:44
del ritmo
00:02:46
es decir, nosotros iremos
00:02:47
a una cierta velocidad
00:02:50
si de repente no estáis entendiendo lo que digo
00:02:51
no esperéis
00:02:54
dos semanas
00:02:56
antes de decirme, oye profe, mira
00:02:58
no he entendido esta cosa
00:03:00
que es una variable
00:03:02
decídmelo el mismo día
00:03:03
decídmelo el día después
00:03:05
Si vosotros hoy hacéis una cosa
00:03:07
Pensáis que la habéis entendida
00:03:09
Vais a casa, la leéis
00:03:11
Y veis que no la habéis entendida bien
00:03:12
El viernes, la próxima vez
00:03:14
Me venís a decir
00:03:17
Oye, mira, que yo he repasado esto
00:03:18
Y esto no lo he entendido
00:03:19
Es para vosotros, no para mí
00:03:20
A mí me da igual
00:03:23
Repasar la misma cosa
00:03:24
O ir seguido adelante
00:03:25
Si vosotros entendéis todo
00:03:27
Si yo voy con un tren
00:03:28
Y llegamos a cosas más difíciles
00:03:29
A final de año
00:03:32
¿Vale?
00:03:33
Pero yo lo que quiero
00:03:34
Es que no pierda mitad de la clase
00:03:35
¿Vale?
00:03:37
Porque las cosas básicas no se han entendido
00:03:39
No tengáis miedo a levantar la mano
00:03:41
Cuando preguntaréis
00:03:44
No he entendido una variable
00:03:45
El 50% de la gente
00:03:47
Está alrededor vuestra
00:03:49
Tampoco lo ha entendido
00:03:50
No os preocupéis
00:03:51
¿Sí?
00:03:52
Vale, vamos a empezar aquí
00:03:56
Entonces
00:03:57
Este de aquí
00:03:58
Es abstractamente
00:04:00
El
00:04:02
esquema de los
00:04:03
programas que iremos haciendo nosotros
00:04:07
¿vale? nosotros cuando
00:04:09
creamos un nuevo programa
00:04:10
un nuevo
00:04:12
trabajo, un nuevo proyecto
00:04:13
una nueva cosa que vamos a hacer en Java
00:04:16
crearemos un fichero
00:04:18
con un nombre .java
00:04:20
¿vale? el fichero .java
00:04:23
son los archivos fuentes
00:04:25
es importante que
00:04:26
el nombre que doy aquí
00:04:29
por ejemplo en este caso
00:04:31
mi clase, empiece por
00:04:33
mayúscula
00:04:35
es importante que
00:04:35
si no lo hago no funciona, no
00:04:38
si no lo hago funciona igual, pero
00:04:40
en todo el mundo de Java
00:04:42
cuando se crea un archivo de este
00:04:44
estilo, se está creando una clase
00:04:46
veremos más adelante que es la clase
00:04:49
y las clases
00:04:50
tienen nombre que
00:04:53
empiezan por mayúscula
00:04:54
¿vale? esto me permitirá
00:04:57
más adelante ver un nombre
00:04:58
que no sé si es una clase o una variable
00:05:00
O lo que sea, y si empieza por mayúscula
00:05:02
Puedo decir, ah, probablemente es una clase
00:05:05
Si es todo mayúscula, digo
00:05:07
Ah, esta es una constante
00:05:08
Si empieza por minúscula, digo
00:05:10
Ah, esto puede ser un método o una variable
00:05:12
¿Vale?
00:05:14
Y todos lo hacen así, por lo tanto, los dos también
00:05:15
Teniendo en cuenta que
00:05:18
Aquí también, en Java se suele poner
00:05:20
Que si mi nombre
00:05:22
Si el nombre que utilizo tiene varias palabras
00:05:24
Como es este caso, que es mi clase
00:05:27
Lo que se hace es una única palabra
00:05:28
Donde cada una de las palabras
00:05:31
tiene mayúscula, entonces la m
00:05:32
de mi es mayúscula
00:05:34
y la c de clase es mayúscula
00:05:36
si, lo veremos después
00:05:38
mi clase punto java
00:05:40
que es un fichero
00:05:43
es este gris, es el fichero
00:05:44
tiene dentro la clase
00:05:46
mi clase
00:05:48
si esto se llamara gato
00:05:49
punto java, pues aquí
00:05:52
sería public class gato
00:05:54
mayúsculas y minúsculas
00:05:56
cuentan en java
00:05:59
Java es case sensitive
00:06:00
O sea, hace caso a las mayúsculas y minúsculas
00:06:03
No es lo mismo escribir mi clase así
00:06:06
Que escribir mi clase con la C minúscula
00:06:09
No existe mi clase con la C minúscula
00:06:11
¿Está claro?
00:06:13
Vale
00:06:15
Luego, dentro de una clase normalmente
00:06:16
Por un buen rato
00:06:19
Nuestra estructura será
00:06:20
Una lista de atributos
00:06:22
Seguido de una lista de métodos
00:06:25
¿Vale?
00:06:29
¿Qué son los atributos y los métodos?
00:06:29
Lo entenderemos mejor cuando lleguemos a la programación en el tataobjetos
00:06:32
Pero para entendernos
00:06:36
Los atributos son las características
00:06:38
Los atributos, los elementos, los datos importantes para esta clase
00:06:41
¿Vale?
00:06:49
Si esta es la clase alumno
00:06:49
¿Cuáles pueden ser sus atributos?
00:06:51
Si la clase fuera alumno
00:07:00
alumno, vale
00:07:03
si en mi clase, es que en mi clase se refiere a este tipo de cosas
00:07:04
es genérico
00:07:08
pero pongamos la clase alumno
00:07:09
vosotros queréis modelizar a un alumno
00:07:11
¿cuáles son los atributos, las características
00:07:13
que pueden servirme
00:07:15
en mi programa para modelizar
00:07:17
a un alumno?
00:07:20
su nombre, apellido
00:07:21
DNI
00:07:24
dirección
00:07:26
donde vive
00:07:29
sus notas
00:07:30
no lo sé, vale
00:07:33
Pero la información que me servirá para el alumno
00:07:34
Estará aquí, dos datos
00:07:38
¿Vale?
00:07:39
Si esto fuera la clase triángulo
00:07:40
¿Aquí qué podría poner?
00:07:42
Lado 1, lado 2, lado 3
00:07:45
Por ejemplo
00:07:47
¿Vale?
00:07:48
Y a lo mejor ángulo 1, ángulo 2
00:07:49
No lo sé, los ángulos que necesito
00:07:52
No tengo idea
00:07:53
Si esto fuera la clase cuadrado
00:07:54
¿Aquí qué me necesitaría?
00:07:56
Lado
00:08:01
Y con lado ya tengo todo
00:08:01
Lo que tú me digas lado del cuadrado
00:08:03
Pues ya tengo mucha información
00:08:05
¿Vale?
00:08:06
Y esta es la información, los datos
00:08:08
Relacionado con este objeto
00:08:10
Que estoy trabajando
00:08:12
Pero ahora no estamos trabajando objeto
00:08:13
Pero todas las variables que voy a utilizar
00:08:15
Las tendré por aquí, en mi clase
00:08:17
Los métodos
00:08:20
Son como se llaman en Java
00:08:23
Las funciones
00:08:26
O sea, lo que puedo hacer
00:08:27
Con estos métodos
00:08:29
Con estos datos
00:08:31
Yo tengo los datos, los atributos
00:08:32
Allí, rellenados
00:08:34
De alguna forma, ya veremos como se hace
00:08:36
¿Qué puedo hacer con estos datos?
00:08:38
Por ejemplo
00:08:41
¿Qué puedo hacer en la clase alumno?
00:08:42
Por ejemplo, puedo decir
00:08:44
Preséntate alumno
00:08:45
Entonces habrá un método, preséntate alumno
00:08:47
Que escribirá en pantalla
00:08:50
Hola, me llamo
00:08:51
Y sacará de sus atributos como se llama
00:08:52
Y vivo
00:08:55
Y sacará de sus atributos su dirección
00:08:56
¿Sí?
00:08:59
La clase cuadrado, pues aquí tengo lado y aquí tendré como método calcular área.
00:09:03
¿Qué hará calcular área?
00:09:09
Irá a pillar en los atributos su lado, para saber cuánto es grande, y hará lado al cuadrado.
00:09:10
Si yo busco el otro método, que es el calcular perímetro,
00:09:17
pues lo que hará el cuadrado es ir a buscar cuál es su lado y lo multiplicará por 4.
00:09:21
¿Se entiende más o menos?
00:09:28
Entonces, por ahora no me interesa que sepáis programar orientado a objetos,
00:09:30
Me interesa que la estructura de una clase suele ser así
00:09:34
Defino la clase
00:09:37
Tengo las variables
00:09:39
Tengo los atributos
00:09:41
Tengo las características
00:09:42
Que voy a utilizar en esta clase
00:09:44
Tengo las funciones
00:09:46
Tengo los métodos
00:09:47
Que se utilizan en esta clase
00:09:48
Si paso desde aquí
00:09:51
Desde esta cosa aquí
00:09:58
A algo de código
00:09:59
La estructura
00:10:02
La misma estructura sería algo así
00:10:04
public clase mi clase
00:10:06
esto define que estoy creando
00:10:08
la clase mi clase, nosotros hemos creado
00:10:10
la clase lo, esto podría ser
00:10:12
public clase alumno
00:10:14
public clase cuadrado
00:10:16
y veo que se abre una paréntesis
00:10:17
aquí
00:10:21
aquí
00:10:21
y se cierra al final del todo
00:10:24
todo esto
00:10:26
es mi clase
00:10:27
¿entienden?
00:10:29
dentro
00:10:34
tengo una serie de atributos
00:10:34
¿qué es esta cosa aquí? no lo sé, no lo hemos visto todavía
00:10:36
¿vale? pero aquí tendré
00:10:39
no sé qué atributo 1
00:10:41
no sé qué atributo 2
00:10:43
no sé qué atributo 3
00:10:45
¿vale? nosotros, en el caso del alumno, tendré
00:10:46
string nombre
00:10:49
string dirección
00:10:50
int edad
00:10:52
¿vale? ¿qué es esto string int? todavía no lo sabemos
00:10:54
lo veremos, ¿vale?
00:10:56
pero aquí tendré la definición de lo que necesito
00:10:58
dirección
00:11:01
nombre, edad
00:11:02
lo que sea
00:11:04
y luego empiezan los varios métodos
00:11:05
por ejemplo public void
00:11:08
met uno sería el método uno
00:11:10
para mi podría ser calcula área
00:11:12
entonces public void calcula área
00:11:14
o lo que sea
00:11:16
un método que nosotros conocemos
00:11:17
porque ya lo hemos visto
00:11:20
es esto
00:11:21
el método public static void main
00:11:22
string args
00:11:26
si, os acordáis
00:11:27
es un método especial
00:11:29
que no es un método cualquiera
00:11:31
Pero es el método que me dice
00:11:33
De dónde empieza mi programa
00:11:34
Cuando yo le paso
00:11:37
Este código aquí lo compilo
00:11:39
Se transforma en punto clase
00:11:41
En bytecode, vale, fenomenal
00:11:43
Y a este punto, este punto clase
00:11:45
Se lo paso a la Java Lector Machine
00:11:47
La Java Lector Machine tiene que saber
00:11:49
De dónde empieza
00:11:51
El programa, y si yo no se lo digo
00:11:53
Él me dirá, este programa no se puede empezar
00:11:55
Porque no sé de dónde
00:11:57
¿Cómo le digo si empieza de aquí?
00:11:58
Creando el método main
00:12:01
El método principal
00:12:03
El método main es el punto de acceso a mi trabajo
00:12:04
Y luego desde aquí podré llamar otros métodos
00:12:07
Llamar otra clase
00:12:10
Crear variables
00:12:11
Hacer todo lo que se pueda hacer en una programación
00:12:12
Pero en cada programa tiene que haber un punto de arranque
00:12:14
Si
00:12:17
El método 2 iría aquí
00:12:19
Cuantos métodos quiero
00:12:30
Luego no sabemos declarar métodos
00:12:33
No sabemos declarar variables
00:12:36
Esto es solo muy, muy a alto nivel
00:12:37
Para entender la estructura más o menos
00:12:40
¿Vale?
00:12:42
La que llegaremos a hacer en un mes
00:12:43
De programación o cosas por el estilo
00:12:45
Cuando empezaremos con la clase de objetos
00:12:47
Las haremos así la primera
00:12:49
¿Vale? Es un poquito para empezar por algún lado
00:12:51
¿Dudas?
00:12:54
¿Sí?
00:12:57
Sí
00:12:58
Es el punto de acceso
00:12:59
La entrada a mi programa
00:13:12
Si quieres decir
00:13:13
La entrada como
00:13:14
En el sentido de entrada, proceso y salida
00:13:16
De un algoritmo, pues
00:13:19
Por algún lado estará también
00:13:20
¿Vale? Ya lo veremos
00:13:22
Ya veremos como hacemos las entradas, la salida y el proceso
00:13:24
¿Vale? Por ahora nosotros sabemos
00:13:27
Que podemos crear
00:13:29
Varios atributos, podemos crear
00:13:31
Varios métodos, no sabemos como
00:13:33
¿Vale? Y que hay un método especial
00:13:34
Que es el método main, que es el que usaremos
00:13:37
Nosotros al principio, porque mientras
00:13:38
Que no sepamos un poquito de como
00:13:41
van las cosas, no usaremos ni otros
00:13:43
métodos y no tenemos ni siquiera atributos
00:13:44
si piensas en lo que hemos hecho
00:13:46
y ahora lo veremos, no hemos utilizado
00:13:48
atributos, nosotros en
00:13:50
en el programa
00:13:52
que hemos hecho, no hay atributos
00:13:54
hay solo el método mail
00:13:55
este, es otro método
00:13:56
esto sería como este de aquí
00:14:03
¿si? y este de aquí
00:14:05
son los puntitos
00:14:07
y este de aquí es el método mail
00:14:08
por ejemplo
00:14:11
pero tranquilos que
00:14:12
A esto llegaremos
00:14:15
Es solo para que entendáis
00:14:16
Que hay una estructura básica
00:14:18
Lo que si ahora me importa
00:14:20
Es que en mi clase punto java
00:14:22
Va la clase mi clase
00:14:24
No puedo poner en mi clase punto java
00:14:25
Public class gato
00:14:28
Me va a dar un error
00:14:30
Entonces aquí en los apuntes
00:14:31
Os explica cada uno de estos
00:14:38
Elementos
00:14:40
Que son
00:14:42
Entonces empieza con public class mi clase
00:14:43
Que quiere decir esta frase aquí
00:14:46
Esta sentencia
00:14:48
Está diciendo que todo lo que voy a crear aquí
00:14:49
Es la clase mi clase
00:14:52
Es la clase alumno, es la clase triángulo
00:14:54
Es darle un nombre
00:14:56
Este programita que estoy creando
00:14:57
Tiene este significado
00:14:59
En cierto sentido
00:15:02
Estoy modelizando un alumno
00:15:03
Estoy modelizando un triángulo
00:15:04
Estoy modelizando la geometría
00:15:06
Public class y un nombre del programa
00:15:07
Que lo estoy creando yo
00:15:11
Todo lo que está entre el primer
00:15:12
llave, ¿no? esto
00:15:15
y la última llave, o sea, entre esta de aquí
00:15:17
y esta de aquí, es
00:15:19
esta clase que estoy creando
00:15:21
¿sí? entonces la clase
00:15:22
tiene una definición
00:15:25
he definido qué clase es
00:15:27
cómo se llama, y luego un bloque
00:15:29
¿vale? paréntesis hasta
00:15:31
paréntesis, este de aquí, llave hasta llave
00:15:33
se llama un bloque, un bloque de código
00:15:35
¿sí? y en este
00:15:37
bloque lo que haré es
00:15:39
desarrollar esa clase, decir
00:15:41
Que hace esta clase, sus atributos, sus métodos
00:15:43
Lo que sea
00:15:45
¿Sí?
00:15:47
Después están estas definiciones de aquí
00:15:51
Que estas serán variables o constantes
00:15:53
Lo veremos en un futuro
00:15:55
¿Vale?
00:15:57
Son las características propias de la clase
00:15:58
Son lo que define la clase
00:16:01
Un alumno es definido por su nombre, su DNI
00:16:02
Y su dirección
00:16:04
¿Qué sé yo?
00:16:07
Un avión
00:16:08
Está definido por su número
00:16:11
definido por su número de matrícula, la velocidad
00:16:13
máxima, el color exterior
00:16:15
y el número de asientos
00:16:17
aquí voy definiendo
00:16:18
las características
00:16:21
que caracterizan
00:16:23
mi clase
00:16:24
sea todo lo que sea mi clase
00:16:26
cuando yo creo una clase nueva
00:16:28
tendré que estar, tener un poquito de
00:16:31
prestar atención a
00:16:33
definir
00:16:35
las características que necesito
00:16:36
si yo creo una clase alumno
00:16:39
y se me olvida poner nombre
00:16:41
Y luego cuando quiero utilizar esta clase
00:16:42
Tengo que escribir el nombre del alumno
00:16:45
No tengo ese dato
00:16:47
Entonces tendré que volver atrás
00:16:48
Ponerlo otra vez y ver que queda
00:16:50
O sea que hay una parte inicial
00:16:52
En el que tengo que pensar en la clase que quiero hacer
00:16:57
Y intentar poner todos los atributos necesarios para esa clase
00:17:01
Programación no es picar código
00:17:05
Pero es pensar
00:17:09
La parte difícil es pensar antes
00:17:11
¿Qué voy a hacer?
00:17:13
Y luego lo hago
00:17:15
Por ejemplo, en una clase persona
00:17:15
Si yo estuviera haciendo public
00:17:19
Tras persona, ¿qué atributos podría poner?
00:17:21
Pues aquí hace el ejemplo
00:17:24
Nombre y edad
00:17:25
De una persona me interesa su nombre y su edad
00:17:26
Y si la clase fuera
00:17:29
Libro
00:17:31
A lo mejor en una clase libro me interesa
00:17:32
El título del libro, la autor del libro
00:17:35
Y cuántas páginas tiene
00:17:37
Y editorial, y género, y no lo sé
00:17:38
Lo que haga falta
00:17:42
También depende del programa que voy a hacer
00:17:44
Si el programa es una biblioteca
00:17:46
Pues a lo mejor necesitaré algunos datos
00:17:48
Que es una cosa distinta de si el programa es para
00:17:51
Que se yo, para venta de libros en un instituto
00:17:54
O sea, no lo sé
00:18:00
A lo mejor hay datos que en una biblioteca son útiles
00:18:02
Y que en el otro no
00:18:05
Por ejemplo, identificar un propio libro
00:18:07
Una copia concreta del libro
00:18:10
En una biblioteca es útil
00:18:11
Al venderla a los alumnos
00:18:13
A lo mejor no, no lo sé
00:18:15
Digo así para
00:18:16
Hacerme un ejemplo
00:18:17
Inventamos una clase
00:18:24
Nadie
00:18:25
Clase
00:18:34
Perro
00:18:36
¿Qué atributos tiene la clase perro?
00:18:38
¿Abaja?
00:18:42
¿Edad?
00:18:44
¿Nombre de perro?
00:18:47
¿Fanero de perro?
00:18:49
¿Nacionalidad de perro?
00:18:51
Si te interesa, pienso yo para decirte que no.
00:18:53
Depende de qué estás haciendo, por qué usas esta clase de perro.
00:18:57
¿Qué vas a hacer con eso?
00:19:00
Si a lo mejor te necesita la nacionalidad por alguna razón, pues esto te lo aportas.
00:19:02
Otro ejemplo, clase coche.
00:19:08
Marca el coche, modelo, matrícula.
00:19:14
año de producción, que se yo
00:19:19
tened en cuenta, pensad en coche
00:19:25
si yo soy
00:19:26
un
00:19:28
policía
00:19:31
que hago un
00:19:32
programa que tenga que ver
00:19:34
con un coche, a lo mejor me interesan
00:19:37
cosas como la matrícula
00:19:39
del coche, el color del coche
00:19:41
el conductor
00:19:43
asociado con ese coche, vale
00:19:44
esas son las cosas que me interesan
00:19:46
ahora, si yo en vez de ser un policía
00:19:48
Soy un productor de coches
00:19:50
Alguien que produce coches
00:19:52
Me interesa saber la matrícula
00:19:54
No, no soy yo quien pone la matrícula
00:19:56
A mí me interesan los datos como velocidad máxima
00:19:58
Cilindrada
00:20:01
Cilindrada
00:20:03
Cilindrada
00:20:04
Y cosas por el estilo
00:20:06
O sea, dependiendo
00:20:07
De por qué estoy haciendo este coche
00:20:10
Tendré atributos otros
00:20:12
¿Dudas?
00:20:14
No, es que esto es
00:20:21
Atr1, atr2, atr3
00:20:23
Hasta aquel número, el número n
00:20:25
Atrn
00:20:27
¿Sí?
00:20:28
Vale, la parte de esta de aquí
00:20:32
Que es esta, ¿vale?
00:20:34
Esta de aquí es un método, ¿vale?
00:20:36
Un método es, ¿qué puedo hacer con esta clase?
00:20:37
¿Vale? Ok, muy bien
00:20:41
Le hemos dado una serie de
00:20:42
Definido una serie de atributos
00:20:44
Una serie de características
00:20:46
¿Cuáles son las funciones de esta clase?
00:20:47
¿Qué puede hacer? ¿Cuál es su comportamiento?
00:20:50
¿Vale?
00:20:53
Y por ejemplo
00:20:53
En la clase persona
00:20:55
Que es un ejemplo que hemos hecho antes
00:20:56
Que tenía nombre y edad
00:20:58
Podría implementar un método cumpleaños
00:20:59
Que cuando lanzo, cuando digo ejecutar
00:21:02
Con el método cumpleaños
00:21:05
Aumenta uno a su edad
00:21:06
Entonces cada vez que llegue
00:21:08
El cumpleaños de esta persona
00:21:11
Yo llamaré el método cumpleaños
00:21:12
Y su edad se actualizará
00:21:14
A la edad que tenía antes más uno
00:21:16
¿Sí?
00:21:18
Por ejemplo
00:21:21
Si es lo que me interesa
00:21:22
¿Me interesa a mi la función cumpleaños
00:21:23
Si estoy hablando de alumnos
00:21:26
Por ejemplo
00:21:29
Pues a lo mejor no
00:21:29
¿Vale? O si
00:21:31
O a lo mejor me interesa más bien
00:21:32
Calcular la edad
00:21:36
A partir de
00:21:38
Tendré como
00:21:39
Puedo tener como atributo fecha de nacimiento
00:21:40
Y que tenga un método de
00:21:44
Calculame que edad tiene
00:21:45
Eso puede ser interesante
00:21:46
De cumpleaños y que cada vez que cumplís los años
00:21:48
Si yo tengo que ir a una base de datos a ejecutar
00:21:52
Cumpleaños, pues a lo mejor no me interesa
00:21:54
No me interesa a mí, pero no lo sé
00:21:56
Depende de que
00:21:57
De cómo lo gestionáis vosotros, ¿vale?
00:21:59
De lo que queréis hacer, de por qué estamos haciendo este programa
00:22:02
La clase libro
00:22:04
¿Vale? La clase libro tenía varias cosas
00:22:06
Allí, varios atributos
00:22:08
Pues a lo mejor tengo un método
00:22:10
Leer, asociado al libro
00:22:12
Que cuando lo ejecuto, pues me permite
00:22:14
Leer el libro, me permite leer
00:22:16
El contenido de ese libro, que estará almacenado
00:22:18
Por algún lado, no lo sé
00:22:20
Y la clase mi clase
00:22:21
Con este código de aquí
00:22:27
¿Cómo se llama el método aquí?
00:22:29
Pues se llama met1
00:22:35
Es un método que no tiene que ver
00:22:35
Es todo abstracto
00:22:37
Pero este es un método met1
00:22:38
Que hará lo que está en este bloque
00:22:40
¿Vale?
00:22:42
Veis que hay otro bloque
00:22:43
Paréntesis paréntesis
00:22:44
Llave, llave
00:22:45
Este es otro bloque de código
00:22:46
He definido que hoy en día
00:22:48
Voy a hacer el método 1
00:22:50
Met1
00:22:51
¿Vale?
00:22:52
Y esto es lo que hace Metum
00:22:52
Ya veremos como lo relleno
00:22:54
Claro, esta paréntesis de aquí
00:22:57
Es como se escribe
00:23:01
Aquí pondré los parámetros
00:23:03
¿Vale?
00:23:05
Pero como sabemos que es un parámetro
00:23:06
Pero te acuerdas main
00:23:07
Te acuerdas que aquí dentro ponías
00:23:10
Paréntesis, paréntesis, paréntesis
00:23:12
Porque tiene ese parámetro
00:23:13
¿Vale?
00:23:16
No sabemos que es, por ahora no lo sé
00:23:17
Este es simplemente que la sintaxis
00:23:20
requiere estas dos paréntesis para que luego
00:23:22
podré poner aquí los parámetros
00:23:24
de este método y si es que
00:23:25
el método depende de algunos
00:23:28
valores que yo le doy
00:23:29
pues entonces tendré que ponerlo aquí
00:23:31
si no depende de nada pues esto de nuevo
00:23:33
y
00:23:35
finalmente está el método
00:23:38
main ¿vale? que es este
00:23:42
método especial
00:23:43
que puede no estar
00:23:44
nosotros en un futuro haremos clases donde
00:23:47
no hay main ¿vale?
00:23:49
Pero si yo quiero ejecutar mi programa
00:23:51
Necesito que mi programa
00:23:54
Tenga un punto de acceso
00:23:56
Tenga este método main
00:23:58
Si yo hago mi programa
00:23:59
Que hacemos ahora
00:24:01
Calcula, recibe dos números y súmalos
00:24:02
O dame un número y dime si es
00:24:05
Par o impar
00:24:07
Y no creo un main
00:24:09
Pues cuando llegue a ejecutarlo
00:24:12
Eclipse me dirá
00:24:13
Mira, no hay
00:24:15
Un punto donde puedo arrancar el programa
00:24:16
Por lo tanto no lo hago
00:24:19
No, puedes ponerlo donde te haga
00:24:20
Lo puedes poner hasta antes de los atributos
00:24:27
Normalmente
00:24:29
¿Vale? Normalmente
00:24:31
Los atributos, o sea, declaro la clase
00:24:33
Declaro los atributos de la clase
00:24:35
Y empiezo con los métodos
00:24:37
¿Dónde va el main?
00:24:39
Yo personalmente lo pondría o a principio o a final de los métodos
00:24:40
Para que sepa dónde está
00:24:44
Pero
00:24:45
Eso no hay una regla clara
00:24:46
No, lo tienen que poner siempre al final
00:24:48
¿Más dudas?
00:24:50
al método
00:25:01
el main es un método
00:25:02
pero es un método especial
00:25:05
¿vale? tú puedes hacer todos los métodos
00:25:07
que te da la gana, pero hay un método
00:25:09
especial
00:25:12
mágico, que es el método
00:25:13
que me permite decir, oye mira, si buscas
00:25:16
un punto de acceso a este
00:25:18
programa, es esto
00:25:19
si yo te paso, esto lo compilo
00:25:21
en class, ¿vale?
00:25:24
y lo paso a una gaveta machine
00:25:25
¿de dónde empieza la gaveta machine
00:25:27
Interpretar, pues desde la primera
00:25:29
Línea del método main
00:25:31
Si no hay método main, me dirá
00:25:33
Este de aquí no lo puedo interpretar
00:25:35
Porque no sé por dónde empezar
00:25:38
¿Dudas?
00:25:39
Vale
00:25:46
¿Os acordáis de esto?
00:25:46
Esto es lo que hemos hecho
00:25:54
Nosotros he ejecutado
00:25:55
¿Cómo se relaciona esto
00:25:57
Con lo que acabamos de decir?
00:25:59
Pues public class hola mundo
00:26:01
Es el nombre de mi clase
00:26:03
¿En qué fichero me espero que esté este señor?
00:26:05
holamundo.java
00:26:11
¿Vale?
00:26:12
Con H mayúscula y M mayúscula
00:26:13
¿Sí?
00:26:15
¿Qué atributo tiene esta clase?
00:26:17
Ningún
00:26:21
¿Vale?
00:26:22
También porque si yo modelizo un coche
00:26:23
Pues tiene sentido que tenga
00:26:25
Hemos dicho su velocidad
00:26:27
Su color, lo que sea
00:26:29
Si voy a modelizar holamundo
00:26:31
¿Qué es holamundo?
00:26:33
Aquí yo tengo objetos
00:26:34
Tengo varios coches, sí
00:26:38
Tengo varios solamundos, ¿qué es eso?
00:26:39
¿Vale? Entonces, esta es una clase
00:26:42
De prueba para jugar
00:26:44
Que no tiene atributos
00:26:45
No tiene ningún atributo asociado con esa clase
00:26:47
¿Vale? Por lo tanto, no los pongo
00:26:50
Aquí está fácil
00:26:52
¿Cuántos métodos tiene esta clase?
00:26:53
Uno
00:26:57
Uno solo
00:26:58
¿Podría tener más? Sí, podría tener más
00:26:59
Pero como no me sirven, pues entonces
00:27:02
Creo solo el método main
00:27:04
Para dar un punto de acceso
00:27:06
A esta cosa
00:27:08
Os recuerdo que el método main va escrito así
00:27:09
Con minúsculas y mayúsculas
00:27:12
De esta forma
00:27:14
Si no lo escribís así
00:27:15
Cuando llegáis a arrancar
00:27:16
Él os dirá
00:27:18
Oye mira no existe
00:27:19
Pongo una M mayúscula aquí
00:27:20
No pongo estas dos paréntesis
00:27:22
Llamo esto arg en vez que args
00:27:25
Cuando arranco
00:27:28
Pues me dirá
00:27:29
Oye mira el name está
00:27:30
Yo dentro del main
00:27:31
Pongo las instrucciones que quiera que se pude
00:28:04
Este es un método
00:28:06
De la clase de la mundo
00:28:08
Por algún lado está
00:28:10
Public void print
00:28:11
O public void system.org
00:28:14
Esto es algo
00:28:15
Mágico que está ahí fuera en una librería
00:28:18
Es una instrucción
00:28:20
Y es la primera instrucción
00:28:22
Que yo ejecuto dentro del main
00:28:24
¿Vale?
00:28:26
En realidad, println es un método
00:28:27
¿Vale?
00:28:30
De la clase printstream
00:28:31
Definida por alguien
00:28:33
¿Vale?
00:28:35
Y yo la llamo desde aquí
00:28:36
Pero todas estas cosas más adelante
00:28:37
¿Vale?
00:28:40
Simplemente por ahora nosotros no entendemos por qué
00:28:40
Pero entendemos que funciona
00:28:43
Por lo tanto lo usamos
00:28:44
¿Dudas?
00:28:45
Entonces, la idea es que si yo quiero hacer el programa más sencillo posible
00:28:49
¿Vale?
00:28:53
El Hola Mundo, cualquier programa que vosotros
00:28:54
Empeceréis, el primer programa
00:28:56
Que vais a hacer es el Hello World
00:28:58
El Hello World de cada lenguaje
00:29:00
De programación es la base
00:29:02
Mínima para hacer algo y que funcione algo
00:29:04
¿Vale? Pues esto es
00:29:06
El programa más sencillo
00:29:08
Que puedes hacer en Java
00:29:10
Que es escribirte Hola
00:29:11
Y para eso necesito
00:29:13
Definir la clase
00:29:16
Definir un punto de acceso a mi
00:29:17
Programa y una vez que he definido
00:29:20
Estas dos cosas
00:29:22
Decir que me escriba
00:29:23
Hola mundo
00:29:25
¿Qué es esto en realidad?
00:29:26
Pues lo podéis ver como
00:29:30
Oye sistema
00:29:31
Estoy hablando a ordenador
00:29:32
Vete a aquella parte del sistema
00:29:34
Que es para output
00:29:37
Para escribir hacia afuera
00:29:38
Y ejecuta el método
00:29:40
Escribir una línea
00:29:42
Imprimir una línea
00:29:44
Con este valor de aquí
00:29:46
Esto
00:29:48
Es el parámetro
00:29:49
Que le estoy pasando
00:29:51
¿Dudas?
00:29:52
Vale
00:30:02
Entonces aquí
00:30:03
A ver si dice algo
00:30:05
La clase hola mundo
00:30:06
No tiene atributos
00:30:07
La clase hola mundo
00:30:08
Tiene un solo método
00:30:10
Que es el método main
00:30:10
Al ejecutar este programa
00:30:11
Se empezará por la primera instrucción
00:30:12
Del método main
00:30:14
O sea, se empieza por aquí
00:30:15
¿Vale?
00:30:16
¿Qué es el sistema output?
00:30:17
Println es algo así
00:30:18
System es el sistema
00:30:19
Output es como la salida del sistema
00:30:20
Println es imprimir una línea
00:30:22
Y hola mundo es el parámetro
00:30:25
Es lo que yo quiero imprimir
00:30:28
¿Se entiende?
00:30:30
De hecho hemos ya usado uno
00:30:36
El otro día cuando hicimos un ejemplo
00:30:38
Cuando lo hicimos por línea de comando
00:30:40
Con javascript y java
00:30:43
En vez de println utilizamos print
00:30:44
Sin ln
00:30:47
Y veíamos que en vez de escribir una cosa
00:30:48
Y irse a una nueva línea
00:30:50
Escribía una cosa y la siguiente cosa la escribía al lado
00:30:51
Y así en un funcionamiento un poquito distinto
00:30:54
Este es un método de una clase
00:30:57
En realidad, este señor de aquí
00:31:00
Es un objeto
00:31:02
¿Vale?
00:31:03
Es un objeto de la clase PrintStream
00:31:04
¿Vale?
00:31:07
Que me permite escribir
00:31:08
En pantalla, por ejemplo
00:31:09
¿Vale?
00:31:11
Y es una cosa que se crea en automático
00:31:11
Lleva a esta máquina
00:31:13
Asume que esto ya está creado
00:31:14
Y yo voy a usar métodos de esta clase
00:31:17
Como el método Printer
00:31:19
El método Printer.ln
00:31:20
El método Refresh
00:31:21
El método lo que me propongo
00:31:23
Hay una cosa que se llama API
00:31:24
Lo veremos dentro de un rato
00:31:26
¿Vale?
00:31:28
Donde sostancialmente vienen todas las clases
00:31:30
Ya hechas de Java
00:31:33
Todas las que existen
00:31:34
Y los métodos que puedo utilizar en esa clase
00:31:35
Y dentro de un rato
00:31:38
Nosotros iremos a
00:31:40
¿Qué es esto?
00:31:41
Esta es una PrintStream
00:31:42
Me voy a buscar la clase PrintStream
00:31:43
Y miro con esta clase aquí
00:31:45
Con un System.out que puedo hacer
00:31:47
Puedo hacer la Print, puedo hacer la PrintLn
00:31:49
Puedo hacer la Refresh, puedo hacer no sé qué
00:31:51
Todo el método que pueda
00:31:52
por ahora no, por ahora
00:31:54
mantengamos sencillo y nos aprendemos
00:31:56
solo que para imprimir por pantalla
00:31:59
System.org.pl
00:32:00
dudas
00:32:10
- Autor/es:
- Stefano Chiesa
- Subido por:
- Stefano C.
- Licencia:
- Reconocimiento
- Visualizaciones:
- 29
- Fecha:
- 26 de septiembre de 2023 - 20:17
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 32′ 22″
- Relación de aspecto:
- 4:3 Hasta 2009 fue el estándar utilizado en la televisión PAL; muchas pantallas de ordenador y televisores usan este estándar, erróneamente llamado cuadrado, cuando en la realidad es rectangular o wide.
- Resolución:
- 960x720 píxeles
- Tamaño:
- 46.81 MBytes