Type Casting
Sveip for å vise menyen
I Java har hver verdi en spesifikk type, og noen ganger må vi konvertere en verdi fra én type til en annen. Dette kalles typekonvertering.
Det finnes to typer konvertering:
- Implisitt konvertering;
- Eksplisitt konvertering.
Implisitt konvertering
Implisitt konvertering skjer når Java automatisk konverterer en mindre type til en større type. Dette er trygt fordi ingen data går tapt:
int lattePrice = 5;
double priceDecimal = lattePrice; // becomes 5.0
Dette fungerer fordi en større type som double enkelt kan inneholde alt en mindre type som int kan.
Eksplisitt konvertering
Eksplisitt konvertering skjer når en større type manuelt konverteres til en mindre type. Dette er nødvendig fordi data kan gå tapt under konverteringen:
double lattePrice = 4.99;
int roundedPrice = (int) lattePrice; // becomes 4
Java fjerner desimaldelen og lagrer kun 4. I motsetning til implisitt konvertering må dette skrives manuelt ved å bruke (type).
En enkel huskeregel:
- liten → stor = automatisk;
- stor → liten = manuell.
Eksempel
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 } }
Eksemplet kaster først int til double implisitt — Java gjør dette automatisk, og resultatet blir 5.0. Deretter kaster vi eksplisitt double til int ved å bruke (int), som fjerner desimalen og skriver ut 4.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår