Java Básico 3 - 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, entonces, estamos haciendo algunos ejercicios sobre variables.
00:00:00
Vamos a ver si lo podemos hacer así.
00:00:07
Vale, entonces, vamos a hacer este ejercicio.
00:00:19
Miradme, señores.
00:00:24
Paso número A.
00:00:28
String, palabra 1.
00:00:29
es igual, comillas, comillas
00:00:31
punto y coma. ¿Qué es esto?
00:00:34
Se puede hacer esta cosa aquí
00:00:44
Esto es
00:00:45
una cadena de caracteres
00:00:52
sin caracteres
00:00:54
Es la cadena vacía
00:00:56
Es un string vacío
00:00:58
Cuidado por quien
00:01:00
sepa algo de programación orientada a objetos
00:01:02
No es null
00:01:05
Son cosas distintas
00:01:05
¿Vale? Este de aquí es
00:01:09
un valor, es un literal
00:01:11
no es un literal, es un literal
00:01:13
que sustancialmente me está
00:01:16
diciendo, pilla una cadena
00:01:17
que no tiene caracteres dentro
00:01:19
esa es mi cadena, ponla dentro
00:01:21
de p1
00:01:24
¿vale? perfecto, entonces yo tengo
00:01:25
la variable p1, que es de tipo
00:01:27
string, y aquí dentro
00:01:29
he puesto, nada
00:01:31
¿estamos todos de acuerdo hasta aquí?
00:01:33
bien, entonces vamos
00:01:36
adelante
00:01:37
¿Qué hace esta cosa aquí?
00:01:38
Crea otra
00:01:45
variable distinta de esta
00:01:46
otro trozo de memoria
00:01:49
en este trozo de memoria pone
00:01:51
que se llama
00:01:53
p, la palabra 2
00:01:55
es igual a
00:01:57
la, o sea que dentro está
00:01:59
el carácter l seguido del carácter a
00:02:01
y nada más, y puede tener
00:02:03
solo literales de tipo string
00:02:05
la, así, es un
00:02:07
literal tipo string? Sí, hablo tanto, todo bien. Vale. Ok. Entonces, ahora me dice, dentro
00:02:09
de P1, ¿vale? Vas a poner el literal HO, H-O, seguido del contenido de P1, seguido del contenido
00:02:22
de P2. ¿Qué sale? Hola. ¿Y dónde se guarda? En P1. Entonces se machaca lo que está en P1, que era nada, pero el valor actual se pierde. Este valor aquí es nada, este valor de aquí es la, por lo tanto, oh, concatenado a nada, concatenado a la, sale hola, hola, hola, bla, bla, bla, bla.
00:02:35
silencio. Vale, muy bien. Entonces, ¿qué pasa ahora? Modifico B2, poniendo allí dentro,
00:03:08
R1, o sea que dentro tengo hola mundo. ¿Estamos todos de acuerdo? ¿Quién opina y está de
00:03:29
acuerdo a este punto para ver quién se ha perdido? Que aquí dentro ahora en B2 es hola
00:03:39
mundo. ¿Quién está convencido?
00:03:45
¿Pero los demás
00:03:51
qué piensan?
00:03:51
No se puede porque no tienen las comillas.
00:03:52
Entonces,
00:03:56
no es una variable declarada.
00:03:57
Efectivamente. Esto
00:03:59
falta las comillas, ¿vale?
00:04:01
Al faltar las comillas,
00:04:03
mundo no es
00:04:05
una variable.
00:04:06
No es un entero.
00:04:09
Un literal.
00:04:11
Un literal.
00:04:12
Si no es un literal,
00:04:13
¿qué es eso?
00:04:21
Es una variable, como aquí uso p1, ¿vale?
00:04:23
Solo que mundo no está declarada en ningún lado.
00:04:27
Yo he puesto string mundo es igual a algo.
00:04:30
Por lo tanto, cuando él va a buscar esto, va a su tabla de variables
00:04:33
y busca allí si hay un identificador que se llama mundo.
00:04:37
Encontrará el identificador p1 que va a esta zona de memoria y allí habrá algo.
00:04:42
Identificará el segundo y dirá, voy aquí y aquí en la memoria tengo otra cosa.
00:04:47
Cuando va a un cierto momento a buscar mundo, no lo encuentra por ningún lado.
00:04:52
Y entonces dirá un error en el que dice algo como, no puedo resolver este identificador.
00:04:58
Este identificador no existe.
00:05:08
No sé a qué te refieres.
00:05:10
No hay ninguna zona de memoria con este nombre.
00:05:12
Por lo tanto, no puedo ir allí y sacar el contenido.
00:05:16
¿Entiendes?
00:05:19
Muy bien.
00:05:20
Entonces esto explota. Cuidado, ¿eh? Con estos errores, porque os pasará, ¿vale?
00:05:22
Ahora, con el identificador, con el ID, es más fácil porque si lo escribo así, el ID ya me lo marca.
00:05:29
Me lo marca en rojo diciendo, oye, mira, esto no sé qué es, no lo has declarado.
00:05:34
Entonces allí ya te deberías dar cuenta.
00:05:38
Vale, sigamos.
00:05:41
Hagámoslo así también.
00:05:47
Así.
00:05:50
Esta cosa aquí es un literal de int.
00:05:50
¿Está de acuerdo esto de aquí?
00:06:16
Vale.
00:06:19
¿Esta cosa de aquí?
00:06:20
Es string.
00:06:29
¿Por qué no es string?
00:06:33
Porque no es de comillas
00:06:34
Por lo tanto no es trigo
00:06:36
¿Y qué es eso?
00:06:38
Eso es el problema que decíamos antes
00:06:41
Hemos dicho que 3 es un número entero
00:06:44
Pero también es un número con coma
00:06:46
Entonces, ¿cómo diferencio
00:06:49
Cuando estoy hablando 3 como entero
00:06:51
O 3 como 3.000000?
00:06:54
¿Vale?
00:06:57
¿Qué es con esto?
00:06:58
Si yo pongo 3 o un número a secas
00:07:00
Eso normalmente es un entero
00:07:03
si yo pongo el número con una f al final
00:07:04
ese es un float
00:07:08
entonces este es el número 3
00:07:09
pero entendido
00:07:12
como literal de float
00:07:15
no entendido como literal de
00:07:16
entero
00:07:18
y si quiero 3
00:07:19
como double, como are
00:07:23
y este
00:07:24
de aquí, que literal es
00:07:30
3
00:07:31
y si pongo
00:07:32
comilla, 3 comillas
00:07:35
o apóstrofe 3
00:07:36
o apóstrofe char
00:07:39
¿sí?
00:07:41
entonces siempre es 3
00:07:43
pero no es que 3
00:07:44
¿qué tipo es 3? no lo sé, depende de
00:07:46
qué estás considerando tú como 3
00:07:49
3 como número es entero
00:07:50
3 double, o sea 3D
00:07:52
es como el
00:07:54
double, de tipo
00:07:56
de precisión doble
00:07:58
3 entre comillas será un string
00:07:59
o sea, tengo que ver
00:08:02
qué estás utilizando, qué es ese 3
00:08:03
Porque a lo mejor a veces hay números que no son números
00:08:06
O sea, los números int
00:08:10
Son números entendidos como
00:08:13
Números que se pueden sumar, dividir, multiplicar
00:08:15
¿Vale?
00:08:19
Entonces si yo, no sé
00:08:20
Un precio, una edad
00:08:21
Si luego le sumo uno para cumplir años
00:08:23
Y cosas por el estilo
00:08:25
Pero hay otras secuencias de números
00:08:26
Que no son números
00:08:28
El DN
00:08:30
Vosotros sumáis entre ellos dos DN
00:08:31
Tiene sentido
00:08:34
hacer el DNI de un alumno
00:08:37
más el DNI de otro alumno
00:08:39
he entendido cómo sumar número por número
00:08:41
para tener otro número, no os da nada
00:08:43
los números del DNI son identificadores
00:08:45
son string, no son int
00:08:47
no obstante
00:08:49
luego se da el número
00:08:51
¿entendéis lo que quiero decir?
00:08:52
un número de teléfono
00:08:56
es un número, es un int
00:08:57
si, tengo que operar
00:08:59
sobre ese número
00:09:02
yo pillo mi número de teléfono, lo divido por dos
00:09:03
yo tengo el número de, no sé
00:09:05
un amigo mío, no
00:09:07
entonces, no son enteros en realidad
00:09:08
¿se entiende?
00:09:11
vale, sigamos por ahí
00:09:15
el operador más
00:09:16
ya lo hemos visto, vale, hemos visto que
00:09:23
el operador más es
00:09:25
sobrecargado, es decir que
00:09:27
dependiendo de con quien lo uso
00:09:29
es una suma
00:09:31
u otra, vale
00:09:34
si yo sumo
00:09:35
un operador más entre enteros
00:09:37
el resultado
00:09:40
que me da es un entero
00:09:42
3 más 5 es 8
00:09:43
como entero, int
00:09:45
pero ¿qué pasa si yo sumo
00:09:47
un entero con un double?
00:09:50
3 más
00:09:52
3,5
00:09:54
el resultado tiene que ser
00:09:56
double
00:09:58
porque saldría 6,5
00:10:00
no puede ser un int el resultado
00:10:02
justo
00:10:03
si lo uso entre string
00:10:04
pues el resultado es un string
00:10:08
entonces el más ya no es
00:10:10
el operador aritmético de suma
00:10:12
de esto más esto,
00:10:14
se transforma en el operador de concatenación.
00:10:15
Añádeme esto
00:10:19
y detrás le pegas este otro.
00:10:20
¿Vale? Entonces un string
00:10:23
como hola más mundo da hola mundo.
00:10:24
Entendido como literales.
00:10:26
Si yo tengo un entero
00:10:28
y le sumo un string,
00:10:30
un string más entero, el resultado es siempre string.
00:10:32
Siempre que esté coinvolta,
00:10:34
o sea, incluida un string,
00:10:36
el operador más se transforma
00:10:38
en concatenación.
00:10:40
¡Cuidado! Porque a veces pueden ser cosas raras, sobre todo con precedencia de operadores.
00:10:41
Ahora creo que hay algún ejemplo, si no lo hacemos ahora mismo.
00:10:52
Más entre números en la suma, cuando usamos un string o también un char,
00:10:56
puedo sumar un char, lo que hago es, si trastornan un calcadera, el resultado es un string.
00:11:00
ejemplos
00:11:06
3,4 da 7 como int
00:11:11
3 más 4,0
00:11:13
da 7 pero como double
00:11:15
3 más
00:11:17
4f da 7 pero como
00:11:19
float, lo veis
00:11:21
tened en cuenta que
00:11:22
si hago un número
00:11:25
entero sin poner
00:11:27
nada, él asume que
00:11:29
sea int
00:11:31
y si hago un número con coma
00:11:32
4,0 sin ponerle
00:11:35
nada, él asume que es un double. ¿Sí? No un float, un double.
00:11:37
hay errores, hay errores aquí. ¿En este aquí hay errores? Esta línea. No.
00:11:47
Tres enteros más seis enteros, nueve enteros, lo pongo en un índice. Bien. Double w es
00:12:09
es igual a 8 más 4D.
00:12:15
0 más double,
00:12:19
el resultado es un double.
00:12:21
Sería 12, pero como double.
00:12:23
Y lo guardo en un double.
00:12:26
Float esto es igual a 10
00:12:29
más 1.0.
00:12:31
¿Error o no? Sí.
00:12:36
Porque 1.0
00:12:39
sin decirle nada, lo considera un
00:12:40
double.
00:12:42
Entonces 1.0 es double.
00:12:44
Int más double, el resultado será
00:12:46
11.0 como
00:12:47
double. ¿Cuánto ocupa el double?
00:12:49
¿Cuántos bytes eran en un grado?
00:12:52
8 bytes.
00:12:55
Y lo estoy metiendo en una caja que contiene máximo 4.
00:12:57
Entonces tenemos un problema.
00:13:03
Pierdo precisión.
00:13:06
Tengo un número que se escribe así y lo quiero poner en una caja grande así.
00:13:08
No cabe.
00:13:13
¿Entiendes?
00:13:15
¿Tú das?
00:13:17
Vamos a ver aquí.
00:13:19
int i es igual a 1
00:13:21
double di es igual a 1.1
00:13:26
int i es igual a i más di
00:13:28
entonces se debería enfadar, vamos a ver si se enfada o no
00:13:42
vale, pero estoy haciendo un entero
00:13:45
más un double, el resultado es un double, lo estás metiendo
00:13:48
en un entero
00:13:51
vale, mismo problema de antes
00:13:53
aparte que tiene un formato distinto
00:13:56
dentro, de todas formas un double sería 8 bytes
00:13:59
y un int son 4, entonces no puede
00:14:02
Otra cosa es que tú lo fuerces, y veremos, lo que se llama un cast explícito.
00:14:04
Que tú le digas, bueno, tú tienes un double, tira la parte decimal, píllame solo la parte entera, y esa parte entera, guárdala en un entero.
00:14:09
Eso se puede hacer. Pero lo tengo que decir yo, especial.
00:14:19
¿Y double de 2 es igual a i más d? ¿Está bien o no?
00:14:22
si
00:14:30
esto bien porque entero
00:14:31
más double me da un double
00:14:34
lo guardo dentro de un double
00:14:36
¿cuánto vale 2? ¿cuánto vale de 2?
00:14:37
vale
00:14:40
si
00:14:40
lo debería probar
00:14:43
si esto funcionara sería solo la parte
00:14:45
entera, esto te daría 2
00:14:48
¿vale? y si esto funciona te da 2,1
00:14:49
¿vale? pero yo creo que aquí
00:14:52
te debería dar al menos un error
00:14:54
vale
00:14:55
¿cómo con cargar?
00:14:57
O sea, más como operador de concadenar, ¿vale?
00:14:59
Hola más mundo da hola mundo.
00:15:04
¿Veis que aquí lo he subido?
00:15:06
Edad más 19 da edad igual a 19.
00:15:08
¿Veis?
00:15:12
Este es un literal.
00:15:13
Edad igual es un literal.
00:15:14
Le sumo 19, que es un int.
00:15:16
Pues él como que me transforma el int en un string y me lo pega detrás.
00:15:19
Y me sale edad igual 19.
00:15:23
¿Se entiende?
00:15:26
Hola más
00:15:27
un char que es un espacio
00:15:30
más mundo, pues me da
00:15:32
hola mundo como literal
00:15:34
de string.
00:15:36
¿Sí?
00:15:38
Ejercicio.
00:15:39
String nombre Antonio, string apellido
00:15:41
Sanz, string nombre
00:15:44
completo es igual nombre más apellido.
00:15:46
System.auto
00:15:50
con el punto interleende, nombre completo
00:15:51
que escribe en pantalla.
00:15:53
Que escribe.
00:16:05
Antonio Sanz, ¿cómo?
00:16:09
Sin espacio, todo junto.
00:16:12
Si lo sabéis, ¿por qué no levantar las manos?
00:16:15
¿Tenéis miedo?
00:16:17
Antonio Sanz, se juntan, no hay ningún espacio en el medio,
00:16:20
por lo tanto, nombre comprensible, Antonio Sanz, todo junto.
00:16:24
¿Vale? Como aquí.
00:16:26
En nombre Lidia, en tijos dos,
00:16:29
existen punto, punto, punto, printel en el nombre,
00:16:31
más comillas, espacio, tiene espacio,
00:16:34
comillas, más hijos, más espacio,
00:16:36
hijos, más punto espacio
00:16:39
que sale
00:16:41
Lidia tiene dos hijos
00:16:42
esto se transforma en Lidia
00:16:53
le pego detrás esto
00:16:56
le pego detrás el 2, le pego detrás hijos
00:16:57
esto
00:17:00
es lo que tendréis que aprender a hacer
00:17:01
para al final
00:17:04
de vuestro programa dar la solución
00:17:06
tú has pillado la base del
00:17:08
triángulo, has pillado la altura del triángulo
00:17:10
has calculado el área del triángulo y ahora dices
00:17:12
el triángulo de base
00:17:14
pillo la base
00:17:16
Y altura, pillo la altura. Tiene área, pillo el área. ¿Sí? Así se va. ¿Dudas? Vale, fácil este
00:17:17
vídeo. Vale, ejemplo, entonces, crea un programa que tenga tres variables, calle, num y código
00:17:30
postal, ¿vale? Y que te escriba en pantalla la dirección resultante. O sea, tu dirección es,
00:17:38
calle no sé qué no sé cuánto número 7 con el postal 28 08 probadlo
00:17:43
Vale, entonces, tengo un proyecto, lo puedo hacer aquí mismo, creándome una nueva, en
00:18:19
ejercicios, una nueva clase, vale, o puedo crearme un nuevo proyecto si prefiero, o lo
00:18:28
que queráis.
00:18:34
Yo aquí, botón derecho, nuevo, clase, lo llamo Ejer1, o Ejer, ¿qué es esto de variables?
00:18:35
Ejer variables 1.
00:18:46
Tengo esta cosa aquí, que me la escribe él, y para la primera cincuenta veces yo escribo public static void main string address.
00:18:49
Y hará un momento en que esto ya no lo escribiré más.
00:19:08
Entonces el ejercicio me dice, crea tres variables con calle, número y código postal.
00:19:11
Entonces, calle. ¿Qué es calle?
00:19:19
String. Calle es igual a
00:19:24
calle mayor.
00:19:29
Sabes que si no pongo el punto de coma me lo aplauden. Si lo pusiera sin
00:19:34
comillas también me marca que hay algo raro.
00:19:39
entonces aquí o a lo mejor lo mayor número y número es igual a 12
00:19:44
y finalmente código postal que es código postal
00:20:03
puede ser un entero podría ser también un string porque al fin y al cabo repito no
00:20:08
sumo los enteros, tampoco sumo los números típicos de los puertos, pero bueno, int código
00:20:12
postal es igual a 28001. Sí, entonces ahora tengo mis tres variables creadas, un string
00:20:20
y dos int. Ahora tengo que escribir, ¿cómo se escribe en pantalla? System.out.println,
00:20:27
y aquí dentro escribo tu dirección es dos puntos. Le pongo calle y le pego detrás la calle. Luego le
00:20:35
le pego detrás coma, número, más, y le pego detrás pp, y le pego detrás pp.
00:20:56
Por el mismo costal, ¿vale?
00:21:15
Entonces, ¿veis que hago esta cosa de concadenar la cuadra?
00:21:24
El ejercicio este aquí es para ver esto, ¿vale?
00:21:27
Este es un literal, al que le pego detrás el contenido de esta variable,
00:21:30
al que le pego detrás este literal de aquí, al que le pido...
00:21:34
¿Sí?
00:21:38
Entonces, si lo lanzo, me sale la consola.
00:21:40
¿Qué dice?
00:21:48
Tu dirección es calle, contenido de la palabra mayor,
00:21:49
número 12, código postal, 28, 30 segundos.
00:21:53
Para que os lo veáis bien, como lo dice.
00:22:06
Perfecto.
00:22:10
Hecho.
00:22:21
Hecho.
00:22:24
Como siempre, divide tímpeda. Si de golpe todo no sale, empezad escribiendo la calle, luego el número, luego el código postal.
00:22:28
Una posible solución.
00:22:50
System.out.println. Tu dirección. Dos puntos.
00:22:54
Y acabo la frase.
00:23:01
system.out.println calle, dos punto más calle, punto com.
00:23:02
Num, número, es igual a num, esto es código, es igual a cp. En vez de hacerlo todo en una sola frase, pues lo estoy haciendo en cada línea.
00:23:16
Esta es la primera solución, esta es la segunda.
00:23:51
Esto te está escribiendo en cada línea una cosa distinta, esto te lo está escribiendo todo en la misma línea.
00:23:56
¿Vale? Esta es la primera solución, esta es la segunda solución.
00:24:03
¿Sí?
00:24:08
Como bonus.
00:24:16
Tercera solución.
00:24:21
Macra N, Macra N, Macra N.
00:24:26
Bueno, he escrito en un solo comando, pero yéndose a una nueva línea.
00:24:40
Falta código.
00:24:51
Está esta cosa rara aquí, que si tú la escribes en un string, esta cosa aquí quiere decir vete a una nueva línea.
00:24:57
Cada vez que tú encontrarás un barra n así, quiere decir vete a una nueva línea.
00:25:09
¿En qué os puede ayudar?
00:25:14
Sí, por cierto.
00:25:21
No entiendo.
00:25:23
¿Qué es el error?
00:25:25
¿Qué es el error?
00:25:27
La norma es de concatenación.
00:25:27
Con cadena esto, le pegas detrás esto, que le pegas detrás esto, que le pegas detrás esto, que le pegas detrás esto.
00:25:47
Y así, así, así.
00:25:56
Aquí no lo hago porque solo pego esto con detrás de esto y acabo la línea.
00:25:56
Por eso es que en el CP no tiene un más después porque no hace más nada más.
00:26:01
CP es la última cosa que pego, no le pego nada detrás, por lo tanto no le pongo un más detrás.
00:26:05
¿Sí?
00:26:10
¿Dudas?
00:26:12
¿Lo habéis podido hacer?
00:26:15
A ver, he pensado en un error.
00:26:21
Sigo.
00:26:28
A esto.
00:26:29
Pero van de todas las cosas.
00:26:30
Ahora no, porque quiero acabar la sesión, pero está en la aula virtual, hay un par de días para bajarse antes de comenzar y luego ir a la sesión.
00:26:34
Gracias.
00:26:50
porque lo que
00:27:20
lo que
00:27:29
lo que
00:27:31
lo que
00:27:31
lo que
00:27:31
lo que
00:27:31
lo que
00:27:31
lo que
00:27:31
lo que
00:27:31
lo que
00:27:31
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:32
lo que
00:27:33
lo que
00:27:33
lo que
00:27:33
lo que
00:27:33
lo que
00:27:33
lo que
00:27:34
lo que
00:27:34
lo que
00:27:34
lo que
00:27:34
lo que
00:27:34
lo que
00:27:34
lo que
00:27:34
lo que
00:27:34
lo que
00:27:34
Aquí hay una primera solución, luego está la segunda que es esta, que da todo en la misma línea,
00:27:34
Y luego está la tercera, que por cada barra n, si te fijas, cuando llega a la barra n, se va a otra línea.
00:28:02
Es un carácter de escape para indicar, dentro de un string, cuando llegas aquí, vete a una nueva línea.
00:28:08
Lo volveremos a ver, ¿eh?
00:28:15
Vale.
00:28:18
¡Sigo!
00:28:22
Aquí tenéis la solución.
00:28:25
Nos faltan 10 minutos, quiero ver si conseguimos llegar al final porque así faltan pocas cosas y luego están los ejercicios.
00:28:34
Así mañana hacemos los ejercicios.
00:28:41
Entonces, operadores aritméticos, ¿qué operaciones numéricas se pueden hacer?
00:28:44
Está el más que la suma, por favor.
00:28:50
Más es la suma, menos es la resta.
00:28:55
Multiplicación, división.
00:28:59
Cuidado con la división, ¿vale?
00:29:01
Porque la división es la única de estas que me puede transformar enteros en návol.
00:29:03
¿Vale?
00:29:12
5 dividido 2.
00:29:12
Cuidado.
00:29:15
Módulo es un operador que normalmente no conocéis,
00:29:17
Que es el resto de la división
00:29:23
Lo vimos cuando hicimos los algoritmos
00:29:26
Dijimos, ¿existe este operador que me da el resto de la división?
00:29:29
Pues este, ¿vale?
00:29:33
Entonces si yo hago 10 módulo 3
00:29:34
Es como si hiciera grupos de 3
00:29:36
1, 2, 3, 1, 2, 3, 1, 2, 3
00:29:39
Se llegaba a 9
00:29:41
Cuando empiezo el siguiente grupo, 1
00:29:42
Y me paro porque llegaba a 10
00:29:44
Pues este 1 es el resultado
00:29:46
¿Ok?
00:29:48
Como si hubiese dividido
00:29:50
10 dividido 3
00:29:51
da 3 y sobra 1 justo pues ese sobrante la del resto de la de la división es el
00:29:53
resultado de esto de este y estos son los operadores aritméticos que vamos a
00:30:02
utilizar por ahora los ejercicios que vamos a hacer
00:30:07
dudas
00:30:10
estos ejercicios los dejamos a mañana o ahora cuando acabo esta parte
00:30:14
Dos conceptos más y se acabó. Primero es la salida básica. La salida básica la conocéis, ¿vale? El output, standard output, es el system.auto.println con una string aquí dentro.
00:30:20
Esta es la salida básica porque permite desde mi programa hacer salir datos, escribirlos en pantalla.
00:30:34
¿Sí? Entonces, si este puto átomo
00:30:41
tiene la n hola, escribe hola
00:30:43
puedo escribir una variable
00:30:45
puedo escribir una variable sumada a otra
00:30:48
puedo escribir una variable con
00:30:50
que una sea un entero, con un
00:30:51
literal entero, puedo hacer
00:30:53
todas las cosas que hemos hecho ahora y que hemos hecho en este ejercicio
00:30:55
¿Sí?
00:30:58
Lo que en vez nos
00:31:00
interesaría y que nos abre un mundo
00:31:01
es la entrada básica
00:31:04
¿Sí?
00:31:06
Es decir, ¿cómo puedo yo
00:31:07
escribir datos, pero
00:31:09
no en el código, sino
00:31:11
lanzar un programa
00:31:14
y que una vez lanzado el programa, el programa
00:31:15
me pida, oye mira
00:31:17
me das el lado del triángulo
00:31:19
y tú pones tres, y él te
00:31:22
calcula el perímetro del triángulo a partir
00:31:23
del dato que tú has
00:31:26
metido en tiempo de ejecución
00:31:28
no en tiempo de programación
00:31:30
¿se entiende?
00:31:32
entonces para hacer
00:31:35
esto
00:31:36
tengo que escribir
00:31:36
cosas raras en mi programa
00:31:39
¿vale? primero
00:31:42
arriba del todo
00:31:43
tengo que escribir import java
00:31:45
punto útil punto asterisco
00:31:48
tengo que escribir así
00:31:49
¿vale? y luego
00:31:52
dentro del main
00:31:54
esto es arriba del todo
00:31:55
quizás después de package
00:31:57
pone package no sé qué
00:31:59
después de package import
00:32:01
mejor que sea antes o después
00:32:03
en el main, la primera línea
00:32:04
del main, escribo esta cosa
00:32:08
aquí. ¿Qué es? No lo sé.
00:32:10
Sirve para activar la
00:32:11
posibilidad de leer desde clave.
00:32:13
Lo escribo así. Si no os acordáis,
00:32:16
lo vais a mirar. ¿Vale?
00:32:18
Falta aprenderlo de memoria. Después que lo habéis
00:32:20
escrito diez veces, os lo
00:32:21
acordáis. ¿Vale? Pero
00:32:23
si no os acordáis,
00:32:25
os lo digo yo.
00:32:28
Ahora, una vez que yo he activado esto,
00:32:29
si quiero leer
00:32:32
un nombre, una cadena,
00:32:33
¿vale? Una palabra.
00:32:36
puedo usar scan.next
00:32:38
scan.next
00:32:42
esta cosa de aquí
00:32:43
para el programa
00:32:44
espera que tú pongas
00:32:46
una palabra con el teclado
00:32:49
y des al intro
00:32:51
a este punto sigue
00:32:52
y esta palabra que tú has tecleado
00:32:54
se guarda en una variable
00:32:56
esto es un comando para decir
00:32:59
párate hasta que
00:33:06
el usuario no haya escrito
00:33:08
Algo he dado tinto.
00:33:10
¿Sí?
00:33:12
Esto es para leer palabras.
00:33:12
Si me quiero leer un entero,
00:33:14
puedo usar next int, ¿vale?
00:33:17
scan.nextint
00:33:20
y guardarlo en una variable de tipo entero.
00:33:21
Esto es un int, ¿vale?
00:33:24
Esto lo lee y lo que te devuelve es un int,
00:33:27
no un string.
00:33:30
Esto debe ser un string.
00:33:31
¿Entiende?
00:33:33
Esto crea un string y lo guarda en cadena.
00:33:34
Esto crea un int y lo guarda en número.
00:33:36
Y si quiero un número decimal
00:33:38
Tengo next down
00:33:41
¿Vale?
00:33:42
Cuidado en utilizar espacios en los datos tecleados
00:33:45
Por ahora los espacios no se usan
00:33:47
¿Vale? Si quiero leer una palabra, una palabra sola
00:33:49
No hay palabra, espacio, palabra
00:33:51
Pido el nombre, pediré nombre, apellido 1, apellido 2
00:33:52
No, dame el nombre completo con espacio
00:33:55
Si no funciona mal, por ahora
00:33:57
¿Sí?
00:33:59
Y creo que aquí hay un ejemplo
00:34:01
Vamos a hacer un ejemplo juntos
00:34:03
Y se acabó, mañana ejercicio
00:34:05
¿Vale?
00:34:07
Por ejemplo, tenemos esto, que lo que hacía aquí era poner una dirección y me decía la dirección, ¿vale?
00:34:08
Dejamos, aumento todo esto, así que solo me da una solución, la última que había preparado, ¿vale?
00:34:20
Esta cosa aquí.
00:34:31
Ahora, si yo tengo que tratar a otra persona, ¿vale?
00:34:33
Que no es suya esta dirección.
00:34:37
en este momento para cambiar la dirección
00:34:39
yo tengo que cambiar el código
00:34:42
del programa
00:34:44
eso no es bueno
00:34:45
porque quiere decir que cada vez que viene una nueva persona
00:34:47
necesito un informático que me cambie
00:34:50
el programa
00:34:52
eso no es viable
00:34:53
entonces intentamos hacer un programa
00:34:54
que solicite al usuario
00:34:57
su calle
00:35:00
su número y su código postal
00:35:01
y al final le escriba
00:35:04
tu dirección es
00:35:05
y un resumen de lo que ha puesto
00:35:07
entonces para hacer esto tengo que activar la lectura de teclado
00:35:08
¿cómo lo hago?
00:35:13
pues primero tengo que importar
00:35:14
java.util.asterisco
00:35:16
entonces hace aquí
00:35:22
tengo que escribir esto
00:35:23
esto te lo estoy diciendo
00:35:26
y mira, quiero usar esta librería de aquí
00:35:28
que es una librería que no he escrito yo
00:35:32
ha escrito otra persona
00:35:34
y aquí dentro hay cosas que me interesan
00:35:35
la quiero usar. Vale, perfecto. No lo entiendo, pero está ahí. Y luego aquí hago ScannerScan es igual a NewScanner
00:35:38
de System.in. Hemos visto nosotros algo parecido a System.in. Algo que me llama System.in. System.out
00:35:48
es para la salida
00:36:10
system.in
00:36:11
es para la entrada
00:36:14
la salida es la pantalla
00:36:16
la entrada es el teclado
00:36:18
¿si?
00:36:19
esto me está creando un algo
00:36:21
es un objeto, pero no lo sabemos
00:36:24
que está
00:36:26
asociado con la entrada de mi programa
00:36:27
¿vale?
00:36:30
entonces ahora
00:36:32
cuando hago string calle
00:36:33
pues en vez de ponerle mayor
00:36:35
le digo, me lees una palabra
00:36:37
scan.next
00:36:39
Esto parará el programa
00:36:40
¿Vale?
00:36:45
A la espera que el usuario escriba algo
00:36:47
Vamos a ver si funciona
00:36:49
Lanzo
00:36:52
No pasa nada
00:36:54
El programa ha llegado aquí
00:36:56
Y se ha parado
00:37:00
¿Cómo veo que este programa sigue funcionando?
00:37:02
Este cuadradito rojo
00:37:05
Este cuadradito rojo
00:37:07
Me está diciendo que el programa sigue activo
00:37:09
Lo veis aquí, porque está esperando que yo le ponga algo.
00:37:13
Por ejemplo, le pongo algo y le doy intro.
00:37:19
Y ahora veis que me dice, tu dirección es calle algo, número 12, código este de aquí.
00:37:23
Ahora, cada vez que usáis una de estas, antes deberíais poner un out.
00:37:32
hay
00:37:42
system.auto.println
00:37:45
que diga al usuario
00:37:49
que tiene que hacer
00:37:51
dame el nombre
00:37:52
de tu calle
00:37:55
entonces cuando lo lanzo
00:37:56
y me dice dame el nombre de tu calle
00:38:05
y se para
00:38:07
a la espera que yo ponga
00:38:08
calle cocodrilo
00:38:11
y ahora me viene
00:38:12
tu dirección es calle cocodrilo
00:38:16
número 12
00:38:18
si quisiera
00:38:19
completar, dame
00:38:21
un segundo
00:38:23
aquí esto sería unos
00:38:24
scan.nexint
00:38:27
y esto sería
00:38:29
otros scan.nexint
00:38:33
diciendo antes
00:38:34
que quiero hacer
00:38:36
dame el nombre de tu calle
00:38:38
dame el número
00:38:42
dame el
00:38:44
código pista
00:38:46
entonces como funcionaría
00:38:48
dame el
00:38:50
nombre de tu calle, escribo calle hemos dicho Cocodrilo, ahora dice dame el número, 18,
00:38:53
dame el código postal, 28022 y ahora me escribe tu dirección es calle Cocodrilo, número
00:39:02
18, código al que le he pasado. Solo para que quede grabado.
00:39:11
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Autor/es:
- Stefano Chiesa
- Subido por:
- Stefano C.
- Licencia:
- Reconocimiento - No comercial
- Visualizaciones:
- 9
- Fecha:
- 22 de septiembre de 2025 - 12:38
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 39′ 21″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 330.13 MBytes