Pagar en el bar también es programar
Pides tres bocadillos y dos refrescos en el bar del instituto. Pagas con un billete de 20 euros.
El camarero suma, multiplica y resta para darte el cambio. Lo hace en un segundo.
Un programa hace lo mismo. Hoy aprendes los signos que usa Java para las cuentas. Uno de ellos sirve para saber qué sobra al repartir.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Operador | Un signo que hace una cuenta, como + o *. | + - * / % |
| Expresión | Una cuenta que Java calcula y que da un valor. | 3 * 4 + 1 |
| División entera | Dividir y quedarte solo con la parte entera. | 17 / 5 da 3 |
| Resto | Lo que sobra al dividir. Se escribe con el signo %. | 17 % 5 da 2 |
| Paréntesis | Lo que está dentro se calcula primero. | (2 + 3) * 4 |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Los cinco signos
Para sumar usas +. Para restar usas -. Para multiplicar usas *, una estrella. Para dividir usas /, una barra.
El quinto signo es % y no es un tanto por ciento. Da el resto de una división. Lo verás enseguida.
Pruébalo: la cuenta del bar
public class Main {
public static void main(String[] args) {
int sandwiches = 3;
int sandwichPrice = 4;
int sodas = 2;
int sodaPrice = 2;
int total = sandwiches * sandwichPrice + sodas * sodaPrice;
System.out.println("Total: " + total + " euros");
int paid = 20;
System.out.println("Te devuelven: " + (paid - total) + " euros");
// Cambia los bocadillos a 5 y ejecuta otra vez.
}
}
Primero * y /, después + y -
Nota
Java sigue el orden que ya conoces de matemáticas. Multiplica y divide antes de sumar y restar. Si quieres otro orden, usa paréntesis.
Pruébalo: el orden importa
public class Main {
public static void main(String[] args) {
// Primero 2 * 3 = 6 y después 10 - 6.
System.out.println(10 - 2 * 3);
// Primero el paréntesis: 10 - 2 = 8 y después 8 * 3.
System.out.println((10 - 2) * 3);
// Adivina antes de ejecutar: ¿qué sale aquí?
System.out.println(4 + 6 / 2);
}
}
Dividir con números enteros
Tienes 17 caramelos y 5 amigos. Cada amigo recibe 3 caramelos. Sobran 2.
Java piensa igual. Con números enteros, 17 / 5 da 3, no 3,4. Tira la parte decimal.
Y 17 % 5 da 2, los caramelos que sobran.
Pruébalo: repartir caramelos
public class Main {
public static void main(String[] args) {
int candies = 17;
int friends = 5;
System.out.println("A cada amigo: " + candies / friends);
System.out.println("Sobran: " + candies % friends);
// Prueba con 20 caramelos. ¿Cuánto sobra?
}
}
Ejemplo resuelto: los signos con 17 y 5
| Cuenta | Resultado | Cómo se piensa |
|---|---|---|
| 17 + 5 | 22 | Sumas las dos cantidades. |
| 17 - 5 | 12 | Quitas 5 a 17. |
| 17 * 5 | 85 | Cinco veces 17. |
| 17 / 5 | 3 | El 5 cabe 3 veces en 17 (3 * 5 = 15). |
| 17 % 5 | 2 | Sobran 2 (17 - 15 = 2). |
| 17 / 5.0 | 3.4 | Con un decimal, Java da decimales. |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Dos enteros dan un entero
Advertencia
Si divides dos int, el resultado es int y pierdes los decimales. Para tener decimales, uno de los dos números debe ser decimal: 7 / 2.0 da 3.5.
Pruébalo: la media de dos notas
public class Main {
public static void main(String[] args) {
int first = 8;
int second = 5;
// Mal: dos enteros dan un entero.
System.out.println((first + second) / 2);
// Bien: dividir entre 2.0 da decimales.
System.out.println((first + second) / 2.0);
}
}
Para qué sirve el resto
El resto parece raro, pero se usa mucho.
Si un número dividido entre 2 deja resto 0, es par. Si deja resto 1, es impar.
También sirve para convertir minutos. Un vídeo dura 135 minutos. Son 2 horas y 15 minutos. Las horas son 135 / 60 y los minutos sueltos son 135 % 60.
Ejemplo resuelto: minutos a horas
| Minutos | Horas (/ 60) | Sobran (% 60) | Se lee |
|---|---|---|---|
| 45 | 0 | 45 | 0 h 45 min |
| 60 | 1 | 0 | 1 h 0 min |
| 135 | 2 | 15 | 2 h 15 min |
| 200 | 3 | 20 | 3 h 20 min |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.