Tyyppimuunnos
Pyyhkäise näyttääksesi valikon
Java-kielessä jokaisella arvolla on tietty tyyppi, ja joskus arvo täytyy muuntaa tyypistä toiseen. Tätä kutsutaan tyyppimuunnokseksi.
Tyyppimuunnoksia on kahta tyyppiä:
- Epäsuora muunnos;
- Suora muunnos.
Epäsuora muunnos
Epäsuora muunnos tapahtuu, kun Java automaattisesti muuntaa pienemmän tyypin suuremmaksi tyypiksi. Tämä on turvallista, koska tietoa ei häviä:
int lattePrice = 5;
double priceDecimal = lattePrice; // becomes 5.0
Tämä toimii, koska suurempi tyyppi kuten double voi helposti sisältää kaiken, mitä pienempi tyyppi kuten int voi.
Suora muunnos
Suora muunnos tapahtuu, kun suurempi tyyppi muunnetaan manuaalisesti pienemmäksi tyypiksi. Tämä on tarpeen, koska tietoa voi kadota muunnoksen aikana:
double lattePrice = 4.99;
int roundedPrice = (int) lattePrice; // becomes 4
Java poistaa desimaaliosan ja tallentaa vain arvon 4. Toisin kuin epäsuorassa muunnoksessa, tämä täytyy kirjoittaa käsin muodossa (type).
Helppo muistisääntö:
- pieni → suuri = automaattinen;
- suuri → pieni = manuaalinen.
Esimerkki
Main.java
1234567891011121314151617package com.example; public class Main { public static void main(String[] args) { int lattePrice = 5; // implicit casting double priceDecimal = lattePrice; System.out.println(priceDecimal); // 5.0 // explicit casting double realPrice = 4.99; int roundedPrice = (int) realPrice; System.out.println(roundedPrice); // 4 } }
Esimerkissä int muunnetaan ensin epäsuorasti double-tyyppiin — Java tekee tämän automaattisesti ja tulokseksi saadaan 5.0. Tämän jälkeen muunnetaan double eksplisiittisesti int-tyyppiin käyttämällä (int), jolloin desimaaliosa poistuu ja tulostetaan 4.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme