Java Math – ceil() Floor() metódusok

⚡ Okos összefoglaló

Java A Math Class (java.lang.Math) statikus metódusokat kínál abszolútérték-, kerekítési, felső határ-, alsó határ-, minimum-, maximum-, exponenciális, logaritmikus és trigonometrikus műveletekhez. Ezek a beépített függvények helyettesítik a kézi számítást, lehetővé téve a pontos tudományos számítást közvetlenül bármely Java program.

  • 🔢 Állandók: A Math.E (2.718281828459045) és a Math.PI (3.141592653589793) dupla mezőként jelenik meg logaritmikus és geometriai képletekhez.
  • 📏 Kerekítő család: Az abs() függvények nagyságot, a round() függvények a legközelebbi egész számot adják vissza, míg a ceil() és floor() függvények egész számra kerekítenek felfelé és lefelé.
  • 🇧🇷 Összehasonlítási módszerek: A min() és max() függvények két numerikus argumentum közül a kisebbet vagy a nagyobbat adják vissza int, long, float és double típusokon keresztül.
  • 📈 Haladó matematika: Az exp(), log(), pow() és sqrt() függvények exponenciális, logaritmikus, hatvány- és négyzetgyökszámításokat kezelnek dupla értékeken.
  • 📐 Trigonometria: A sin(), cos(), tan(), atan2(), toRadians() és toDegrees() függvények radiánban működnek szögalapú számításoknál.

Java Matematikai ceil() és floor() metódusok

Mi a Java Matekóra?

Java számos haladó felhasználási alkalmazással rendelkezett, beleértve az összetett számítások elvégzését a fizikában, az építészetben és a szerkezeti tervezésben, a térképekkel és a hozzájuk tartozó szélességi és hosszúsági fokokkal való munkát, és egyebeket.

Minden ilyen alkalmazás összetett számításokat és egyenleteket igényel, amelyek manuális végrehajtása fárasztó. Programozottan az ilyen számítások logaritmusok, trigonometria, exponenciális egyenletek és hasonló műveletek használatát foglalják magukban.

Java Matekóra

Most már nem lehet az összes napló- vagy trigonometriai táblát bekódolni valahol az alkalmazásban vagy az adatokban. Az adatok hatalmasak és bonyolultak lennének a karbantartásuk.

Java Egy nagyon hasznos osztályt biztosít erre a célra. Ez a Math Java osztály (java.lang.Math). Ez az osztály metódusokat biztosít olyan műveletek végrehajtására, mint az exponenciális, logaritmus, gyökszámítás és trigonometrikus egyenletek.

A matematika két legalapvetőbb eleme az „e” (a természetes logaritmus alapja) és a „pi” (a kör kerületének és átmérőjének aránya). Ez a két állandó gyakran szükséges a fenti számításokban és műveletekben. Ezért a Math osztály a Java ezt a két konstanst dupla mezőként adja meg:

  • Math.E – amelynek értéke 2.718281828459045
  • Math.PI – amelynek értéke 3.141592653589793

Vessünk egy pillantást az alábbi táblázatra, amely azt mutatja, hogy Alapvető módszerek és leírásuk:

MódszerLeírásérvek
absAz argumentum abszolút értékét adja eredményülDouble, float, int, long
körülVisszaadja a legközelebbi int vagy long értéket (az argumentum szerint).dupla vagy úszó
ceilMath ceil függvény be Java a legkisebb egész számot adja vissza, amely nagyobb vagy egyenlő, mint az argumentumDouble
emeletJava floor metódus azt a legnagyobb egész számot adja vissza, amely kisebb vagy egyenlő, mint az argumentumDouble
percA két argumentum közül a legkisebbet adja visszaDouble, float, int, long
maxA két argumentum közül a legnagyobbat adja visszaDouble, float, int, long

Az alábbiakban a fenti metódusok kódjának implementációja látható.

Jegyzet: Nincs szükség a java.lang.Math explicit importálására, mivel az implicit módon importálódik. Minden metódusa statikus.

Egész változók:

int i1 = 27;
int i2 = -45;

Double (decimális) változók:

double d1 = 84.6;
double d2 = 0.45;

Java Math abs() metódus példával

Az Java A matematikai abs() metódus az argumentum abszolút értékét adja vissza.

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));
 }
}

Várható teljesítmény:

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

Java Math.round() metódus példával

A Math.round() metódus a Java visszaadja az argumentumhoz legközelebbi int vagy long értéket. Az alábbiakban a Math.round példáját láthatjuk. Java módszer.

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));
 }
}

Várható teljesítmény:

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

Java Math.ceil() és Math.floor() metódusok példával

A Math.ceil() és Math.floor() metódusok a Java a legkisebb és legnagyobb egész számot adják vissza, amelyek nagyobbak vagy egyenlőek az argumentummal (és kisebbek vagy egyenlőek vele). Az alábbiakban a matematikai alsó és felső határ látható. Java példa.

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));
 }
}

A Math.ceil alábbi kimenetét fogjuk kapni: Java példa.

Várható teljesítmény:

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 Math.min() és Math.max() metódusok példával

Az Java A Math.min() metódus a két argumentum közül a legkisebbet adja vissza, míg a Math.max() metódus a két argumentum közül a legnagyobbat.

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));
 }
}

Várható teljesítmény:

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 Matematikai exponenciális és logaritmikus módszerek

Az alapvető módszereken túl a Java A matematikai órákon exponenciális és logaritmikus műveleteket is lehet végezni. Az alábbi táblázat ezeket a metódusokat és leírásukat mutatja.

MódszerLeírásérvek
expA természetes logaritmus (e) alapértékét adja vissza az argumentum hatványában.Double
logAz argumentum természetes logóját adja visszakétszeresére
powBemenetként 2 argumentumot vesz fel, és visszaadja az első felvetett argumentum értékét a második argumentum hatványáraDouble
emeletJava math floor azt a legnagyobb egész számot adja vissza, amely kisebb vagy egyenlő, mint az argumentumDouble
sqrtAz argumentum négyzetgyökét adja eredményülDouble

Az alábbiakban a fenti metódusok kódbeli implementációja látható (ugyanazokat a változókat használjuk, mint fent).

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));
 }
}

Várható teljesítmény:

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

Java Matematikai trigonometrikus módszerek

Az Java A matematikai órákon a trigonometrikus műveletek is támogatottak. Az alábbi táblázat ezeket a metódusokat és leírásukat mutatja.

MódszerLeírásérvek
bűnA megadott argumentum szinuszát adja vissza.Double
kocsiA megadott argumentum koszinuszát adja vissza.kétszeresére
ígyA megadott argumentum tangensét adja vissza.Double
atan2A derékszögű koordinátákat (x, y) poláris koordinátákká (r, théta) alakítja át, és thétát ad vissza.Double
fokigAz argumentumot fokokká alakítjaDouble
sqrtAz argumentum négyzetgyökét adja eredményülDouble
a radiánokhozAz argumentumot radiánná alakítja.Double

Az alapértelmezett argumentumok radiánban vannak megadva. Az alábbiakban a kód implementációja látható.

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));
 }
}

Várható teljesítmény:

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

A fenti módszerekkel most már saját tudományos számológépet is tervezhetsz Java.

GYIK

Java A Math egy utolsó hasznossági osztály a java.langban, amely statikus metódusokat biztosít a gyakori numerikus műveletekhez, beleértve az abszolútérték-számítást, kerekítést, hatványozást, gyökszámítást, logaritmust és trigonometriát, valamint a Math.PI és Math.E konstansokat.

Nem. A java.lang csomag implicit módon importálódik, így a Math metódusok mindig elérhetők. Rövidebb kódhoz add hozzá az import static java.lang.Math.*; metódust, és hívd meg az sqrt vagy a pow metódust a Math előtag nélkül.

A Math.ceil függvény a legkisebb, argumentumnál nagyobb vagy azzal egyenlő egész értéket adja vissza, míg a Math.floor függvény a legnagyobb, argumentumnál kisebb vagy azzal egyenlő egész értéket adja vissza. Mindkettő dupla értéket ad vissza, így a 4.2 értéke 5.0, illetve 4.0 lesz.

Minden trigonometrikus módszer radiánt vár, nem fokot. Először konvertáljuk a Math.toRadians(30) függvénnyel, mielőtt meghívnánk a sin, cos vagy tan értéket. Ellenkező esetben a metódus a 30-at 30 radiánként kezeli, és egy jelentősen eltérő értéket ad vissza.

Java nincs dedikált kitevő operátora. A kalap ^ bitenkénti XOR, nem hatványozás. Hatványokhoz használd a Math.pow(alap, kitevő) függvényt. Egész számok négyzetszámainak szorzása x * x függvényt gyorsabb, mint a Math.pow meghívása.

Használd a Math.addExact függvényt, ha egy túlcsordulás valódi hibát jelezne, például számlálóknál, pénzügyi összesítéseknél vagy indexaritmetikai műveleteknél. ArithmeticException kivételt dob ​​wrap helyett.ping csendben, így a helytelen eredmények hangosak és könnyen észrevehetők.

Gépi tanulási könyvtárak Java A softmaxhoz a Math.exp, a keresztentropia veszteséghez a Math.log, az RMS metrikákhoz a Math.sqrt, az aktivációs függvényekhez pedig a Math.tanh fájlokra támaszkodunk. A vektormatematikai keretrendszerek ezután ezeket a hívásokat tömbök között kötegelve dolgozzák fel a betanítás és a következtetés céljából.

Igen. A GitHub Copilot a képletet leíró megjegyzésből állítja fel a matematikai metódushívásokat, a radiánkonverziókat és a túlcsordulásbiztos aritmetikát. RevTekintse meg az összes javaslatot a numerikus szélső esetekre, például a nullával való osztásra vagy a pontosságvesztésre a szállítás előttping.

Foglald össze ezt a bejegyzést a következőképpen: