Java es un lenguaje de tipado estático, lo que significa que el tipo de una variable se conoce en tiempo de compilación. Asignar un valor a un nombre se conoce como definir una variable. Una variable se define especificando explícitamente su tipo.
int explicitVar = 10;
Actualizar el valor de una variable se hace mediante el operador =.
Aquí, = no representa igualdad matemática.
Simplemente asigna un valor a una variable.
Una vez definida, el tipo de una variable nunca puede cambiar.
int count = 1; // Assign initial value
count = 2; // Update to new value
// Compiler error when assigning a different type
// count = false;
Java es un lenguaje orientado a objetos y requiere que todas las funciones se definan dentro de una clase.
La palabra clave class se usa para definir una clase.
class Calculator {
// ...
}
Una función dentro de una clase se conoce como método.
Cada método puede tener cero o más parámetros.
Todos los parámetros deben tener un tipo explícito; no hay inferencia de tipos para los parámetros.
De manera similar, el tipo de retorno también debe ser explícito.
Los valores se devuelven desde los métodos usando la palabra clave return.
Para permitir que otras clases llamen a un método, se debe agregar el modificador de acceso public.
class Calculator {
public int add(int x, int y) {
return x + y;
}
}
Invocar o llamar a un método se hace especificando el nombre de su clase y del método, y pasando argumentos para cada uno de los parámetros del método.
int sum = new Calculator().add(1, 2); // here the "add" method has been called to perform the task of addition
El ámbito en Java se define entre los caracteres { y }.
Java admite dos tipos de comentarios.
Los comentarios de una sola línea van precedidos por // y los comentarios de varias líneas se insertan entre /* y */.
En este ejercicio vas a escribir algo de código para ayudarte a cocinar una lasaña espectacular del libro de cocina que más te gusta.
Tienes cuatro tareas, todas relacionadas con el tiempo que se tarda en cocinar la lasaña.
Define el método expectedMinutesInOven(), que no recibe ningún parámetro y devuelve cuántos minutos debe estar la lasaña en el horno. Según el libro de cocina, el tiempo esperado en el horno es de 40 minutos:
Lasagna lasagna = new Lasagna();
lasagna.expectedMinutesInOven();
// => 40
Define el método remainingMinutesInOven(), que recibe como parámetro los minutos que la lasaña lleva realmente en el horno y devuelve cuántos minutos le quedan todavía por estar en el horno, según el tiempo esperado en minutos de la tarea anterior.
Lasagna lasagna = new Lasagna();
lasagna.remainingMinutesInOven(30);
// => 10
Define el método preparationTimeInMinutes(), que recibe como parámetro el número de capas que le agregaste a la lasaña y devuelve cuántos minutos tardaste en prepararla, suponiendo que cada capa te toma 2 minutos de preparación.
Lasagna lasagna = new Lasagna();
lasagna.preparationTimeInMinutes(2);
// => 4
Define el método totalTimeInMinutes(), que recibe dos parámetros: el primero es el número de capas que le agregaste a la lasaña y el segundo es el número de minutos que la lasaña ha estado en el horno. La función debe devolver cuántos minutos en total has trabajado en cocinar la lasaña, es decir, la suma del tiempo de preparación, en minutos, y el tiempo en minutos que la lasaña lleva en el horno en ese momento.
Lasagna lasagna = new Lasagna();
lasagna.totalTimeInMinutes(3, 20);
// => 26
Regístrate en Exercism para aprender y dominar Java con 26 conceptos158 ejercicios y mentoría humana real, todo gratis.