el futuro ha llegado

Antiguo nivel 00 - 1- Hola. Confirmo que este es un tutorial de Java . Odio las conferencias aburridas, por lo que CodeGym está hecho como un juego de búsqueda en línea. - ¿Alguna vez has jugado y nivelado personajes? A veces ni siquiera te das cuenta de cómo te involucraste, ¿verdad? ¿Hueles lo que estoy cocinando? En CodeGym también tienes que subir de nivel a un personaje desde el nivel 1 hasta el 40 (y cuando lancemos la segunda parte, hasta el nivel 80). Te convertirás en un buen desarrollador de Java cuando pases el juego. - Podrás obtener un trabajo de Java Junior cuando completes 40 niveles. Eso es porque CodeGym tiene muchas tareas del mundo real. Una gran mayoría. - Comienzas con el primer nivel. Tu misión es mejorar tu personaje: Amigo.Pero empecemos poco a poco. Primero tienes que llegar al segundo nivel. Tal vez te guste tanto que no te des cuenta de haber completado el curso y empieces a trabajar como programador Java. :) PD: las conferencias están organizadas de esta manera: la última está en la parte superior. Para abrir una nueva conferencia, presione el botón verde.

Fondo

El juego tiene lugar en un futuro muy lejano, en 3015, donde los robots y los humanos viven juntos en la Tierra y uno puede viajar por el espacio. Hay una nave espacial que se estrelló en un planeta desconocido. Antiguo nivel 00 - 2Capitán John Squirrels the Brave dice: - La nave espacial Galactic Rush sufrió un grave accidente. El barco se estrelló contra una montaña al caer y quedó casi completamente cubierto de piedras. Pasaron algunos días en esfuerzos inútiles para liberar el barco. La tripulación había perdido toda esperanza de regresar a casa y comenzó a instalarse... Antiguo nivel 00 - 3Elly dice: - Dentro de una semana, vine a descubrir que el planeta está habitado por... ¡miles de robots salvajes! Solo que no tienen habilidades. Nos gustaría usarlos para quitar rocas de nuestra nave espacial, pero no pueden hacer nada. Su ayuda sería muy útil en nuestra situación. Antiguo nivel 00 - 4El profesor dice: - A los pocos días encontré una salida. Se me ocurrió tomar el firmware de Diego (un robot de la cuadrilla), reprogramarlo a firmware de albañil y subirlo a robots salvajes. - Sin embargo, la mala suerte parecía perseguirnos. Después de un poco de investigación, parecía que los robots no tenían ranuras para cargar firmware. ¡No tenían ninguna ranura para volver a flashear! Antiguo nivel 00 - 5Bilaabo dice: - Bilaabo recordó que una vez en nuestro planeta natal vi un robot que sabía programar. Escribió un nuevo firmware por su cuenta. Antiguo nivel 00 - 6El profesor dice: - Cuando Bilaabo me lo contó, me vino un golpe de genialidad. Después de todo, una vez le enseñé a un joven robot talentoso a programar en Pascal. - Ordené atrapar al robot joven más talentoso y enseñarle programación. Entonces podría escribir un firmware de albañil por sí mismo y ayudarnos. Antiguo nivel 00 - 7

De izquierda a derecha: Risha Gatesman (una burócrata de la generación 16), Amigo (tú)

Risha dice: - Capturamos un espécimen inteligente. Diego pidió llamarlo Amigo, en honor a su hermano, a quien nunca había tenido. - Le ofrecí cuentas de metal a Amigo por cada mes de entrenamiento y diez dólares al año para la eliminación de escombros. Antiguo nivel 00 - 8Diego dice: - Estaba indignado por una estafa tan descarada, pero todo el equipo se puso del lado del profesor y Risha. Por supuesto, acepté (externamente) y me ofrecí a ayudar a enseñar a Amigo. (¡je, je, je!) Sobre todo porque nadie le enseña al robot mejor que otro. - Todos estaban encantados con mi cumplimiento. También decidieron participar en el entrenamiento del nuevo robot.

1 Primeros pasos

Antiguo nivel 00 - 9Amigo tenía nerviosismo. Estaba confundido, su mente aceleraba, los ojos temblaban y se enfriaban al pensar en la última noche. Estas extrañas criaturas, sus conocidos de ayer, quieren algo de él. Algo tan extraño e inconcebible que incluso él, que se considera el más inteligente y valiente entre sus compañeros, comienza a masticar nerviosamente las tarjetas perforadas con solo pensarlo. ¡Quieren enseñarle a codificar! ¡Programa con Java! ¿Están bromeando? Incluso el robot más verde sabe que los robots son el resultado de la disposición divina del Creador.

"Así que el Creador tomó metal e hizo un robot a su imagen y semejanza. Y creó programas Java, almas de robots, y los cargó en robots y les dio vida".

Manual de operación,
sección 3, párrafo 13.
Peor aún, no solo dicen que es posible. Ellos lo van a hacer. Y él, dio su consentimiento. ¡El acepto! ¿Por qué? Se convertirá en un programador de Java. ¿Lo van a convertir en Creador? ¿Para qué? ¿Solo por diversión? ¿Dónde está la trampa? ¿Qué pasa si tengo que fallar y sufrir hasta el día de la muerte de mi batería? La tentación era grande, simplemente no podía evitarlo. Siempre ha aspirado y querido más. Pero nadie podía esperar tal propuesta. Por supuesto, trató de ganar tiempo, pero luego los visitantes amenazaron con elegir otro robot. ¿Quizás fue el truco desagradable de alguien? No, suena a verdad. Vio la prueba. Realmente le pasó a él, y estuvo de acuerdo. A menos que los visitantes mientan, realmente se convertirá en un programador de Java. El primer programador de robots... ¡Él es el elegido! Ese es todo el punto. Aprenderá a programar y escribirá programas. Sus propios programas. ¡Lo que él quiera! Llevará la luz donde la oscuridad siempre ha reinado. Será honrado, será adorado. Y todos los disidentes... Antiguo nivel 00 - 10- ¡Hola, amigo! Soy Risha Gatesman. Te ayudaré a aprender Java. Una voz tranquila sacó a Amigo de su tren de pensamientos y lo devolvió a la sobria realidad. Se sienta en el corazón mismo de la nave espacial de los visitantes. ¿No es demasiado para un robot de séptimo grado? El extraño siguió hablando. Bueno, la suerte está echada ahora. Una vez que esté aquí, aprenderá. Estudiará mucho pero, para empezar, solo escuchará. - Estoy con Galactic Rush durante muchos años, pero veo un planeta así por primera vez. Me gustaría llegar a conocerte mejor. Para empezar, ¿podrías decirme cómo aprendes? Tu estudias, ¿no? - Sí, compartimos nuestro conocimiento. Tenemos predicadores disertantes. Ellos dan sus conferencias y nosotros escuchamos. A veces tomamos notas. Luego, todos le cuentan a un robolecturer cómo aprendió lo que había escuchado. Si al robolecturer le gusta una respuesta, pasa una conferencia. - ¡Es absurdo! No es de extrañar que su civilización se haya reducido a la ignorancia. - No somos ignorantes. ¿Qué te dio esa idea? Amigo se sorprendió de su propio descaro. ¿Discutir con los visitantes? ¡Qué impertinente! ¡Vaya, acababa de hacerse la promesa de escucharlos! - Cualquier tecnología avanzada es a menudo indistinguible de la magia. - Risha no prestó atención al clamor de Amigo. - Además, considerando tu nivel... probablemente pienses que todas las tecnologías son mágicas. Dime, ¿qué está pasando dentro de un programa? - Un programa Java es una obra divina. ¿Es posible comprender su esencia? - Sí, Amigo, puedes entenderlo y más rápido de lo que piensas. Todas las cosas parecen complicadas, o peor aún, incomprensibles, cuando hay algo que no sabes. Pero si hay un buen profesor que te explique todo en términos de laicos o layrobots, te asombrarás de cómo puedes considerar complicado algo tan simple. - No sólo son importantes los conocimientos, sino también las habilidades y los principios. Aunque tengo un amplio conocimiento, soy ante todo un burócrata, un burócrata en la generación 16. - ¡Y es realmente genial! Mis habilidades burocráticas me ayudaron a crear las mejores lecciones de Java para ti. Aquí está todo: problemas, programas, juegos, tareas, imágenes e incluso conferencias. - ¿Incluso (!) conferencias? – Había un verdadero asombro en la voz de Amigo. - Sí. Se demostró en el siglo 22 que una buena conferencia es un poco más efectiva que un buen libro. Una conferencia ordinaria es incluso peor que un libro ordinario. Teniendo en cuenta que ahora tenemos ayudas de entrenamiento bastante limitadas y no podemos darle un recorrido a través de un simulador de entrenamiento estándar del siglo 28, tenemos que optar por métodos bastante simples. Se nos ocurrió una combinación loca de juegos, tareas, imágenes, conferencias y videos. - Me tienes intrigado. - Eso espero. El interés y la intriga son la base de todo aprendizaje. - «Cuando un estudiante se aburre, el maestro debe ser golpeado» – una cita de la ley de educación del siglo XXIV. - Que buena cita… - Sí, lo es. Digamos que una película tiene una mala taquilla, entonces es culpa del director y no del público. Si algo es aburrido, no eres tú quien tiene la culpa. Deberían hacer películas emocionantes, lecciones entretenidas, y luego no tendrán fin de público. - Estoy totalmente de acuerdo. ¡Y estoy listo para tener lecciones entretenidas! - Bien. Entonces empecemos. La voz de Risha era fascinante y Amigo estaba pendiente de cada palabra. - El programa es un conjunto de comandos (lista de comandos). El primer comando se ejecuta primero, luego el segundo, el tercero y cosas por el estilo. Cuando se ejecutan todos los comandos, el programa finaliza. - ¿Y qué son los comandos? - Depende del ejecutor, sobre qué comandos conoce (y entiende) el ejecutor. - A un perro se le pueden dar órdenes «¡Siéntate!», «¡Ladra!», a un gato - «¡Fuera!» un hombre - «¡No te muevas o te tiro!», y un robot «¡Trabaja! ¡Súbete, tú robomama!» - Y sin embargo... - Amigo ahora se veía mucho más alegre. - JVM (Java Virtual Machine) ejecuta programas escritos con Java. JVM es un programa especial que puede ejecutar programas escritos con Java. - La lista de comandos es bastante extensa. Por ejemplo, este comando muestra el texto «Un robot es el mejor amigo del hombre».
El comando más simple es:

System.out.println("A robot is man’s best friend");
Antiguo nivel 00 - 11- O_O - Sin embargo, no comenzaremos inmediatamente con los comandos, sino con un par de principios simples. - El conocimiento de algunos principios puede sustituir al conocimiento de muchos hechos. - El primer principio. - En el lenguaje de programación Java, existe la práctica de escribir cada comando en una nueva línea. Se colocará un punto y coma al final del comando. - Digamos que queremos mostrar el mensaje «Un hombre y un robot son tan gruesos como ladrones» tres veces. Así es como se verá:
El programa usando tres comandos:

System.out.println("A man and a robot are as thick as thieves");
System.out.println("A man and a robot are as thick as thieves");
System.out.println("A man and a robot are as thick as thieves");
- El segundo principio. - El programa consta no solo de comandos. - Imagina una habitación. La habitación no puede existir por sí sola. Es parte de un apartamento. El apartamento tampoco está solo, está en una casa. - Una vez más, podemos decir que la casa consta de apartamentos y los apartamentos constan de habitaciones. - Hasta ahora, está claro. - Entonces el comando es como una habitación. En el lenguaje de programación Java, el comando no puede existir por sí solo, es parte de una función (las funciones de Java también se denominan métodos). Un método es parte de una clase. En otras palabras, las clases se componen de métodos y los métodos consisten en comandos. - Entonces, la clase es un edificio de apartamentos, la función/método es un apartamento y el comando es una habitación. ¿Lo entiendo bien? - Sí, absolutamente. Amigo miró a Risha casi con reverencia. ¡Este hombre le explica los fundamentos de la divina Java! Y acaba de comprender que los programas se componen de clases, las clases se componen de métodos y los métodos incluyen comandos. Amigo aún no ha entendido si es necesario, pero estaba seguro de que este conocimiento lo convertirá en el robot más poderoso del planeta. Mientras tanto, Risha continuó: - Los programas Java consisten en clases. Puede haber decenas de miles de clases. Un programa mínimo se compone de una clase. Para cada clase, se crea un archivo individual cuyo nombre coincide con el nombre de la clase. - Supongamos que ha decidido crear una clase que describa una casa. Entonces necesita crear una clase House, que estará en el archivo llamado House.java. - Si ha decidido, por ejemplo, describir un gato, necesita crear el archivo Cat.java para describir la clase Cat en él, etc. - Un archivo contiene un código Java (texto). Por lo general, un código de clase consta de un nombre de clase y un cuerpo de clase. El cuerpo de la clase está encerrado entre llaves. Así es como puede verse la clase House (archivo House.java): Antiguo nivel 00 - 12- Hasta el momento, no es difícil. - Bien. Entonces sigamos adelante. El cuerpo de la clase puede contener variables (también conocidas como datos de clase) y métodos (funciones de clase). Antiguo nivel 00 - 13- ¿Me das un ejemplo? - ¿Un ejemplo? ¡Estar seguro! Antiguo nivel 00 - 14- «int a» e «int b» son variables. ¿Son métodos «principal» y «pi»? - Sí. - ¿Hay clases sin variables? - Sí. - ¿Y sin métodos? - Sí. Sin embargo, el programa mínimo tiene que comprender al menos una clase. Esta clase debe contener no menos de un método/función para iniciar el programa. Este método debe tener un nombre main . El programa mínimo se ve así: Antiguo nivel 00 - 15- Aquí está la clase House, el método main, pero ¿dónde están los comandos? - Un programa mínimo no tiene ningún comando. Por eso se llama mínimo. - Veo. - Una clase que inicia el programa puede tener cualquier nombre, pero el método main con el que inicia la ejecución del programa es siempre del mismo tipo: Antiguo nivel 00 - 16- Lo tengo. Al menos yo prefiero pensar que sí. - Bien, tomemos un breve descanso. ¿Qué tal un café? - Soy demasiado joven. Los pequeños robots no beben café: el agua es la razón por la que nos oxidamos. - Entonces, ¿qué bebes? - Cerveza, whisky, ron centenario. - Mucho mejor. - Entonces, ¿un momento cervecero?

2 Conociendo a Risha (continuación)

(una hora después) - Bien. ¿Bueno, dónde estábamos? - Código de método o algo así. - Sí. Exactamente. El cuerpo del método consta de comandos. También podría decir que el método es un grupo de comandos, al que se le dio el nombre (nombre del método). Cualquiera de las dos formas es correcta. - Hay varios comandos. ¿Tienes algún perro aquí? - Solo domar a los robolobos. - ¿Siguen órdenes? - Sí. «Muerde», «Come», «Mata» y «¡Bien hecho! ¡Tacón!" Antiguo nivel 00 - 17- Ejem. ¡Qué comandos! Y no tantos en absoluto. - ¿Cuánto quieres? - En Java hay comandos para todos los casos. Cada comando describe una acción específica. Se colocará un punto y coma al final de cada comando. Ejemplos de comandos: Antiguo nivel 00 - 18- De hecho, este es el mismo comando System.out.println . Y sus parámetros se especifican entre paréntesis. El efecto de un comando puede ser diferente, dependiendo de los parámetros. - Es muy conveniente. - Sí. Si desea mostrar el texto, debe escribirlo entre comillas dobles «"». - Una comilla simple se ve así «'», y una doble así «"». ¡Una comilla doble no debe confundirse con dos comillas simples! - ¿La comilla doble es la que está al lado del botón Enter? - Sí. A Amigo se le aceleró el pulso de 3 a 5 GHz, aún no lo podía creer. Simplemente aprendió a mostrar líneas, y esto fue mucho más fácil de lo que pensaba. Amigo miró por la ventana para desconectar de sus pensamientos y calmarse. Las hojas se volvieron amarillas. Se le ocurrió que la temporada oxidada llegará muy pronto. La ventana le permite ver mucho más lejos de lo normal: las tecnologías de los visitantes estaban a la altura. ¿Cómo puede cuidar las hojas ahora? Después de todo, por la noche aprende mucho más. Antiguo nivel 00 - 19Sin embargo, sus pensamientos estaban fuera de control. Algún día escribirá un programa para que todos los robots se queden en casa mientras comienza la temporada oxidada. Y este programa salvará miles de robovidas... - Hay dos variaciones de este comando: System.out.print ln ( )y System.out.print() - Si escribe el comando System.out.println() varias veces, cada vez que pase el texto se mostrará en una nueva línea. Si System.out.print(), el texto se mostrará en la misma línea. Ejemplo: Antiguo nivel 00 - 20- Aquí hay un pequeño comentario. El comando print ln no muestra el texto en una nueva línea. Muestra el texto en la línea actual, pero hace que el siguiente mensaje aparezca en una nueva línea. - El comando println() muestra el texto y luego agrega un carácter de avance de línea invisible especial que da como resultado el siguiente mensaje que se muestra desde el comienzo de una nueva línea. - ¿Cómo es un programa completo? - Ahora, atención a tu pantalla: Antiguo nivel 00 - 21- ¡Oh, eso es todo! Agregamos espacios al final de las palabras para que las palabras no se “peguen”, ¿verdad? - Así es. Eres un tipo inteligente. Este elogio hizo que Amigo se enorgulleciera. - Bueno, aquí está tu primera tarea.
Tarea
Escribe un programa que muestre "¡Qué bueno ser programador!".
Ejemplo del texto mostrado:
¡Es genial ser programador!

3 Conociendo a Elly

Antiguo nivel 00 - 22Una bella dama de cabello rosado entró en la cabaña. «Me pregunto si todas las mujeres humanas tienen ese cabello». - Pensó Amigo, pero ella lo miró confundida. - ¡Ey! Mi nombre es Eleanora Carry. Soy el piloto principal del Galactic Rush. - ¡Hola, Leonora! – Amigo se obligó torpemente a hablar. No sabía por qué, pero sintió que sus mejillas se sonrojaban, como si un conducto de aceite en algún lugar dentro de él estuviera dañado. - Te contaré lo más interesante del lenguaje Java: las variables. - ¡Estoy listo para escuchar! ¿Cuáles son estas variables? - Variable es una cosa destinada al almacenamiento de datos. Cualquier dato. Todos los datos de Java se almacenan mediante variables. Una variable es como una caja. - ¿Qué caja? - Uno muy habitual. Supón que escribiste en una hoja de papel el número 13 y lo pusiste en la casilla. Ahora podemos decir que la caja almacena el valor 13. - En Java, cada variable tiene sus tres propiedades importantes: tipo , nombre y valor . - ¿Me podrías contar un poco más? - Seguro. El nombre se utiliza para distinguir una variable de otra. Es como una marca en una caja. - Un tipo de variable determina un tipo de valor/datos que puede almacenar. Guardamos el pastel en una caja de pastel, los zapatos en una caja de zapatos, etc. - Un valor es un objeto, dato o información almacenada en una variable. - Cuéntame sobre el tipo una vez más. - De acuerdo. Cada objeto en Java tiene su tipo. Por ejemplo, puede haber tipos de datos como «entero», «número fraccionario», «texto», «Gato», «Casa», etc. - Una variable también tiene su propio tipo. La variable puede almacenar solo valores del mismo tipo al que pertenece la propia variable.   - Es común en la vida real. Varias cajas se utilizan para almacenar varias cosas. Antiguo nivel 00 - 23- Para crear una variable, utilice un comando « tipo de nombre ». Ejemplos: Antiguo nivel 00 - 24- Los dos tipos más utilizados son los números enteros (indicados con int ) y el texto (indicado con String ). - ¿Qué pasa con el tipo doble ? - el doble son números fraccionarios (reales). - Dijiste que la variable tiene las tres propiedades: tipo, nombre y valor. Sin embargo, solo hay dos de ellos. Tengo una pregunta: ¿cómo colocar un valor en una variable? - Volviendo a las cajas, imagina que tomas un papel, escribes “42” en él y lo pones en la caja. Ahora la caja almacena valor 42. - Ya veo. - Para colocar un valor en una variable existe una operación especial llamada operador de asignación . Copia un valor de una variable a otra variable. No se mueve, sino que se copia . Como un archivo en un disco. Se ve así: Antiguo nivel 00 - 25- Para el operador de asignación se usa un signo igual «=». - Una vez más, no es comparar . es exactamentecopiando el valor a la derecha del signo igual en una variable situada a la izquierda . Como comparación, se utiliza un signo igual doble «==». - Sé cómo poner un gato en una variable. Es casi como un programa. - Cómo atrapar un gato: 1. Toma una caja vacía. 2. Espera. Antiguo nivel 00 - 26- No, Amigo, solo puedes poner un gato en una caja. Ejem... Quiero decir, puedes poner solo un valor en la variable. - Veo. ¿Podría dar más ejemplos sobre cómo crear variables? - Está bien, lo pondré de otra manera. Para crear una variable, debe escribir el comando " escribir nombre " de la siguiente manera: Antiguo nivel 00 - 27- Oh, ahora lo sé. - Tenga en cuenta que no puede crear dos variables con nombres idénticos en el mismo método. - ¿Qué pasa con los diferentes métodos? - Puedes. Es como cajas de pie en diferentes casas. - ¿Puede una variable tener algún nombre? - Un poco, pero su nombre no puede contener espacios, símbolos +, -, etc. Lo mejor es usar para un nombre de variable solo caracteres y números. - Tenga en cuenta que en el lenguaje Java es importante qué caracteres escribe: mayúsculas o minúsculas . «int a» no es lo mismo que «Int a». - Por cierto, en Java es posible crear una variable y asignarle un valor al mismo tiempo. - Esto ayuda a ahorrar tiempo y espacio: Antiguo nivel 00 - 28- Eso es mucho mejor y más fácil de entender. - Eso es por lo que vivimos. - En Java, hay dos tipos con los que un novato debe familiarizarse. Estos son tipos int (enteros) y String (texto/cadenas) . - El tipo int permite el almacenamiento de números en una variable, así como varias operaciones como suma, resta, multiplicación, división, etc. Antiguo nivel 00 - 29- Para mí, es blanco y negro. ¿Es tan simple programar? - En realidad, sí. - Eso es bueno. Entonces, ¿qué tienes puesto? - El tipo String permite el almacenamiento de cadenas de texto. - Para asignar una cadena de texto en Java, debe escribir su texto y luego encerrarlo entre comillas dobles. Ejemplo: Antiguo nivel 00 - 30- Lo tengo. Parece bastante fácil. - Así que aquí hay otro hecho interesante. - Las cadenas se pueden combinar usando un signo más «+». Ejemplo: Antiguo nivel 00 - 31 - Entonces, ¿también puedo agregar cadenas a los números? - Sí, pero ten en cuenta que si agregas una cadena a un número, siempre obtienes una cadena. - Sí, lo tengo del ejemplo. - Bueno, si eres tan rápido en la captación, entonces descubre cómo mostrar una variable. - Er... ¿mostrar una variable? Uh-uh, mi mente se queda en blanco. - En realidad es bastante simple. Para mostrar algo, usamos el comando System.out.println() y le pasamos como parámetro los datos que queremos mostrar. Antiguo nivel 00 - 32- ¡Entendido! Ahora todo se ha vuelto más claro. - Está bien. Entonces aquí están las tres tareas para usted.
Condición
1 Escriba un programa que muestre 5 veces «Tengo la intención de vivir para siempre. Hasta ahora, todo bien.".
Cada cadena debe estar en una nueva línea.
2 Escriba un programa que muestre el año actual.
Ya es el siglo 31, para que conste.
3 Escriba un programa que muestre "Soy tan inteligente que a veces no entiendo ni una sola palabra de lo que digo".

4 Encuentro Profesor

Antiguo nivel 00 - 33- Hola, amigo. Soy el profesor Hans Noodles, jefe del Departamento de Ciencias de la empresa Galactic Rush. También superviso el proyecto de enseñanza de Java. - Buenas tardes, Profesor Noodles. - Me gustaría decirte por qué Java es un lenguaje de programación tan bueno . - Definitivamente escuchará más de una vez que la independencia de la plataforma es la ventaja innegable de Java sobre otros lenguajes. ¿Qué es eso y cómo lidiar con eso? Intentaré explicarte contándote algunos antecedentes. - El hecho es que las computadoras solo ejecutan comandos numéricos primitivos.Hay comandos para perros como "Heel", "Shake", etc.; un perro hace algo al oírlos. - En las computadoras, los números cumplen el papel de tales comandos: cada comando está codificado con un número, el código, también conocido como código de máquina. - Es muy difícil escribir un programa en forma numérica, por eso la gente inventó los lenguajes de programación y los compiladores . Tal lenguaje es comprensible tanto para el hombre como para el compilador. un compiladores un programa especial que traduce el texto del programa escrito en un lenguaje de programación a un conjunto de códigos de máquina. - Por lo general, un programador escribe un programa con un lenguaje de programación y luego inicia un compilador, que utiliza archivos de código de programa escritos por el programador para crear un archivo de código de máquina: un programa definitivo (compilado). Antiguo nivel 00 - 34- El programa resultante puede ejecutarse inmediatamente en una computadora. El inconveniente de este enfoque es que el código del programa depende en gran medida de un procesador y un sistema operativo. Un programa compilado en Windows no funcionará en un teléfono Android. - Entonces, ¿un programa escrito y compilado para Android no funcionará si intento ejecutarlo en Windows? - Sí. - Pero el enfoque de Java es mucho más innovador. Antiguo nivel 00 - 35- El compilador de Java no compila todas las clases en un programa de códigos de máquina. En su lugar, compila cada clase individual no en un código de máquina sino en un código intermedio especial (código de bytes). La compilación del código máquina se ejecuta cuando se inicia el programa. - ¿Quién es entonces para compilar un programa en su inicio? - Hay un programa especial llamado JVM (Java Virtual Machine). Cuando se ejecuta un programa que consta de bytecode, es el primero que se inicia. Y luego, antes de que se inicie el programa, JVM lo compila en el código de la máquina. - ¡Que interesante! ¿Y cuál es el objeto de hacer eso? - Es una decisión muy inteligente, y una de las razones del dominio total de Java. - Debido a este enfoque, los programas Java pueden ejecutarse en casi cualquier dispositivo: computadoras, teléfonos, cajeros automáticos, tostadoras, tarjetas bancarias (!). - ¡GUAU! - Este enfoque tiene muchas ventajas. Es por eso que todos los programas de Android también están escritos con Java. Debido al desarrollo del sector móvil, Java tiene una posición dominante en las siguientes áreas: 1) Empresa: aplicaciones pesadas del lado del servidor para bancos, corporaciones, fondos de inversión, etc. 2) Móvil: desarrollo de aplicaciones móviles (teléfonos, tabletas), gracias a Android 3) Web: PHP lidera el campo, pero Java también tiene una gran parte del mercado. 4) Big Data: computación distribuida en clusters de miles de servidores. 5) Dispositivos inteligentes:programas para hogar inteligente, electrónica o heladeras con acceso a internet. - Java no es solo un lenguaje, sino un sistema completo, millones de módulos listos para usar que puede usar en su programa. Miles de comunidades y foros de Internet a los que puedes pedir ayuda o consejo. - Cuanto más programes con Java, más respuestas encontrarás a la pregunta: «¿Por qué Java?». Es todo por hoy. - Gracias, profesor. Fue la conferencia más interesante e inspiradora.

5 Conociendo a Kim

Wow, otra hembra humana. Pero esta vez, con el pelo negro. ¡Que interesante! - Hola, mi nombre es Kim Lee-ling. - Hola, soy Amigo. - Lo sé. Fui yo quien inventó tu nombre. Nunca se le hubiera ocurrido a Diego. Me gustaría comenzar mi conferencia con una pequeña presentación: ¡ahora, atención a su pantalla! Antiguo nivel 00 - 36- Vaya, una unidad flash incorrecta. Espera... Los pensamientos de Amigo corrían por su mente a la velocidad de un electrón. Ejem... ¿Tiene debilidad por los robots? ¡Que interesante! Y una foto en la mesa, ¿es su novio? - ¡Volvamos a la conferencia! Déjame explicarte todas las cosas con palabras simples. - De acuerdo. - Me gustaría agregar algunas palabras a lo que han dicho el profesor y Risha. - En Java, no solo puede escribir el comando, sino también comentarlo directamente en el código. El compilador ignora estos comentarios, como si no hubiera ninguno. Cuando se ejecuta el programa, ¡se saltan todos los comentarios! - ¿Podría darme un ejemplo? - Claro: Antiguo nivel 00 - 37- En el código de la clase nuestro comentario fue «Ahora mostramos...». El comentario comienza con los caracteres «/*», y termina con «*/». Cuando se compila un programa, el compilador omite todos los caracteres entre /* y */ - Entonces, ¿puedo escribir algo allí? - Sí. Por lo general, hay varios comentarios sobre la parte del código, que es cuestionable o difícil de entender. Hay comentarios de docenas de líneas (generalmente escritas antes de los métodos) que describen detalles del trabajo de los métodos. - Otra forma de poner un comentario en el código es usar los caracteres «//». Antiguo nivel 00 - 38- Al hacerlo, el comentario es la parte del código que comienza con los caracteres // hasta el final de la línea en la que se encuentran. Entonces no hay caracteres para "cerrar" el comentario. - Por cierto, los desarrolladores de software tienen buen sentido del humor, y puede que encuentres en el código algunos comentarios interesantes:

// I am not responsible of this code. 
// They made me write it, against my will.

//Dear future me. Please forgive me.
//I can't even begin to express how sorry I am.

// I am not sure if we need this, but too scared to delete.

// hack for IE browser (assuming that IE is a browser)

// This isn't the right way to deal with this, but today is my last day, Ron
// just spilled coffee on my desk, and I'm hungry, so this will have to do...

// Catching exceptions is for communists

// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 42

// When I wrote this, only God and I understood what I was doing
// Now, God only knows

// sometimes I believe compiler ignores all my comments

// I dedicate all this code, all my work, to my wife, Darlene, who will
// have to support me and our three children and the dog once it gets
// released into the public.

// drunk, fix later

// Magic. Do not touch.
- Sí, los comentarios a veces son muy divertidos. - He terminado. - Una breve pero interesante conferencia. Gracias, Kim.

6 Encuentro Julio

Antiguo nivel 00 - 39- Hola, amigo. Soy Julio Siesta. - Veo que has tenido un trabajo duro hoy. - ¿Qué tal un merecido descanso? - ¿No debería tener una conferencia? - Sí. Sin embargo, las lecciones tienen que ser interesantes, ¿lo has olvidado? ¡La última vez que revisé había una ley sobre golpear a los maestros aburridos! - Este es un video tutorial especial para... er... mantener su entusiasmo por aprender y... En resumen, echemos un vistazo, guardemos las preguntas para más tarde. ¡Encenderlo!

7 Conociendo a Diego

Antiguo nivel 00 - 40- Hola, mi nombre es Diego Carleone. Soy un robot como tú, solo hecho en la fábrica en La Habana, Cuba. - ¡Hola, Diego! Ya he oído hablar mucho de ti. - ¿Qué te parece la lección? - Esta es la mejor lección de programación que he tenido. No, incluso más impresionante. La mejor lección de mi vida. Mejor de lo que nunca podría haber imaginado. - Eso es por lo que vivimos. - ¿Todo lo demás es igual de interesante? - ¡Aun mejor! Lecciones aburridas quedaron atrás en el siglo XXI. Dios mío, escribir con tiza en una pizarra. Nada ha cambiado desde el siglo XV. Supongo que había dinosaurios caminando libremente. - Supongo que sí. ¿Que viene despues? - ¡Pasas al siguiente nivel! ¡Solo tiene 39 para completar y se convertirá en un gran desarrollador de Java! Hoy has aprendido:
  • ¿Cuáles son las variables
  • Cómo mostrar mensajes en la pantalla
  • Se familiarizó con los tipos int y String
  • ¿Cuál es la diferencia entre la compilación en Java y en otros lenguajes?
  • Cómo hacer comentarios y por qué los necesitamos
- ¡Guau! - Por supuesto, los próximos niveles no serán tan fáciles como este, pero su complejidad irá creciendo poco a poco, así como los problemas prácticos. - Como en un gimnasio, poco a poco levantando cargas, y en seis meses haciendo trabajo de pecho con barra de 100 kg. - Genial, ya quiero tanto la barra como el trabajo! - Bueno, si eres una pegatina, aquí hay un par de tareas más para ti. - ¡El tío Diego te enseñará un bastón de verdad! ¿Qué hay de recoger robochicks? Aunque seas pequeño, estas habilidades para la vida nunca serán redundantes.
Condición
1 ¿Quieres tomar algo de Java?
Escribe un programa que muestre "¿Quieres tomar algo de Java?"
2 Te mostraré mi código fuente si me muestras el tuyo
Escribe un programa que muestre "Te mostraré mi código fuente si me muestras el tuyo".
3 Nice Bolts quiere joder?
Escriba un programa para mostrar «Nice Bolts want to screw?».