Math-luokan perusteet
Käytä Math.abs-, Math.pow-, Math.sqrt-, Math.random- ja muita usein tarvittavia Math-metodeja.
Math-luokan perusteet on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 4 oppituntia.
Math-luokka
java.lang.Math-luokka tarjoaa staattisia apumetodeja yleisiä matemaattisia operaatioita varten. Se on aina käytettävissä, joten import-lausetta ei tarvita.
Itseisarvo ja etumerkki
Math.abs() palauttaa itseisarvon eli epänegatiivisen arvon. Math.signum() palauttaa arvon -1.0, 0.0 tai 1.0 etumerkin perusteella.
System.out.println(Math.abs(-42)); // 42
System.out.println(Math.abs(3.14)); // 3.14
System.out.println(Math.signum(-5.0)); // -1.0
System.out.println(Math.signum(0.0)); // 0.0
System.out.println(Math.signum(7.0)); // 1.0Potenssit, neliöjuuri ja kuutiojuuri
Käyttäkää potensseihin Math.pow(base, exp)-metodia, neliöjuuriin Math.sqrt()-metodia ja kuutiojuuriin Math.cbrt()-metodia.
System.out.println(Math.pow(2, 10)); // 1024.0
System.out.println(Math.sqrt(144)); // 12.0
System.out.println(Math.cbrt(27)); // 3.0
// Hypotenuse of a right triangle (a=3, b=4)
double hyp = Math.sqrt(Math.pow(3, 2) + Math.pow(4, 2));
System.out.println(hyp); // 5.0Pienin, suurin ja rajoittaminen
Math.min() ja Math.max() palauttavat kahdesta arvosta pienemmän tai suuremman. Yhdistämällä ne voi toteuttaa rajoituksen, joka pitää arvon tietyllä välillä.
int a = 10, b = 20;
System.out.println(Math.min(a, b)); // 10
System.out.println(Math.max(a, b)); // 20
// Clamp value between 0 and 100
int clamp(int value, int min, int max) {
return Math.max(min, Math.min(value, max));
}
System.out.println(clamp(150, 0, 100)); // 100
System.out.println(clamp(-5, 0, 100)); // 0
System.out.println(clamp(75, 0, 100)); // 75Alaspäin pyöristys, ylöspäin pyöristys ja pyöristys
Math.floor() pyöristää alaspäin, Math.ceil() ylöspäin ja Math.round() lähimpään kokonaislukuun (puolikkaat ylöspäin).
double price = 9.3;
System.out.println(Math.floor(price)); // 9.0
System.out.println(Math.ceil(price)); // 10.0
System.out.println(Math.round(price)); // 9
double shipping = 3.5;
System.out.println(Math.round(shipping)); // 4 (half-up)
// Round to 2 decimal places
double tax = 7.5678;
double rounded = Math.round(tax * 100.0) / 100.0;
System.out.println(rounded); // 7.57Logaritmit ja eksponenttifunktiot
Math.log() laskee luonnollisen logaritmin (kantaluku e), Math.log10() kymmenkantaisen logaritmin ja Math.exp() arvon e^x.
System.out.println(Math.log(Math.E)); // 1.0
System.out.println(Math.log10(1000)); // 3.0
System.out.println(Math.exp(1)); // 2.718281828...
// Change of base: log2(8)
double log2 = Math.log(8) / Math.log(2);
System.out.println(log2); // 3.0
// Compound interest: P * e^(r*t)
double principal = 1000, rate = 0.05, years = 10;
double amount = principal * Math.exp(rate * years);
System.out.printf("Amount: %.2f%n", amount); // 1648.72Trigonometriset metodit
Math tarjoaa trigonometriset funktiot, jotka käyttävät kulmayksikkönä radiaaneja. Muuntakaa asteet radiaaneiksi käyttämällä Math.toRadians()-metodia.
double angle = Math.toRadians(45);
System.out.printf("sin(45): %.4f%n", Math.sin(angle)); // 0.7071
System.out.printf("cos(45): %.4f%n", Math.cos(angle)); // 0.7071
System.out.printf("tan(45): %.4f%n", Math.tan(angle)); // 1.0000
// Distance between two GPS coordinates (simplified)
double lat1 = Math.toRadians(40.7128);
double lat2 = Math.toRadians(34.0522);
double deltaLat = lat2 - lat1;
System.out.printf("Delta lat (rad): %.4f%n", deltaLat);Satunnaisluvut
Math.random() palauttaa double-arvon välillä [0.0, 1.0). Kokonaislukujen saamiseksi tietyltä väliltä kertokaa arvo sopivalla luvulla ja tehkää tyyppimuunnos. Parempaa satunnaisuutta tarvittaessa käyttäkää mieluummin java.util.Random-luokkaa.
// Random double [0.0, 1.0)
double rand = Math.random();
// Random int [min, max] inclusive
int min = 1, max = 6;
int dice = (int) (Math.random() * (max - min + 1)) + min;
System.out.println("Dice roll: " + dice); // 1–6
// Prefer java.util.Random for more features
import java.util.Random;
Random rng = new Random();
int secureRoll = rng.nextInt(6) + 1; // cleaner API
System.out.println("Secure roll: " + secureRoll);Vakiot: PI ja E
Math.PI ja Math.E ovat double-vakioita, jotka vastaavat lukuja π ja Eulerin lukua e. Käyttäkää niitä geometrisissa ja taloudellisissa laskutoimituksissa.
System.out.println(Math.PI); // 3.141592653589793
System.out.println(Math.E); // 2.718281828459045
// Circle area and circumference
double radius = 7.0;
double area = Math.PI * Math.pow(radius, 2);
double circumference = 2 * Math.PI * radius;
System.out.printf("Area: %.2f%n", area); // 153.94
System.out.printf("Circumference: %.2f%n", circumference); // 43.98Math.floorDiv ja Math.floorMod
Math.floorDiv() ja Math.floorMod() käsittelevät negatiivisia lukuja johdonmukaisesti. Tämä poikkeaa operaattoreista / ja %, jotka voivat antaa yllättäviä tuloksia negatiivisilla luvuilla.
// Regular % can be negative with negative dividend
System.out.println(-7 % 3); // -1 (may surprise you)
System.out.println(Math.floorMod(-7, 3)); // 2 (always non-negative)
// Floor division rounds toward negative infinity
System.out.println(-7 / 3); // -2 (truncates toward zero)
System.out.println(Math.floorDiv(-7, 3)); // -3 (floors down)
// Use floorMod for cyclic calculations like days of week
int day = Math.floorMod(-1, 7); // Sunday (6), not -1
System.out.println(day); // 6Käytännössä: etäisyys ja fysiikka
Math-metodien soveltaminen fysiikan ongelmaan: ammuksen lentomatkan laskeminen trigonometriaa ja neliöjuuria käyttämällä.
// Projectile range: R = v^2 * sin(2*angle) / g
double velocity = 50.0; // m/s
double angleDeg = 45.0; // degrees
double g = 9.81; // m/s^2
double angleRad = Math.toRadians(angleDeg);
double range = Math.pow(velocity, 2) * Math.sin(2 * angleRad) / g;
System.out.printf("Projectile range: %.1f m%n", range); // 254.8 mPikakysymys
Mikä on lausekkeen Math.floorMod(-7, 3) tulos?
Kertaus: Math-luokka
Keskeiset opit:
- Math.abs, Math.min ja Math.max perusvertailuihin
- Math.pow, Math.sqrt ja Math.cbrt potensseihin ja juuriin
- Math.floor, Math.ceil ja Math.round pyöristämiseen
- Math.log, Math.log10 ja Math.exp logaritmeihin ja eksponenttifunktioihin
- Math.sin, Math.cos ja Math.tan käyttävät radiaaneja — muuntakaa asteet Math.toRadians-metodilla
- Math.floorMod käsittelee negatiivisia lukuja siististi jaksollisessa aritmetiikassa
- Math.PI ja Math.E ovat sisäänrakennettuja vakioita
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”Math-luokan perusteet” ilmainen?
Kyllä – oppitunnin ”Math-luokan perusteet” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Math-luokan perusteet”?
Käytä Math.abs-, Math.pow-, Math.sqrt-, Math.random- ja muita usein tarvittavia Math-metodeja. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Math-luokan perusteet”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Math-luokan perusteet
- Kokonaislukulaskenta ja ylivuoto
- BigDecimal talouslaskennassa
- NumberFormat ja printf