Java Matemáticas: métodos ceil() Floor()

⚡ Resumen inteligente

Java La clase Math (java.lang.Math) proporciona métodos estáticos para operaciones de valor absoluto, redondeo, techo, piso, mínimo, máximo, exponencial, logarítmica y trigonométrica. Estas funciones integradas reemplazan el cálculo manual, lo que permite realizar cálculos científicos precisos directamente en cualquier Java .

  • 🔢 Constantes: Math.E (2.718281828459045) y Math.PI (3.141592653589793) se exponen como campos dobles para fórmulas logarítmicas y geométricas.
  • 📏 Familia redonda: abs() devuelve la magnitud, round() da el entero más cercano, mientras que ceil() y floor() redondean hacia arriba y hacia abajo a números enteros.
  • 🇧🇷 Métodos de comparación: Las funciones min() y max() devuelven el menor o el mayor de dos argumentos numéricos para los tipos int, long, float y double.
  • 📈 Matemáticas avanzadas: Las funciones exp(), log(), pow() y sqrt() manejan cálculos exponenciales, logarítmicos, de potencia y de raíz cuadrada en valores de tipo double.
  • 📐 Trigonometría: Las funciones sin(), cos(), tan(), atan2(), toRadians() y toDegrees() operan en radianes para cálculos basados ​​en ángulos.

Java Métodos matemáticos ceil() y floor()

¿Qué es el Java ¿Clase de matemáticas?

Java Ha tenido varias aplicaciones de uso avanzado, incluyendo el trabajo con cálculos complejos en física, arquitectura y diseño estructural, el trabajo con mapas y sus correspondientes latitudes y longitudes, y más.

Todas estas aplicaciones requieren cálculos y ecuaciones complejos que resultan tediosos de realizar manualmente. Programáticamente, dichos cálculos implicarían el uso de logaritmos, trigonometría, ecuaciones exponenciales y operaciones similares.

Java Clase de matemáticas

Ahora bien, no es posible tener todas las tablas de logaritmos o trigonometría codificadas en algún lugar de la aplicación o de los datos, ya que los datos serían enormes y complejos de mantener.

Java Proporciona una clase muy útil para este propósito. Se trata de Matemáticas. Java Clase (java.lang.Math). Esta clase proporciona métodos para realizar operaciones como exponenciales, logaritmos, raíces y ecuaciones trigonométricas.

Los dos elementos más fundamentales en matemáticas son “e” (la base del logaritmo natural) y “pi” (la razón entre la circunferencia de un círculo y su diámetro). Estas dos constantes se requieren a menudo en los cálculos y operaciones anteriores. Por lo tanto, la clase de matemáticas en Java proporciona estas dos constantes como campos dobles:

  • Matemáticas.E – tener un valor de 2.718281828459045
  • Matemáticas.PI – tener un valor de 3.141592653589793

Echemos un vistazo a la tabla a continuación que muestra la Métodos básicos y sus descripciones:

MétodoMareas Ideales para Lecciones Argumentos
absDevuelve el valor absoluto del argumento.Double, flotante, int, largo
redondoDevuelve el entero o el valor largo más cercano (según el argumento).doble o flotante
ceilFunción de techo matemático en Java devuelve el número entero más pequeño que es mayor o igual que el argumentoDouble
pisoJava El método Floor devuelve el número entero más grande que es menor o igual que el argumento.Double
minDevuelve el menor de los dos argumentos.Double, flotante, int, largo
maxDevuelve el mayor de los dos argumentos.Double, flotante, int, largo

A continuación se muestra la implementación del código de los métodos mencionados anteriormente.

Nota: No es necesario importar explícitamente java.lang.Math, ya que se importa implícitamente. Todos sus métodos son estáticos.

Variables enteras:

int i1 = 27;
int i2 = -45;

Double variables (decimales):

double d1 = 84.6;
double d2 = 0.45;

Java Método matemático abs() con ejemplo

El Java El método Math abs() devuelve el valor absoluto del argumento.

public class Guru99 {
 public static void main(String args[]) {
  int i1 = 27;
  int i2 = -45;
  double d1 = 84.6;
  double d2 = 0.45;
  System.out.println("Absolute value of i1: " + Math.abs(i1));
  System.out.println("Absolute value of i2: " + Math.abs(i2));
  System.out.println("Absolute value of d1: " + Math.abs(d1));
  System.out.println("Absolute value of d2: " + Math.abs(d2));
 }
}

Rendimiento esperado:

Absolute value of i1: 27
Absolute value of i2: 45
Absolute value of d1: 84.6
Absolute value of d2: 0.45

Java Método Math.round() con ejemplo

El método Math.round() en Java Devuelve el entero o el número largo más cercano según el argumento. A continuación se muestra un ejemplo de Math.round. Java método.

public class Guru99 {
 public static void main(String args[]) {
  double d1 = 84.6;
  double d2 = 0.45;
  System.out.println("Round off for d1: " + Math.round(d1));
  System.out.println("Round off for d2: " + Math.round(d2));
 }
}

Rendimiento esperado:

Round off for d1: 85
Round off for d2: 0

Java Métodos Math.ceil() y Math.floor() con ejemplo

Los métodos Math.ceil() y Math.floor() en Java Se utilizan para devolver el entero más pequeño y el más grande que sean mayores o iguales (y menores o iguales) al argumento, respectivamente. A continuación se muestran el límite inferior y superior de Math. Java ejemplo.

public class Guru99 {
 public static void main(String args[]) {
  double d1 = 84.6;
  double d2 = 0.45;
  System.out.println("Ceiling of '" + d1 + "' = " + Math.ceil(d1));
  System.out.println("Floor of '" + d1 + "' = " + Math.floor(d1));
  System.out.println("Ceiling of '" + d2 + "' = " + Math.ceil(d2));
  System.out.println("Floor of '" + d2 + "' = " + Math.floor(d2));
 }
}

Obtendremos la siguiente salida de Math.ceil en Java ejemplo.

Rendimiento esperado:

Ceiling of '84.6' = 85.0
Floor of '84.6' = 84.0
Ceiling of '0.45' = 1.0
Floor of '0.45' = 0.0

Java Métodos Math.min() y Math.max() con ejemplo

El Java El método Math.min() devuelve el menor de los dos argumentos, mientras que Math.max() devuelve el mayor de los dos argumentos.

public class Guru99 {
 public static void main(String args[]) {
  int i1 = 27;
  int i2 = -45;
  double d1 = 84.6;
  double d2 = 0.45;
  System.out.println("Minimum out of '" + i1 + "' and '" + i2 + "' = " + Math.min(i1, i2));
  System.out.println("Maximum out of '" + i1 + "' and '" + i2 + "' = " + Math.max(i1, i2));
  System.out.println("Minimum out of '" + d1 + "' and '" + d2 + "' = " + Math.min(d1, d2));
  System.out.println("Maximum out of '" + d1 + "' and '" + d2 + "' = " + Math.max(d1, d2));
 }
}

Rendimiento esperado:

Minimum out of '27' and '-45' = -45
Maximum out of '27' and '-45' = 27
Minimum out of '84.6' and '0.45' = 0.45
Maximum out of '84.6' and '0.45' = 84.6

Java Métodos exponenciales y logarítmicos en matemáticas

Más allá de los métodos básicos, el Java La clase de matemáticas también incluye operaciones exponenciales y logarítmicas. La siguiente tabla muestra estos métodos y sus descripciones.

MétodoMareas Ideales para Lecciones Argumentos
expDevuelve la base del logaritmo natural (e) elevado a la potencia del argumento.Double
logDevuelve el registro natural del argumento.doble
prisionero de guerraToma 2 argumentos como entrada y devuelve el valor del primer argumento elevado a la potencia del segundo argumento.Double
pisoJava piso de matemáticas devuelve el número entero más grande que es menor o igual que el argumentoDouble
sqrtDevuelve la raíz cuadrada del argumento.Double

A continuación se muestra la implementación del código de los métodos anteriores (se utilizan las mismas variables que antes).

public class Guru99 {
 public static void main(String args[]) {
  double d1 = 84.6;
  double d2 = 0.45;
  System.out.println("exp(" + d2 + ") = " + Math.exp(d2));
  System.out.println("log(" + d2 + ") = " + Math.log(d2));
  System.out.println("pow(5, 3) = " + Math.pow(5.0, 3.0));
  System.out.println("sqrt(16) = " + Math.sqrt(16));
 }
}

Rendimiento esperado:

exp(0.45) = 1.568312185490169
log(0.45) = -0.7985076962177716
pow(5, 3) = 125.0
sqrt(16) = 4.0

Java Métodos trigonométricos matemáticos

El Java La clase de matemáticas también ofrece soporte para operaciones trigonométricas. La siguiente tabla muestra estos métodos y sus descripciones.

MétodoMareas Ideales para Lecciones Argumentos
el pecadoDevuelve el seno del argumento especificado.Double
carroDevuelve el coseno del argumento especificado.doble
broncearseDevuelve la tangente del argumento especificado.Double
atan2Convierte coordenadas rectangulares (x, y) a polares (r, theta) y devuelve theta.Double
a GradosConvierte el argumento a gradosDouble
sqrtDevuelve la raíz cuadrada del argumento.Double
RadianesConvierte el argumento a radianes.Double

Los argumentos predeterminados están en radianes. A continuación se muestra la implementación del código.

public class Guru99 {
 public static void main(String args[]) {
  double angle_30 = 30.0;
  double radian_30 = Math.toRadians(angle_30);
  System.out.println("sin(30) = " + Math.sin(radian_30));
  System.out.println("cos(30) = " + Math.cos(radian_30));
  System.out.println("tan(30) = " + Math.tan(radian_30));
  System.out.println("Theta = " + Math.atan2(4, 2));
 }
}

Rendimiento esperado:

sin(30) = 0.49999999999999994
cos(30) = 0.8660254037844387
tan(30) = 0.5773502691896257
Theta = 1.1071487177940904

Ahora, con los métodos anteriores, también puedes diseñar tu propia calculadora científica en Java.

Preguntas Frecuentes

Java Math es una clase de utilidad final en java.lang que proporciona métodos estáticos para operaciones numéricas comunes, incluyendo valor absoluto, redondeo, potencias, raíces, logaritmos y trigonometría, además de las constantes Math.PI y Math.E.

No. El paquete java.lang se importa implícitamente, por lo que los métodos Math siempre están disponibles. Para un código más conciso, agregue import static java.lang.Math.*; y llame a sqrt o pow sin el prefijo Math.

Math.ceil devuelve el entero más pequeño mayor o igual que el argumento, mientras que Math.floor devuelve el entero más grande menor o igual que el argumento. Ambos devuelven un valor de tipo double, por lo que 4.2 se convierte en 5.0 o 4.0 respectivamente.

Todos los métodos trigonométricos esperan radianes, no grados. Convierta primero con Math.toRadians(30) antes de llamar a sin, cos o tan. De lo contrario, el método interpreta 30 como 30 radianes y devuelve un valor muy diferente.

Java No tiene un operador de exponente dedicado. El circunflejo ^ es una operación XOR bit a bit, no una exponenciación. Use Math.pow(base, exponente) para potencias. Para cuadrados enteros, multiplicar x * x es más rápido que llamar a Math.pow.

Utilice Math.addExact siempre que un desbordamiento represente un error real, como en el caso de contadores, totales financieros o aritmética de índices. Lanza una ArithmeticException en lugar de envolverping En silencio, haciendo que los resultados incorrectos sean evidentes y fáciles de detectar.

Bibliotecas de aprendizaje automático en Java Se utilizan Math.exp para softmax, Math.log para la pérdida de entropía cruzada, Math.sqrt para las métricas RMS y Math.tanh para las funciones de activación. Los marcos de cálculo vectorial procesan estas llamadas en lotes a través de matrices para el entrenamiento y la inferencia.

Sí. GitHub Copilot genera automáticamente llamadas a métodos matemáticos, conversiones de radianes y operaciones aritméticas seguras contra desbordamientos a partir de un comentario que describe la fórmula. RevVea cada sugerencia para casos límite numéricos como la división por cero o la pérdida de precisión antes de enviarping.

Resumir este post con: