WEBVTT

00:00.440 --> 00:01.550
Welkom terug.

00:01.550 --> 00:05.180
In deze video praten we over typecasting in Java.

00:05.540 --> 00:11.670
Typecasting is het omzetten van een waarde van het ene gegevenstype naar het andere.

00:11.690 --> 00:20.510
Soms moeten we een waarde converteren naar een ander gegevenstype om bepaalde bewerkingen of opdrachten uit te voeren.

00:20.540 --> 00:29.180
Java ondersteunt twee typen typecasting impliciet, wat automatisch type casting is, en expliciet,

00:29.180 --> 00:32.150
wat handmatig type casting is.

00:32.180 --> 00:36.200
Laten we beginnen met de impliciete type casting.

00:36.290 --> 00:45.980
Impliciet type casting gebeurt automatisch als de conversie veilig is en niet resulteert in gegevensverlies.

00:46.010 --> 00:56.690
Dit gebeurt bijvoorbeeld wanneer een waarde van een kleiner gegevenstype wordt toegewezen aan een variabele van een groter gegevenstype.

00:57.850 --> 01:02.770
Laten we een variabele maken genaamd num int gelijk aan tien.

01:04.190 --> 01:05.300
Ik heb nodig.

01:06.200 --> 01:09.470
Werp dit nummer.

01:10.380 --> 01:11.780
In een dubbele.

01:11.790 --> 01:17.520
Dus bijvoorbeeld, num dubbel gelijk aan num.

01:17.520 --> 01:23.070
En ik maak een variabele genaamd num double.

01:24.640 --> 01:34.960
En ik wijs de waarde toe aan het num einde zodat de num dubbel de waarde krijgt.

01:34.960 --> 01:35.540
Tien.

01:35.560 --> 01:45.760
Dus in dit voorbeeld wordt de gehele waarde tien impliciet gecast naar de dubbele waarde 10. 00.

01:45.910 --> 01:51.700
Oké, dus het wordt nu 10. 0 omdat het een dubbele en een dubbele is.

01:52.830 --> 02:00.460
Het bevat de decimale komma, omdat double grotere decimale waarden aankan.

02:00.480 --> 02:06.630
Het is veilig om een geheel getal te converteren naar een dubbel zonder gegevensverlies.

02:06.630 --> 02:17.190
Dus in dit voorbeeld wordt het automatisch geconverteerd van geheel getal naar dubbel, omdat er geen gegevensverlies is.

02:17.400 --> 02:22.090
Laten we het nu hebben over de expliciete type casting.

02:22.110 --> 02:31.050
Expliciet type casting vereist dat de ontwikkelaar handmatig een waarde converteert van het ene gegevenstype naar het andere.

02:31.950 --> 02:41.670
Het is nodig wanneer we een waarde willen converteren van een groter gegevenstype naar een kleiner gegevenstype, of wanneer

02:41.670 --> 02:44.400
er een kans is op gegevensverlies.

02:44.430 --> 02:45.840
Bijvoorbeeld.

02:46.890 --> 02:57.390
Laat me hier een dubbel getal of pi maken dat gelijk is aan 3. 40.

02:58.710 --> 03:09.870
Ik moet deze pi omzetten naar een geheel getal, dus ik maak een int num pi gelijk aan.

03:10.880 --> 03:11.570
Taart.

03:13.410 --> 03:23.710
Oké, hier is een fout opgetreden omdat ik een geheel getal moet opgeven en geen dubbele.

03:23.730 --> 03:25.290
Er is dus een fout.

03:25.470 --> 03:32.650
De oplossing voor dit probleem is door handmatig naar end te casten.

03:32.670 --> 03:43.800
Dus ik converteer de waarde hier, giet het om naar een geheel getal en sla het op in een variabele van het

03:43.800 --> 03:46.830
type int genaamd numpy.

03:46.860 --> 03:51.540
Dus ik converteer dit naar een geheel getal.

03:51.840 --> 03:54.090
Waar is het gegevensverlies?

03:54.420 --> 04:03.630
Ja, er is een gegevensverlies waarbij het dubbele 3 is. 14 bij het converteren naar een int.

04:03.660 --> 04:12.120
De punt, het decimaalteken en het gedeelte achter de komma van deze pi worden verwijderd.

04:12.120 --> 04:21.970
Dus deze numpy zal de waarde drie opslaan zonder decimale punt of decimaal deel.

04:22.090 --> 04:26.740
Oké, dus dit resulteert in gegevensverlies.

04:26.740 --> 04:28.600
Dus daarvoor is het.

04:29.200 --> 04:33.340
Expliciete type casting en het wordt handmatig gedaan.

04:33.730 --> 04:41.770
Let altijd op bij het maken van expliciete typecasting voor de gegevens die verloren gaan tijdens de conversie.

04:41.770 --> 04:48.520
Soms moeten we waarden converteren tussen verschillende gegevenstypes om bewerkingen uit te voeren.

04:48.940 --> 04:51.820
Laten we overgaan op dit belangrijke onderwerp.

04:51.850 --> 04:55.300
Type casting tussen verschillende gegevenstypen.

04:55.660 --> 05:01.540
Ik heb bijvoorbeeld een int num en gelijk aan vijf.

05:01.870 --> 05:06.370
En of in mijn int.

05:07.180 --> 05:10.510
Het is goed omdat we al eerder hebben gecreëerd.

05:13.190 --> 05:19.640
En ik heb hier een personage genaamd mijn char gelijk aan.

05:21.250 --> 05:21.610
H.

05:24.070 --> 05:28.600
Oké, zo maken we tekens in Java.

05:28.840 --> 05:30.510
We hebben het eerder geleerd.

05:30.520 --> 05:39.220
Nu moet ik vijf toevoegen aan dit personage A hoe doe ik dat?

05:39.520 --> 05:47.650
Ik begin met num int of mijn int de variabele plus a.

05:48.580 --> 05:53.710
Oké, dit is hoe we nummer toevoegen aan een teken.

05:53.860 --> 05:57.430
Maar wacht, je vertelde me dat het een personage is.

05:57.430 --> 06:04.170
Ik moet een optelling maken tussen het teken en de getallen.

06:04.180 --> 06:05.560
Ja.

06:05.560 --> 06:15.100
In dit voorbeeld voegen we de gehele waarde vijf toe aan de Ascii-waarde van het teken A, die 65 is.

06:15.130 --> 06:20.710
In de Ascii-tabel is de waarde van A 65.

06:20.920 --> 06:28.040
Nadat we ze bij elkaar hebben opgeteld, casten we het resultaat expliciet naar een karaktertype.

06:28.040 --> 06:41.030
Dus ik cast het naar auto en hier zal het resultaat een waarde van 70 zijn, die verwijst naar hoofdletter F.

06:41.030 --> 06:48.890
Dus laat me je systeem uit dot print zien en ik moet mijn personage afdrukken.

06:48.890 --> 06:54.830
Als we het programma vanaf hier uitvoeren met de methode run main, dan levert dat ons het volgende op.

06:54.860 --> 06:56.330
Het zal ons geven.

06:57.170 --> 07:02.390
Letter F, die 70 is in de Ascii-tabel.

07:02.810 --> 07:11.000
Typecasting in Java is een krachtige functie waarmee we met verschillende gegevenstypen kunnen werken en een grote verscheidenheid

07:11.000 --> 07:14.450
aan taken in onze programma's kunnen uitvoeren.

07:14.450 --> 07:17.570
Het is echter essentieel om het te gebruiken.

07:18.460 --> 07:27.940
Wees voorzichtig en wees je bewust van mogelijk gegevensverlies of problemen met bezit bij het uitvoeren van expliciete type casting.
