1 00:00:00,560 --> 00:00:06,620 Voy a iniciar a grabar, por lo tanto, si habláis, me autorizáis a grabar vuestra voz, ¿vale? 2 00:00:07,160 --> 00:00:12,679 Aquí estamos empezando con la primera clase de Java. 3 00:00:17,879 --> 00:00:23,000 Entonces, ¿alguna cosilla ya la sabemos? ¿La hemos visto? ¿Vale? 4 00:00:23,100 --> 00:00:27,460 ¿Cuál es la estructura básica de un programa sencillo en Java? ¿Vale? 5 00:00:27,460 --> 00:00:34,420 entonces nosotros tenemos un fichero tenemos que tener un fichero este fichero es mi clase punto 6 00:00:34,420 --> 00:00:43,659 java si este fichero mi clase punto java dentro tiene un código en particular la estructura es 7 00:00:43,659 --> 00:00:50,079 que tendrá una definición que es public class mi clase porque estoy dentro de mi clase punto 8 00:00:50,079 --> 00:00:56,380 java entonces se tiene que llamar igual la clase con el nombre de fichero antes del punto java 9 00:00:56,380 --> 00:01:02,140 Luego vendrán una serie de cosas que nosotros llamaremos atributos 10 00:01:02,140 --> 00:01:04,980 Que por ahora no usamos, ¿vale? 11 00:01:05,180 --> 00:01:07,280 Pero en un futuro vendrán 12 00:01:07,280 --> 00:01:11,939 Y luego después vienen una serie de métodos, ¿vale? 13 00:01:12,379 --> 00:01:14,120 Nosotros hemos hecho un método 14 00:01:14,120 --> 00:01:15,040 ¿Qué método es? 15 00:01:16,099 --> 00:01:17,060 El main, ¿vale? 16 00:01:17,420 --> 00:01:20,019 El método main es un método, ¿vale? 17 00:01:20,019 --> 00:01:26,219 Y es como se llaman en Java las funciones o las proceduras, ¿vale? 18 00:01:26,379 --> 00:01:33,400 En Java, si llamamos a un conjunto de instrucciones con un nombre, un método. 19 00:01:33,879 --> 00:01:37,000 Tenemos el método main, main es el nombre del método, 20 00:01:37,340 --> 00:01:40,519 y dentro tendrás las instrucciones que hace el método principal. 21 00:01:45,620 --> 00:01:51,120 Si lo vemos en código, aquí tenemos public class, mi clase, 22 00:01:51,760 --> 00:01:54,519 se abre una llave que se cerrará al final. 23 00:01:54,519 --> 00:02:00,420 Todo lo que hago en este programa es parte de la public class, mi clase. 24 00:02:00,760 --> 00:02:01,680 Estoy dando un nombre. 25 00:02:01,819 --> 00:02:06,719 Estoy declarando que existe una cosa que es una clase que no entiendo bien qué es. 26 00:02:07,019 --> 00:02:10,000 Pero es una clase que es pública, esta clase. 27 00:02:10,120 --> 00:02:11,219 ¿Qué quiere decir que es una clase pública? 28 00:02:11,639 --> 00:02:14,979 Hasta dentro de unos meses no me interesa. 29 00:02:15,539 --> 00:02:16,620 ¿Qué se llama mi clase? 30 00:02:16,699 --> 00:02:17,580 Le estoy dando un nombre. 31 00:02:18,919 --> 00:02:21,840 Dentro podría tener varios atributos. 32 00:02:21,840 --> 00:02:25,860 como esto aquí, string atributo 1, int atributo n. 33 00:02:26,020 --> 00:02:29,259 ¿Qué son estas cosas? No lo sabemos todavía porque no hemos visto las variables. 34 00:02:29,439 --> 00:02:33,219 Hemos visto la última vez una variable rápidamente. Pero por ahora 35 00:02:33,219 --> 00:02:37,199 simplemente sepáis que puede haber cosas así. 36 00:02:37,840 --> 00:02:42,060 Y hasta que no veremos los objetos, esto tendrá poco sentido. 37 00:02:42,580 --> 00:02:45,919 Entonces, en nuestros primeros ejemplos, esta parte de aquí 38 00:02:45,919 --> 00:02:48,699 no estará. Puede estar, si está, está allí. 39 00:02:48,699 --> 00:02:52,520 pero puede no estar 40 00:02:52,520 --> 00:02:54,060 si yo no tengo atributos 41 00:02:54,060 --> 00:02:55,460 esta parte está vacía 42 00:02:55,460 --> 00:02:57,800 y luego empiezan los métodos 43 00:02:57,800 --> 00:03:00,199 que podrá haber el método 1, el método 2 44 00:03:00,199 --> 00:03:02,099 el método calcular, el método 45 00:03:02,099 --> 00:03:04,360 encuentra alumno, el método 46 00:03:04,360 --> 00:03:05,840 añade alumno, el método 47 00:03:05,840 --> 00:03:07,379 borra profesor 48 00:03:07,379 --> 00:03:10,379 y entre todos estos 49 00:03:10,379 --> 00:03:12,280 métodos que por ahora no 50 00:03:12,280 --> 00:03:14,080 usaremos porque todavía es pronto 51 00:03:14,080 --> 00:03:15,599 que en un futuro si usaremos 52 00:03:15,599 --> 00:03:17,840 está un método especial 53 00:03:17,840 --> 00:03:29,719 que es el método main, que es siempre declarado como public static void main string, corchetes, args, siempre, ¿vale? 54 00:03:29,960 --> 00:03:37,759 Y esto es una cosa especial que da el punto de acceso a mi programa, ¿vale? 55 00:03:39,039 --> 00:03:44,180 Aquí, paso por paso, en las transparencias se explica lo que acabo de decir, ¿vale? 56 00:03:44,180 --> 00:03:47,819 Que mi clase va de esta paréntesis a esta paréntesis, eso es lo marca. 57 00:03:48,240 --> 00:03:53,919 Luego está la parte de los atributos que definen las características, digamos, de la clase. 58 00:03:54,419 --> 00:03:59,120 Por ejemplo, una persona podría tener nombre y edad, un libro podría tener título, 59 00:03:59,780 --> 00:04:04,599 un coche podría tener velocidad máxima, no lo sé. 60 00:04:05,000 --> 00:04:09,400 Por ahora no nos interesa porque, repito, estas cosas saldrán cuando veremos los objetos. 61 00:04:09,400 --> 00:04:17,180 Por ahora, como los objetos no los usaremos, pues por ahora simplemente que sepáis que existen. 62 00:04:17,259 --> 00:04:23,839 Luego están las funcionalidades que puede hacer mi clase, estos métodos. 63 00:04:24,360 --> 00:04:30,639 Por ejemplo, si esto definiera una persona y uno de sus atributos fuera la edad, 64 00:04:30,639 --> 00:04:39,019 yo podría tener un método que se llama cumpleaños, que cuando lo llamo, aumenta de uno la edad que tiene esa persona. 65 00:04:39,399 --> 00:04:42,160 Por ejemplo, ¿vale? Es un comportamiento. 66 00:04:42,600 --> 00:04:50,259 Yo, si estuviera modelizando un alumno y tengo una característica suya, 67 00:04:50,339 --> 00:04:54,000 que es el curso en el que está inscrito, y vosotros estáis inscritos en primero, 68 00:04:54,000 --> 00:05:00,720 al final de este curso, si aprobáis, puedo lanzar el método pasar de curso, 69 00:05:01,160 --> 00:05:04,660 que os cambiará curso primero en curso segundo. 70 00:05:05,259 --> 00:05:07,220 Por ejemplo, ¿sí? 71 00:05:07,220 --> 00:05:10,680 uno de estos métodos 72 00:05:10,680 --> 00:05:12,040 repito que es el método 73 00:05:12,040 --> 00:05:14,500 muy importante, que es el método 74 00:05:14,500 --> 00:05:16,420 main, el método main es un método especial 75 00:05:16,420 --> 00:05:18,500 es el punto de acceso a mi programa 76 00:05:18,500 --> 00:05:20,459 de ahí se empieza todo, cuando he 77 00:05:20,459 --> 00:05:22,379 ejecutado el programa, este es el método 78 00:05:22,379 --> 00:05:24,500 que se empieza, la primera línea del 79 00:05:24,500 --> 00:05:26,220 método main es la primera línea 80 00:05:26,220 --> 00:05:27,920 que se ejecutará 81 00:05:27,920 --> 00:05:29,839 en el procesador 82 00:05:29,839 --> 00:05:32,279 esto será traducido a bytecode 83 00:05:32,279 --> 00:05:34,040 dentro del bytecode estará la traducción 84 00:05:34,040 --> 00:05:35,899 del método main 85 00:05:35,899 --> 00:05:37,920 y la primera línea de ese bytecode 86 00:05:37,920 --> 00:05:39,680 del método main será la primera línea 87 00:05:39,680 --> 00:05:41,779 que se ejecuta, que se interpretará 88 00:05:41,779 --> 00:05:43,060 por la Java Vector Machine. 89 00:05:44,019 --> 00:05:44,339 ¿Dudas? 90 00:05:45,779 --> 00:05:46,000 ¿Vale? 91 00:05:47,240 --> 00:05:49,579 Una vez más, las instrucciones propias de este método 92 00:05:49,579 --> 00:05:51,060 están entre estos paréntesis. 93 00:05:51,199 --> 00:05:53,360 Si os acordáis en el ejemplo que hemos hecho nosotros 94 00:05:53,360 --> 00:05:55,560 del Hello World, el método main empieza 95 00:05:55,560 --> 00:05:57,319 con una llave, acaba con otra llave 96 00:05:57,319 --> 00:05:59,420 y allí dentro era donde estaban los 97 00:05:59,420 --> 00:06:00,339 comandos. 98 00:06:02,019 --> 00:06:03,639 Este es el programa que hemos hecho 99 00:06:03,639 --> 00:06:05,480 nosotros, la clase es 100 00:06:05,480 --> 00:06:09,819 HolaMundo, ¿vale? Tiene el método main, no tiene atributos, 101 00:06:10,439 --> 00:06:13,300 un solo método, que es el método principal, que es la ejecución. 102 00:06:13,600 --> 00:06:17,740 Cuidado que si no está el método main, cuando lo ejecuto, me va a dar un error. 103 00:06:18,600 --> 00:06:24,660 No cuando lo compilo, cuando lo ejecuto, y me dice, no hay un método main. 104 00:06:25,500 --> 00:06:25,620 ¿Vale? 105 00:06:27,199 --> 00:06:31,939 Y lo que hace es escribir HolaMundo en el sistema, ¿vale? 106 00:06:31,939 --> 00:06:35,540 si os fijáis, esto es System.out.println 107 00:06:35,540 --> 00:06:37,000 y me está diciendo, oye sistema 108 00:06:37,000 --> 00:06:39,199 hablo con el sistema, hablo con 109 00:06:39,199 --> 00:06:40,860 una representación del sistema 110 00:06:40,860 --> 00:06:43,480 dame la parte 111 00:06:43,480 --> 00:06:45,240 tuya, la parte del sistema 112 00:06:45,240 --> 00:06:47,439 que se encarga de la salida, el out 113 00:06:47,439 --> 00:06:48,779 System.out 114 00:06:48,779 --> 00:06:51,079 es algo que se encarga 115 00:06:51,079 --> 00:06:53,000 de lo que sale del sistema 116 00:06:53,000 --> 00:06:55,240 y la pantalla es salida 117 00:06:55,240 --> 00:06:57,279 el ratón y el teclado es entrada 118 00:06:57,279 --> 00:06:59,360 con el ratón y el teclado doy input 119 00:06:59,360 --> 00:07:01,420 al ordenador, la pantalla 120 00:07:01,420 --> 00:07:03,519 ya sale la información desde lo que hablo. 121 00:07:04,100 --> 00:07:04,199 ¿Sí? 122 00:07:05,040 --> 00:07:05,279 ¿Sí? 123 00:07:05,279 --> 00:07:06,100 ¿Sí? 124 00:07:08,100 --> 00:07:08,839 ¿Se entiende? 125 00:07:09,699 --> 00:07:10,259 ¿Dudas? 126 00:07:11,079 --> 00:07:11,639 Fácil. 127 00:07:14,339 --> 00:07:14,939 Separadores. 128 00:07:15,459 --> 00:07:17,680 Cada instrucción no es verdad. 129 00:07:17,899 --> 00:07:18,560 Algunas no. 130 00:07:18,660 --> 00:07:21,180 Pero, en general, cada instrucción 131 00:07:21,180 --> 00:07:22,839 acaba con un punto y coma. 132 00:07:23,399 --> 00:07:25,199 Normalmente, en los primeros programas 133 00:07:25,199 --> 00:07:27,360 es lo que más se olvida poner. 134 00:07:27,860 --> 00:07:29,579 Si no lo ponéis, os da un error. 135 00:07:29,959 --> 00:07:30,879 ¿Qué error os da? 136 00:07:30,879 --> 00:07:38,740 os da un error a tiempo de compilación o cuando interpreta en compilación son los errores fáciles 137 00:07:38,740 --> 00:07:47,279 porque no te deja ejecutar ejecutar el programa si tú has hecho uno de estos errores él se da cuenta 138 00:07:47,279 --> 00:07:55,839 y te dice no puedo compilar a bytecode porque no lo entiendo como no sigues las gramáticas del 139 00:07:55,839 --> 00:08:02,079 lenguaje Java no estás utilizando correctamente las palabras y los símbolos de mi lenguaje, 140 00:08:02,079 --> 00:08:07,959 no lo puedo interpretar, no puedo entender y como no lo puedo entender no te lo puedo compilar a 141 00:08:07,959 --> 00:08:16,660 bytecode. Entonces la idea será que definimos un bloque de código. Este bloque de código es 142 00:08:16,660 --> 00:08:22,060 limitado con las paréntesis. Cuando yo escribo un método luego viene un bloque de código y ese 143 00:08:22,060 --> 00:08:26,279 bloque de código tiene el nombre de ese método. El método main tiene un bloque de código. Un 144 00:08:26,279 --> 00:08:34,779 Un bloque de código se limita con las llaves y dentro tendré la primera instrucción, punto y coma, la segunda instrucción, punto y coma, tercera instrucción, punto y coma. 145 00:08:36,120 --> 00:08:42,190 Dudas? Ejecutamos el logotipo que lo hemos hecho ayer. 146 00:08:43,009 --> 00:08:57,690 Vamos ahora a hacer lo mismo que hemos hecho con el bloque de notas, pero hagámoslo una vez en Eclipse para ver cómo será el entorno que nosotros vamos a utilizar. 147 00:08:57,690 --> 00:09:06,190 Aquí os da unos pasos, que es paso rápidamente, porque nosotros ahora lo vamos a hacer paso a paso. 148 00:09:06,549 --> 00:09:08,190 Y lo haremos estos dos ejercicios. 149 00:09:08,870 --> 00:09:12,450 Entonces, vamos a abrir Eclipse. 150 00:09:12,629 --> 00:09:21,830 Si vosotros le dais aquí y escribís Eclipse, deberíais encontrar una forma de ejecutarlo. 151 00:09:21,950 --> 00:09:23,049 O si no, estará aquí. 152 00:09:23,049 --> 00:09:23,649 Está aquí. 153 00:09:25,690 --> 00:09:26,450 Ejecutáis. 154 00:09:27,690 --> 00:09:42,409 La primera cosa que os sale es esta de aquí. Os dice, soy Eclipse, ¿qué directory vas a utilizar como workspace? 155 00:09:42,409 --> 00:09:52,309 Por favor, abrid vuestro ojo interior para almacenar e entender la información que os doy ahora, 156 00:09:52,309 --> 00:10:00,610 porque hay personas que en junio siguen sin saber la diferencia entre proyecto y Workspace. 157 00:10:01,009 --> 00:10:04,450 Y a mí esa cosa en el examen me hace fatal. 158 00:10:05,730 --> 00:10:05,889 ¿Sí? 159 00:10:06,350 --> 00:10:10,950 Entonces, el Workspace es vuestro espacio de trabajo. 160 00:10:11,970 --> 00:10:18,190 Es una carpeta donde dentro vais a poner todos vuestros proyectos. 161 00:10:18,570 --> 00:10:19,210 Proyecto. 162 00:10:19,210 --> 00:10:22,110 un workspace 163 00:10:22,110 --> 00:10:25,110 puede tener muchos proyectos 164 00:10:25,110 --> 00:10:28,889 un proyecto 165 00:10:28,889 --> 00:10:30,830 está dentro de un 166 00:10:30,830 --> 00:10:32,570 workspace concreto 167 00:10:32,570 --> 00:10:34,309 ¿cómo es un workspace? 168 00:10:34,549 --> 00:10:36,970 es una carpeta, me creo una carpeta 169 00:10:36,970 --> 00:10:38,389 y la uso como workspace 170 00:10:38,389 --> 00:10:40,669 si tenéis un 171 00:10:40,669 --> 00:10:43,129 pincho, mejor un disco externo 172 00:10:43,129 --> 00:10:44,269 o cosa por el estilo 173 00:10:44,269 --> 00:10:46,230 yo este workspace 174 00:10:46,230 --> 00:10:48,230 lo haría dentro 175 00:10:48,230 --> 00:10:49,889 del disco externo 176 00:10:49,889 --> 00:10:52,629 para que luego cuando llego aquí lo pincho 177 00:10:52,629 --> 00:10:54,450 selecciono en el 178 00:10:54,450 --> 00:10:56,009 eclipse este workspace 179 00:10:56,009 --> 00:10:58,049 trabajo allí y hago todo 180 00:10:58,049 --> 00:11:00,509 al final de la clase 181 00:11:00,509 --> 00:11:02,470 me voy a casa, pincho 182 00:11:02,470 --> 00:11:04,330 eso en casa, le digo 183 00:11:04,330 --> 00:11:06,470 el mismo workspace dentro 184 00:11:06,470 --> 00:11:08,450 del disco duro y allí tengo todos 185 00:11:08,450 --> 00:11:09,389 mis ejercicios 186 00:11:09,389 --> 00:11:12,470 si no lo hacéis así 187 00:11:12,470 --> 00:11:14,330 lo hacéis aquí en local, cuando 188 00:11:14,330 --> 00:11:16,529 llegáis a casa no tenéis los ejercicios 189 00:11:16,529 --> 00:11:16,889 de aquí 190 00:11:16,889 --> 00:11:22,570 eso de cada vez al final de clase mandárselo por correo 191 00:11:22,570 --> 00:11:24,750 es un poco de burro 192 00:11:24,750 --> 00:11:28,730 yo os aconsejaría de gastaros 193 00:11:28,730 --> 00:11:31,990 aquí no pedimos libros de texto 194 00:11:31,990 --> 00:11:32,750 y cosas por el estilo 195 00:11:32,750 --> 00:11:36,049 vais a comprar un pequeño disco duro 196 00:11:36,049 --> 00:11:39,009 que os viene bien para vuestra vida de informante 197 00:11:39,009 --> 00:11:43,129 es una inversión pero no es gasto es inversión 198 00:11:43,129 --> 00:11:45,669 entonces yo lo voy a hacer aquí 199 00:11:45,669 --> 00:11:48,409 o mejor lo voy a hacer 200 00:11:48,409 --> 00:11:51,509 en el disco duro de 201 00:11:51,509 --> 00:11:52,990 que no tengo, ¿vale? 202 00:11:53,129 --> 00:11:55,370 Si tuviera un segundo disco lo haría aquí 203 00:11:55,370 --> 00:11:58,210 pero aquí no lo tengo, por lo tanto lo haré en mi escritorio 204 00:11:58,210 --> 00:11:59,710 y me pongo aquí 205 00:11:59,710 --> 00:12:00,730 por ejemplo 206 00:12:00,730 --> 00:12:03,429 una nueva carpeta que llamaré 207 00:12:03,429 --> 00:12:05,889 Workspatch 208 00:12:05,889 --> 00:12:08,710 526 209 00:12:08,710 --> 00:12:11,269 y mis programas 210 00:12:11,269 --> 00:12:12,710 los haré aquí dentro 211 00:12:12,710 --> 00:12:15,009 ahora le tengo que decir a Eclipse 212 00:12:15,009 --> 00:12:22,669 sé que use esta carpeta. Entonces, ¿qué hago? Le doy a Browse, navego hasta el escritorio. 213 00:12:23,269 --> 00:12:28,590 Aquí veis que en el escritorio tengo programación, que es esto, que es el que usé ayer, y el 214 00:12:28,590 --> 00:12:35,809 Workspace 2526, que es este de aquí. Selecciono esa carpeta y vuelvo aquí con, fijaos aquí, 215 00:12:36,830 --> 00:12:43,850 el path, el camino para llegar a esa carpeta. Si estuviera en otro disco, pues en vez que 216 00:12:43,850 --> 00:12:48,330 D, C, dos puntos, empezaría con D, dos puntos, C, dos puntos, K, dos puntos, lo que sea. 217 00:12:49,629 --> 00:12:54,230 Cuando lo tengo, fijaos que dentro de la carpeta no hay nada. 218 00:12:56,070 --> 00:12:58,309 Le doy Launch. 219 00:12:58,309 --> 00:13:07,929 Y ahora empieza a abrir Eclipse usando esa carpeta como workspace. 220 00:13:07,929 --> 00:13:27,889 Espero, con paciencia, hasta que se abre Eclipse. Si ahora voy a ver el Workspace. Veo que se me 221 00:13:27,889 --> 00:13:56,580 han creado cosas aquí dentro. Veis que me ha creado algunas cosillas que antes no estaba, 222 00:13:56,580 --> 00:14:05,559 esta carpeta metadata, que son informaciones que me da, que usa Eclipse para gestionar lo que está 223 00:14:05,559 --> 00:14:10,759 si vosotros usáis aquí en clase una versión de Eclipse 224 00:14:10,759 --> 00:14:15,159 y en casa una versión distinta, estos datos podrían ser distintos 225 00:14:15,159 --> 00:14:19,000 y cuando lo abrís de un lado a otro te dice, oye mira, he usado una versión 226 00:14:19,000 --> 00:14:22,480 distinta, ¿vale? Entonces normalmente no da problemas 227 00:14:22,480 --> 00:14:27,120 pero podría darlo, por eso os invito a que tengáis la misma versión aquí en casa 228 00:14:27,120 --> 00:14:30,700 ¿vale? Ahora, si 229 00:14:30,700 --> 00:14:34,779 habéis abierto esto y os viene una cosa 230 00:14:34,779 --> 00:14:50,039 Todos estáis aquí más o menos, ¿verdad? Hay cosas aquí. Esto es el entorno de Eclipse. Por un lado está el Package Explorer. Por aquí gestionaré mis proyectos y cosas por el estilo. 231 00:14:50,039 --> 00:14:52,340 aquí en el centro es donde 232 00:14:52,340 --> 00:14:53,879 trabajaré, donde programaré 233 00:14:53,879 --> 00:14:56,299 donde se abren los ficheros .java 234 00:14:56,299 --> 00:14:58,059 es donde pongo mis códigos 235 00:14:58,059 --> 00:15:00,139 y aquí vienen cosas avanzadas 236 00:15:00,139 --> 00:15:02,080 que por ahora no me interesan 237 00:15:02,080 --> 00:15:04,059 y probablemente por este año casi no me 238 00:15:04,059 --> 00:15:05,940 interesan nunca, lo puedo hacer hasta más pequeño 239 00:15:05,940 --> 00:15:07,019 o lo podría sacar 240 00:15:07,019 --> 00:15:08,919 vale 241 00:15:08,919 --> 00:15:16,240 si queréis 242 00:15:16,240 --> 00:15:18,100 lo podéis quitar, si no lo dejáis pequeñito 243 00:15:18,100 --> 00:15:19,919 allí lo dejáis 244 00:15:19,919 --> 00:15:22,299 task list, ahí está, limpio 245 00:15:22,299 --> 00:15:24,259 ¿vale? se pueden volver a abrir 246 00:15:24,259 --> 00:15:26,059 eso si es necesario, la parte de abajo 247 00:15:26,059 --> 00:15:28,240 sí que me servirá, por lo tanto por ahora la dejo 248 00:15:28,240 --> 00:15:30,139 así ¿vale? podría cerrar esto 249 00:15:30,139 --> 00:15:31,980 eclipse y bla bla bla release 250 00:15:31,980 --> 00:15:34,120 lo puedo cerrar ¿vale? así es como se 251 00:15:34,120 --> 00:15:35,600 debería quedar al final 252 00:15:35,600 --> 00:15:37,940 ¿ok? si os habéis perdido 253 00:15:37,940 --> 00:15:40,539 o cosa por el estilo, en Windows Perspective 254 00:15:40,539 --> 00:15:42,039 podéis abrir 255 00:15:42,039 --> 00:15:44,320 la... no me acuerdo 256 00:15:44,320 --> 00:15:46,259 si es la Java Browsing 257 00:15:46,259 --> 00:15:52,379 probablemente y sustantivamente vuelve a la anterior o cosa por esto vale si no aquí en windows 258 00:15:53,899 --> 00:16:00,259 editor appearance show view esto pues aquí podéis abrir todo lo que os da la gana para 259 00:16:00,259 --> 00:16:06,600 volver a esta cosa pero por ahora quedaos con esto el package explorer a la izquierda y aquí nada 260 00:16:06,600 --> 00:16:13,539 si creamos un nuevo proyecto como crea un nuevo proyecto pues aquí está creado el java project vale 261 00:16:13,539 --> 00:16:18,080 Pero no, nosotros lo hacemos más complicado, ¿vale? 262 00:16:18,480 --> 00:16:22,360 File, nuevo, Java Project. 263 00:16:22,919 --> 00:16:26,899 Y fijaos que podéis hacer muchas cosas aquí, ¿vale? 264 00:16:27,279 --> 00:16:30,879 Pero nos interesa ahora la primera opción, Java Project. 265 00:16:31,480 --> 00:16:34,840 File, nuevo, Java Project. 266 00:16:37,340 --> 00:16:37,480 ¿Sí? 267 00:16:38,259 --> 00:16:39,320 Estamos aquí. 268 00:16:39,320 --> 00:16:43,899 y esto es un formulario 269 00:16:43,899 --> 00:16:45,539 que tienes que rellenar 270 00:16:45,539 --> 00:16:48,059 para crear un nuevo proyecto 271 00:16:48,059 --> 00:16:49,259 proyecto, vale 272 00:16:49,259 --> 00:16:50,779 ahora, y aquí 273 00:16:50,779 --> 00:16:53,580 veis que no tengo para pararlo 274 00:16:53,580 --> 00:16:59,419 si lo paro, lo paro de todo 275 00:16:59,419 --> 00:17:02,080 a veces no lo puedo suspender momentáneamente 276 00:17:02,080 --> 00:17:03,840 y no quiero pararlo así, vale 277 00:17:03,840 --> 00:17:05,839 entonces, por ahora sigo 278 00:17:05,839 --> 00:17:07,940 un poquito y luego a lo mejor 279 00:17:07,940 --> 00:17:09,220 hacemos la cosa después 280 00:17:09,220 --> 00:17:10,940 porque si no se graba todo 281 00:17:10,940 --> 00:17:21,559 a cabo el proyecto y luego entonces para proyecto pues le tengo que dar un nombre 282 00:17:21,559 --> 00:17:34,039 que el nombre le doy pues lo borra de project mi primer proyecto proyecto no lo sé vale este 283 00:17:34,039 --> 00:17:38,099 es un proyecto un proyecto sería como un sistema podría tener dentro varias clases 284 00:17:38,099 --> 00:17:52,940 Lo podría llamar ejercicios y luego cuando hacemos los ejercicios crear una clase, un fichero nuevo para ejercicio 1.java, ejercicio 2.java, ejercicio 2.3.java. 285 00:17:52,940 --> 00:18:06,559 Podría muchas cosas, pero este es un proyecto. Workspace es un contenedor de proyectos, el proyecto es el proyecto nuevo que creo. Lo llamo proyecto 1. 286 00:18:06,559 --> 00:18:08,480 nota 287 00:18:08,480 --> 00:18:11,059 si usáis nombres en inglés 288 00:18:11,059 --> 00:18:12,180 es mejor 289 00:18:12,180 --> 00:18:15,059 si usáis nombres en castellano 290 00:18:15,059 --> 00:18:17,299 evitad los carácteres 291 00:18:17,299 --> 00:18:18,259 demoníacos 292 00:18:18,259 --> 00:18:21,900 ñ, acentos raros 293 00:18:21,900 --> 00:18:23,259 diéresis 294 00:18:23,259 --> 00:18:24,740 porque debería funcionar 295 00:18:24,740 --> 00:18:26,160 hasta que no funcionen 296 00:18:26,160 --> 00:18:29,440 entonces si el nombre es 297 00:18:29,440 --> 00:18:30,480 en inglés 298 00:18:30,480 --> 00:18:33,380 no va a dar problemas nunca 299 00:18:33,380 --> 00:18:35,440 si el nombre es en castellano 300 00:18:35,440 --> 00:18:37,680 a veces os da un problema raro 301 00:18:37,680 --> 00:18:39,119 que no sabéis de dónde sale 302 00:18:39,119 --> 00:18:41,019 y es porque la ñ la he codificado 303 00:18:41,019 --> 00:18:43,799 de una forma rara y entonces no la he entendido 304 00:18:43,799 --> 00:18:44,960 y entonces no se funciona. 305 00:18:45,859 --> 00:18:47,440 También espacios, 306 00:18:47,619 --> 00:18:49,759 cosas, no. Nombre sencillito. 307 00:18:50,000 --> 00:18:51,400 Underscore, no. 308 00:18:51,799 --> 00:18:52,579 Nombre sencillito. 309 00:18:53,000 --> 00:18:54,720 Project 1, por ejemplo. 310 00:18:57,000 --> 00:18:57,319 Entonces, 311 00:18:57,940 --> 00:18:58,880 aquí me dice 312 00:18:58,880 --> 00:19:01,180 ¿qué JRE quieres usar? 313 00:19:01,440 --> 00:19:03,839 ¿Qué Java Runtime Environment 314 00:19:03,839 --> 00:19:04,839 quieres ejecutar? 315 00:19:04,839 --> 00:19:11,380 Es decir, cuando lanzarás este programa, ¿qué versión de la Java Virtual Machine quieres ejecutar? 316 00:19:11,660 --> 00:19:16,220 Y nosotros que tenemos instalada la 24, usamos la 24. 317 00:19:16,359 --> 00:19:18,880 Pero fijaos que podría usar una anterior. 318 00:19:22,539 --> 00:19:33,690 Si os fijáis, ahora aquí se me ha creado un proyecto. 319 00:19:33,690 --> 00:19:42,890 Y si yo voy a mi carpeta Workspace, dentro tengo una carpeta que se llama como mi proyecto. 320 00:19:43,630 --> 00:19:47,130 Este señor de aquí es el proyecto. 321 00:19:48,029 --> 00:20:00,690 Cuando en un examen os diré me tenéis que entregar el proyecto, me tenéis que entregar esta carpeta, no esta carpeta. 322 00:20:00,690 --> 00:20:02,670 carpeta, no quiero 323 00:20:02,670 --> 00:20:04,950 el workspace, quiero el proyecto 324 00:20:04,950 --> 00:20:06,589 no esta 325 00:20:06,589 --> 00:20:08,529 carpeta, que será donde 326 00:20:08,529 --> 00:20:09,630 están las fuentes 327 00:20:09,630 --> 00:20:12,430 lo que yo he hecho, aquí dentro 328 00:20:12,430 --> 00:20:14,710 no quiero esto, yo quiero 329 00:20:14,710 --> 00:20:16,109 el proyecto 330 00:20:16,109 --> 00:20:16,930 esto 331 00:20:16,930 --> 00:20:20,109 estadísticamente 332 00:20:20,109 --> 00:20:22,569 cinco de vosotros 333 00:20:22,569 --> 00:20:24,430 no entenderán nunca 334 00:20:24,430 --> 00:20:26,089 que el proyecto es esto 335 00:20:26,089 --> 00:20:31,690 estadísticamente 336 00:20:31,690 --> 00:20:34,150 años son cuatro, años son dos 337 00:20:34,150 --> 00:20:35,130 ¿vale? 338 00:20:35,970 --> 00:20:36,849 pues 339 00:20:36,849 --> 00:20:40,410 algunos seguro, ahora os reís 340 00:20:40,410 --> 00:20:43,789 cuando os bajo tres notas 341 00:20:43,789 --> 00:20:44,470 no reís 342 00:20:44,470 --> 00:20:48,089 entonces, dentro del proyecto ahora tengo 343 00:20:48,089 --> 00:20:49,650 SRC, ¿vale? 344 00:20:49,650 --> 00:20:51,150 SRC está por inglés 345 00:20:51,150 --> 00:20:54,890 source, fuente 346 00:20:54,890 --> 00:20:58,170 Aquí van los programas fuentes, ¿vale? 347 00:20:58,390 --> 00:21:07,730 Y entonces lo que voy a hacer es, sobre el SRC, botón derecho, New, Class. 348 00:21:09,230 --> 00:21:12,069 Voy a crear una nueva clase. 349 00:21:13,089 --> 00:21:22,289 Sobre, tengo el proyecto, lo abro, voy a SRC, botón derecho, New, Class. 350 00:21:22,289 --> 00:21:25,390 y se me abre un nuevo formulario 351 00:21:25,390 --> 00:21:27,849 diciendo, haz una nueva clase Java 352 00:21:27,849 --> 00:21:29,690 ¿cómo voy a llamar 353 00:21:29,690 --> 00:21:30,529 esta nueva clase? 354 00:21:34,940 --> 00:21:36,960 exacto, hello world 355 00:21:36,960 --> 00:21:43,359 ¿sí? 356 00:21:45,700 --> 00:21:47,779 me dice también que 357 00:21:47,779 --> 00:21:49,680 debería 358 00:21:49,680 --> 00:21:51,319 establecer 359 00:21:51,319 --> 00:21:53,579 un nombre 360 00:21:53,579 --> 00:21:54,680 del package 361 00:21:54,680 --> 00:21:57,240 nosotros no sabemos que es un package 362 00:21:57,240 --> 00:21:58,819 no lo sabremos hasta noviembre 363 00:21:58,819 --> 00:22:12,960 vale pero aquí aquí por ejemplo le puedo poner que está en el paje ejercicios entonces tengo 364 00:22:12,960 --> 00:22:18,880 una nueva clase dentro del pacas de ejercicios dentro que se llama el logro con esto suficiente 365 00:22:18,880 --> 00:22:28,759 por ahora le doy finish que me ha hecho dentro de source me ha creado una cosa rara que se llama 366 00:22:28,759 --> 00:22:37,160 ejercicios esto será un parque y dentro de este parque está el 367 00:22:37,160 --> 00:22:43,500 lugar de punto ya va lo veis entonces si nosotros creamos una nueva clase y le 368 00:22:43,500 --> 00:22:46,619 ponemos en él 369 00:22:47,619 --> 00:22:56,839 si yo dentro de ejercicio le doy botón derecho y le doy nueva clase 370 00:22:56,839 --> 00:23:04,839 Veis que ya me dice en el package, pero podría crear en vez, en search, un nuevo package y llamarlos ejercicio segundo trimestre. 371 00:23:04,839 --> 00:23:10,720 Y aquí pongo los ejercicios de segundo trimestre. Eso ya como luego os lo apañáis, os lo doy. 372 00:23:11,359 --> 00:23:25,420 Intentar ser ordenados. Tengo el award. Fijaos, mi amigo el ID, 373 00:23:25,420 --> 00:23:27,420 que me quiere 374 00:23:27,420 --> 00:23:29,920 me ha ya añadido 375 00:23:29,920 --> 00:23:31,099 datos 376 00:23:31,099 --> 00:23:34,200 o sea me ha añadido 377 00:23:34,200 --> 00:23:36,099 ya código que yo no he 378 00:23:36,099 --> 00:23:38,319 escrito, que pero me viene bien 379 00:23:38,319 --> 00:23:39,799 en particular 380 00:23:39,799 --> 00:23:42,279 esta cosa aquí, que no hemos visto 381 00:23:42,279 --> 00:23:44,079 me sirve para que esta 382 00:23:44,079 --> 00:23:46,019 clase esté en este package, pero 383 00:23:46,019 --> 00:23:47,900 lo ignoro, y 384 00:23:47,900 --> 00:23:49,420 public clase load 385 00:23:49,420 --> 00:23:52,119 que es lo que tenía que escribir 386 00:23:52,119 --> 00:23:53,920 yo, entonces aquí 387 00:23:53,920 --> 00:24:02,460 ya tengo listo para escribir mi programa. Entonces, ¿qué hago? Pues tengo que crear 388 00:24:02,460 --> 00:24:25,079 el método main, public static void main string args, fijaos que como pasaba en notepad 389 00:24:25,079 --> 00:24:34,920 más más tengo colorines si os fijáis el estos tienen un color y si no me equivoco aún se parece 390 00:24:34,920 --> 00:24:44,819 igual esto tiene un color distinto de esto como más marrón un poquito distinto estos colores se 391 00:24:44,819 --> 00:24:52,619 pueden customizar es decir cada uno puede poner los colores que le da la gana no los toques porque 392 00:24:52,619 --> 00:24:54,539 en el examen, si os cambio 393 00:24:54,539 --> 00:24:56,299 de sitio, de repente 394 00:24:56,299 --> 00:24:58,700 vosotros tenéis colores que no reconoceis 395 00:24:58,700 --> 00:25:00,619 y otro alumno, pues tiene 396 00:25:00,619 --> 00:25:02,740 vuestros colorines raros. 397 00:25:03,299 --> 00:25:04,599 ¿Vale? Entonces, en vuestros 398 00:25:04,599 --> 00:25:06,500 ordenadores hacéis lo que os da la gana, pero tened en cuenta 399 00:25:06,500 --> 00:25:08,740 que el examen lo vais a hacer en estos 400 00:25:08,740 --> 00:25:10,359 ordenadores de aquí, con 401 00:25:10,359 --> 00:25:12,319 los colorines estándar. 402 00:25:13,660 --> 00:25:14,539 Y aquí 403 00:25:14,539 --> 00:25:19,880 system.out.printl 404 00:25:19,880 --> 00:25:25,319 O la mundo, o el low world, o lo que sea. 405 00:25:27,720 --> 00:25:29,039 Acordaos el punto y coma. 406 00:25:29,599 --> 00:25:30,579 Acordaos la S mayúscula. 407 00:25:32,619 --> 00:25:35,200 Acordaos también que esto sale también de otro colorín. 408 00:25:35,599 --> 00:25:37,839 Antes o después entenderemos qué es esto. 409 00:25:40,849 --> 00:25:41,609 ¿Dudas hasta aquí? 410 00:25:45,269 --> 00:25:57,339 Ahora, si he escrito esto, guardo, o esto es guardo todo. 411 00:25:57,559 --> 00:26:02,359 si tengo varios ficheros editados pues lo guardo de golpe 412 00:26:02,359 --> 00:26:04,779 con esto guardo solo el que tengo aquí 413 00:26:04,779 --> 00:26:07,380 fijaos que aquí me mete un asterisco, lo veis el asterisco 414 00:26:07,380 --> 00:26:13,720 cuando lo que tengo aquí no está guardado 415 00:26:13,720 --> 00:26:15,519 aquí aparece un asterisco 416 00:26:15,519 --> 00:26:18,200 si lo guardo este asterisco desaparece 417 00:26:18,200 --> 00:26:20,660 si lo modifico otra vez veis que vuelve a aparecer 418 00:26:20,660 --> 00:26:23,740 entonces si tengo la duda de lo he guardado o no 419 00:26:23,740 --> 00:26:26,759 pues miro aquí y si está el asterisco lo tengo que guardar 420 00:26:26,759 --> 00:26:36,640 sino no. Al haberlo guardado, ¿os acordáis? HelloWorld.java, ¿dónde lo hemos creado? 421 00:26:37,119 --> 00:26:49,289 Dentro de ejercicios, dentro de SRC. Proyecto 1, dentro está SRC, dentro está ejercicios, 422 00:26:49,289 --> 00:27:00,289 y dentro tengo el load.java, o sea que la estructura que tengo aquí se refleja dentro de mi proyecto en el workspace. 423 00:27:01,410 --> 00:27:11,549 Pero no solo, mi proyecto además de search, que es lo único que veo aquí, la fuente, tiene también bin, de binary. 424 00:27:11,549 --> 00:27:14,549 y si voy a mirar en Binary 425 00:27:14,549 --> 00:27:16,289 está ejercicio 426 00:27:16,289 --> 00:27:18,470 y si miro dentro de ejercicio 427 00:27:18,470 --> 00:27:19,930 está el low world 428 00:27:19,930 --> 00:27:21,410 punto class 429 00:27:21,410 --> 00:27:24,069 o sea la compilación 430 00:27:24,069 --> 00:27:26,089 del low world punto javascript 431 00:27:26,089 --> 00:27:28,089 si yo esto lo borro 432 00:27:28,089 --> 00:27:30,490 si, estoy dentro bin 433 00:27:30,490 --> 00:27:32,289 aquí, y ahora 434 00:27:32,289 --> 00:27:34,529 cambio y guardo 435 00:27:34,529 --> 00:27:36,410 aquí 436 00:27:36,410 --> 00:27:38,210 me lo vuelve a cargar 437 00:27:38,210 --> 00:27:40,349 a crear, cada vez 438 00:27:40,349 --> 00:27:42,730 que yo guardo en Eclipse 439 00:27:42,730 --> 00:27:44,650 él por debajo 440 00:27:44,650 --> 00:27:46,970 guarda en el fichero .java 441 00:27:46,970 --> 00:27:48,769 y ejecuta javac 442 00:27:48,769 --> 00:27:50,869 guardando el class 443 00:27:50,869 --> 00:27:52,970 en la carpeta 20 444 00:27:52,970 --> 00:27:54,789 ¿era claro? 445 00:27:56,009 --> 00:27:56,230 ¿sí? 446 00:27:57,009 --> 00:27:59,089 entonces esto está ya listo 447 00:27:59,089 --> 00:28:00,029 para ejecutarse 448 00:28:00,029 --> 00:28:02,049 porque ya se ha hecho la compilación 449 00:28:02,049 --> 00:28:03,890 ya lo ha hecho él, no lo tengo que hacer yo 450 00:28:03,890 --> 00:28:06,029 ¿y cómo lo ejecuto? 451 00:28:06,849 --> 00:28:08,210 con el botón play 452 00:28:08,210 --> 00:28:09,490 o run 453 00:28:09,490 --> 00:28:13,710 el botón verde con el triangulito 454 00:28:13,710 --> 00:28:15,230 si yo lo pincho 455 00:28:15,230 --> 00:28:17,410 aquí abajo me aparece 456 00:28:17,410 --> 00:28:18,690 hola mu 457 00:28:18,690 --> 00:28:21,349 lo que antes se me escribía 458 00:28:21,349 --> 00:28:22,690 en la consola 459 00:28:22,690 --> 00:28:25,650 ahora se me escribe en la consola 460 00:28:25,650 --> 00:28:26,910 veis que aquí está el console 461 00:28:26,910 --> 00:28:29,450 y aquí me aparece 462 00:28:29,450 --> 00:28:32,049 que yo cambio esto 463 00:28:32,049 --> 00:28:34,190 y lo lanzo otra vez 464 00:28:34,190 --> 00:28:36,150 me dice 465 00:28:36,150 --> 00:28:37,990 no lo has salvado 466 00:28:37,990 --> 00:28:40,509 y como no lo ha salvado, no me daría 467 00:28:40,509 --> 00:28:41,470 esta cosa de aquí 468 00:28:41,470 --> 00:28:43,730 y yo le digo, sí, sálvalo 469 00:28:43,730 --> 00:28:46,069 al salvarlo, ha rehecho 470 00:28:46,069 --> 00:28:47,490 también la compilación 471 00:28:47,490 --> 00:28:48,829 y por lo tanto 472 00:28:48,829 --> 00:28:50,849 me escribe esto 473 00:28:50,849 --> 00:28:54,529 y si se me ha olvidado el punto y coma 474 00:28:54,529 --> 00:28:57,289 cuando lo guardo 475 00:28:57,289 --> 00:28:59,009 no me dice nada 476 00:28:59,009 --> 00:29:01,390 pero cuando lo ejecuto 477 00:29:01,390 --> 00:29:02,890 me dice algo 478 00:29:02,890 --> 00:29:07,269 me dice, hay errores 479 00:29:07,269 --> 00:29:08,910 me dice, ay mira 480 00:29:08,910 --> 00:29:10,329 que aquí 481 00:29:10,329 --> 00:29:13,529 ha pasado algo, no funciona 482 00:29:13,529 --> 00:29:15,009 y cosas por el estilo, fijaos, pero 483 00:29:15,009 --> 00:29:16,990 que mientras antes me lo decía el compilador 484 00:29:16,990 --> 00:29:19,309 ahora me lo está diciendo el propio 485 00:29:19,309 --> 00:29:21,329 ID, lo veis que aquí ha puesto un X 486 00:29:21,329 --> 00:29:23,430 y si me voy a mirar aquí me dice 487 00:29:23,430 --> 00:29:24,789 syntax error 488 00:29:24,789 --> 00:29:27,190 insert punto y coma 489 00:29:27,190 --> 00:29:28,769 to complete block statement 490 00:29:28,769 --> 00:29:31,109 añade un punto y coma para 491 00:29:31,109 --> 00:29:32,990 completar la sentencia 492 00:29:32,990 --> 00:29:34,410 ¿vale? el comando 493 00:29:34,410 --> 00:29:36,230 eso lo he ponido por línea 494 00:29:36,230 --> 00:29:40,069 hasta que lo entiende, a veces sí 495 00:29:40,069 --> 00:29:42,130 ¿vale? no cierro 496 00:29:42,130 --> 00:29:44,049 una paréntesis, él me da 497 00:29:44,049 --> 00:29:45,849 un error y me dice, mira, llegada aquí 498 00:29:45,849 --> 00:29:47,150 falta una paréntesis 499 00:29:47,150 --> 00:29:49,670 syntax error, insert 500 00:29:49,670 --> 00:29:52,450 paréntesis to complete class body 501 00:29:52,450 --> 00:29:54,029 ¿vale? ah, sí, ok 502 00:29:54,029 --> 00:29:55,890 pongo la 503 00:29:55,890 --> 00:29:57,130 s minúscula 504 00:29:57,130 --> 00:29:59,730 me dice, oye, hay un error aquí, lo veis que lo 505 00:29:59,730 --> 00:30:01,309 rayo de rojo, me voy encima 506 00:30:01,309 --> 00:30:04,049 y me dice, el sistema no puede 507 00:30:04,049 --> 00:30:05,349 entender qué es esto 508 00:30:05,349 --> 00:30:07,569 Pienso un poco y digo 509 00:30:07,569 --> 00:30:09,609 Ah, no, aquí el sistema es mayúsculo 510 00:30:09,609 --> 00:30:11,049 Hago así 511 00:30:11,049 --> 00:30:12,710 ¿Qué error me da? 512 00:30:15,160 --> 00:30:15,799 Ninguno 513 00:30:15,799 --> 00:30:19,240 Porque esto lo vimos ayer, ¿os acordáis? 514 00:30:19,680 --> 00:30:21,240 Quitar esto no es un error 515 00:30:21,240 --> 00:30:24,460 Esto como sintaxis es perfecta 516 00:30:24,460 --> 00:30:26,220 Pero si ahora lo lanzo 517 00:30:26,220 --> 00:30:27,539 Me va a decir 518 00:30:27,539 --> 00:30:29,359 Falta el método mine 519 00:30:29,359 --> 00:30:32,220 ¿Eh? 520 00:30:32,859 --> 00:30:34,259 Mine method not found 521 00:30:34,259 --> 00:30:36,920 Entonces no tengo un punto de acceso 522 00:30:36,920 --> 00:30:39,140 Porque un punto de acceso no puede ejecutar 523 00:30:39,140 --> 00:30:51,950 Por lo tanto, se me ha olvidado este de aquí, lo pongo otra vez, lo guardo y ahora funciona. 524 00:30:51,950 --> 00:30:52,950 ¿Dudas?