Rumah >Java >javaTutorial >Jenis Penukaran dalam Java
Setelah pembolehubah dan pemalar pelbagai jenis akan disatukan dalam ungkapan, ia boleh ditukar kepada jenis yang serupa. Teknik menukar satu jenis yang dipratentukan kepada satu sama lain dikenali sebagai penukaran jenis dalam Java.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Terdapat 2 jenis penukaran berbeza yang kami gunakan dalam bahasa pengaturcaraan.
Jika penukaran jenis dijalankan serta-merta melalui pengkompil tanpa penglibatan pengaturcara, penukaran jenis dikenali sebagai penukaran jenis tersirat. Pengkompil secara asasnya menggalakkan setiap operan ke arah jenis data operan terbesar.Tiada kehilangan data berlaku sepanjang penukaran data.Tiada peluang untuk membuang pengecualian melalui penukaran dan oleh itu dikenali sebagai jenis-selamat. Penukaran kuantiti bersaiz lebih kecil nombor yang terlalu besar boleh menjadi penukaran tersirat. Transformasi data jenis integer kepada terapung.
float i=0; int j=10; i=j;
// Ini boleh menjadi transformasi tersirat kerana apungan boleh lebih besar daripada integer, oleh itu tiada kekurangan data Dan juga tidak terkecuali.
Penukaran jenis, yang boleh dikuatkuasakan melalui pengaturcara, dikenali sebagai penukaran jenis eksplisit. pada asasnya, pengaturcara membuat ungkapan untuk menjadi jenis tertentu. Transformasi jenis eksplisit boleh dikenali sebagai typecasting. Kehilangan data mungkin atau mungkin tidak berlaku semasa penukaran data. Oleh itu, wujud kebarangkalian kehilangan butiran. ia boleh menimbulkan ralat jika ia mungkin cuba melakukan tanpa taip. Transformasi nombor yang lebih besar kepada nombor bersaiz lebih kecil boleh menjadi penukaran eksplisit.
float k=123.456 int i= (int) k
// ini boleh menjadi Penukaran eksplisit serta (int) adalah taip, pengendali. Pada ketika ini, kami mungkin berjaya melepaskan diri daripada pengecualian, tetapi anda boleh menemui kehilangan data yang boleh dilihat. iaitu i=123
// .456 boleh digugurkan dalam proses penukaran
Seperti bahasa pengaturcaraan lain, terdapat 2 jenis penukaran dalam java:
Contoh penukaran jenis yang dinyatakan di bawah secara terperinci:
Kod:
Kami mempunyai atur cara mudah di sini, beberapa pengisytiharan di bahagian atas, terapung, berganda, bait, pendek dan panjang, dan setiap pembolehubah dinamakan untuk membantu mengenal pasti jenis apungan itu ialah floatVal,
Kod:
long is longVal
Kod:
Dan program hanya mencetak mesej Kejayaan jika ia dijalankan.
Jadi mari kita lihat bagaimana beberapa penukaran jenis dimainkan di sini. Jadi mari kita mula-mula sekali, mari kita teruskan dan buat pembolehubah. Kami mempunyai pendek, dan kami hanya akan memanggilnya sebagai hasilnya.
Malah, mari kita teruskan dan panggil ia hasil1. Dan mari kita buat tugasan yang mudah. Dan pertama sekali, kami hanya akan menetapkan byteVal kepadanya. Sekarang, seperti yang kita jangkakan, jika kita meneruskan dan menjalankan ini, jadi jalankan dengan jayanya.
Kod:
Output:
Kami tahu itu adalah tugasan yang sah kerana bait boleh ditetapkan menjadi pendek kerana itu ialah penukaran yang semakin meluas.
Jika kita mengambil byteVal ini, dan sebaliknya kita menjadikannya longVal, jadi sekarang ia sebenarnya panjang; jika kami menjalankan ini, kami mendapat mesej ralat di sini yang mengatakan jenis tidak serasi, kemungkinan kehilangan penukaran dari panjang ke pendek.
Kod:
Jadi apa yang boleh kita lakukan di sini ialah kita boleh melakukan pelakon yang jelas. Kami hanya akan meletakkan pendek di hadapan ini. Jadi sekarang ia sah, jadi kami boleh menjalankannya.
Kod:
Dan, sudah tentu, ia berkesan. Kerana panjang tidak boleh menjadi pendek kerana itu adalah penukaran yang menyempit.
Output:
Tetapi dengan meletakkan pelakon yang jelas di hadapannya, kini ia sah. Jika kami mahu, kami boleh meletakkan notasi cast menjadi sangat eksplisit dan mengatakan bahawa anda tahu, kami tahu walaupun penukaran bait adalah sah, kami ingin menunjukkan secara eksplisit bahawa kami menghantarnya dengan meletakkan cast pendek di sana, kami boleh lakukan itu, dan itu sah sepenuhnya.
Kod:
Output:
Jadi sekarang, mari kita lihat senario lain. Kami akan mencipta pembolehubah lain yang akan kami panggil result2, dan result2 juga pendek. Dan apa yang kami mahu lakukan di sini ialah kami hanya akan mengambil byteVal kami, dan kami mahu menolak longVal. Sekarang kita tahu itu tidak sah kerana hasil ungkapan itu akan menjadi saiz integer terbesar di dalamnya, iaitu panjangnya.
Kod:
Jadi jika kami menjalankan ini, kami mendapat ralat yang mengatakan bahawa tidak sah untuk menukar panjang kepada pendek.
Tetapi katakan kita mahu meneruskan dan memastikan keputusan itu singkat. Kita perlu membuat lakonan. Tetapi kami mahu membuang kali ini sebagai nilai keseluruhan hasil di sini. Jadi apa yang akan kita lakukan ialah meletakkan pelakon pendek di hadapannya di sini.
Letakkan pelakon pendek di hadapannya di sini. Dan bungkus semuanya dalam kurungan. Dan jalankannya.
Kod:
Ia akan berjalan dengan jayanya.
Output:
Sekarang isytiharkan pembolehubah lain yang dipanggil result3, tetapi isytiharkan pembolehubah ini sebagai panjang. Jadi mendapat keputusan 3, dan apa yang akan kami lakukan di sini ialah kami akan menetapkan longVal kami - floatVal. Oleh itu, kami menjalankannya, ralat kehilangan penukaran menukar daripada terapung kepada panjang kerana apabila kami mempunyai jenis integer dan sebarang jenis titik terapung, hasilnya akan menjadi jenis titik terapung.
Kod:
Jadi mari kita teruskan dan tukar hasil kita sekarang kepada apungan. Jadi dengan menjadikan apungan itu, kita sepatutnya dapat meneruskan dan menjalankannya. Dan berjalan dengan jayanya.
Kod:
Output:
Tetapi sekarang, jika kita mengambil floatVal di sini dan kita menukar ini menjadi doubleVal, dan jika kita cuba menjalankan ini, kita mendapat ralat kerana ia mengatakan hasilnya akan menjadi dua kali ganda kerana apabila anda melakukan integer dan titik terapung, ia ialah saiz titik terapung terbesar dalam persamaan.
Kod:
Jadi mari kita teruskan dan jadikan keputusan ini berganda, jadi sekarang kita boleh menjalankannya.
Kod:
Output:
1. Pembolehubah ditaip dengan kuat dalam Java
2. Jenis primitif
3. Jenis penukaran
Atas ialah kandungan terperinci Jenis Penukaran dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!