Bagaimana untuk Menukar panjang kepada int dalam Java

Bagaimana Untuk Menukar Panjang Kepada Int Dalam Java



Di Java, mungkin terdapat situasi tertentu di mana pembangun perlu menyimpan memori dengan berkesan. Sebagai contoh, memperuntukkan jenis data yang mempunyai julat nilai yang agak kecil atau menyingkirkan nilai tambahan. Dalam keadaan sedemikian, penukaran ' panjang ” kepada “ int” dalam Java berkuat kuasa dengan memperkemas operasi aritmetik, kerumitan kod, dan mengambil masa pelaksanaan yang agak kurang.

Artikel ini akan menghuraikan tentang menukar 'long' kepada 'int' dalam Java.

Apakah 'panjang' dan 'int' dalam Jawa?

' panjang ” taip dalam julat Java daripada “ -9223372036854775808 ” kepada “ 922337203685477580 'dan diperuntukkan' 64 ” bit. ' int 'jenis, bagaimanapun, menduduki' 32 ” bit daripada “ -2147483648 ” kepada “ 2147483647 ”. Ini membayangkan bahawa sebarang bilangan “ int 'jenis boleh disokong dengan mudah oleh ' panjang ” jenis tetapi ia tidak selalu berlaku pada kebanyakan masa.







Bagaimana untuk Menukar 'long' kepada 'int' Menggunakan Java?

Untuk menukar ' panjang ” kepada “ int ” di Jawa, gunakan pendekatan berikut:



Pendekatan 1: Tukar panjang kepada int dalam Java Menggunakan Kaedah 'Math.toIntExact()'

' Math.toIntExact() ' kaedah dalam Java memberikan ' int ' nilai daripada yang disediakan ' panjang ” hujah. Kaedah ini boleh digunakan untuk hanya lulus ' panjang nilai ” sebagai hujahnya dan mengembalikannya sebagai integer.



Sintaks





Matematik . kepadaIntExact ( panjang val )

Dalam sintaks ini, ' panjang val ” merujuk kepada nilai yang perlu dikembalikan sebagai “ int ”.

Contoh
Mari kita tinjau contoh berikut:



awam kelas longtoint2 {
awam statik batal utama ( Tali [ ] args ) {
panjang pilihan1 = 8624675L ;
panjang val2 = 3482398L ;
int kemas kiniVal1 = Matematik . kepadaIntExact ( pilihan1 ) ;
int updVal2 = Matematik . kepadaIntExact ( val2 ) ;
Sistem. keluar . println ( 'Nilai integer ialah: ' + kemas kiniVal1 ) ;
Sistem. keluar . println ( 'Nilai integer ialah: ' + updVal2 ) ;
}
}

Dalam coretan kod ini, lakukan langkah berikut:

  • Pertama, mulakan dua ' panjang ” nilai.
  • Catatan: yang dinyatakan ' L ' dalam nilai mewakili dan membezakan ' panjang ” nilai daripada “ int ” nilai.
  • Selepas itu, gunakan ' Math.toIntExact() ” kaedah dua kali dan kumpulkan kedua-dua nilai panjang yang dimulakan, sebagai parameternya untuk menukarnya kepada integer.
  • Akhir sekali, log nilai integer yang ditukar pada konsol.

Pengeluaran

Dalam hasil di atas, ia boleh dianalisis bahawa nilai integer yang sepadan dipaparkan.

Catatan: Proses penukaran (panjang ke int) berfungsi dengan baik apabila nilai “ panjang ” adalah kurang daripada atau sama dengan nilai maksimum “ int ”, iaitu, (2147483647). Dalam kes lain, ralat ditemui dan mungkin terdapat kehilangan data juga.

Demonstrasi
Mari kita perhatikan konsep yang dibincangkan yang membawa kepada batasan:

Dalam contoh di atas, hanya tingkatkan yang terakhir ' panjang ” nilai dan lakukan penukaran. Ini akan membawa kepada menghadapi ' Limpahan integer had ” kerana nilai yang ditukar melebihi “ int ” had maks.

Pendekatan 2: Tukar panjang kepada int dalam Java Menggunakan 'Penyiapan Taip Sempit'

Typecasting ” sepadan dengan memberikan nilai satu jenis data primitif kepada yang lain. Dalam kes ini, ' penyempitan taip ” berkuat kuasa sejak jenis data yang lebih tinggi, iaitu, “ panjang 'diubah menjadi jenis data yang lebih rendah' int ”. Ini boleh dicapai dengan hanya meletakkan nilai yang perlu diubah diikuti dengan jenis yang dikehendaki dalam kurungan.

Contoh
Contoh berikut menerangkan konsep yang dibincangkan:

awam kelas longtoint {
awam statik batal utama ( Tali [ ] args ) {
panjang pilihan1 = 647467L ;
panjang val2 = 348 239L ;
int kemas kiniVal1 = ( int ) pilihan1 ;
int updVal2 = ( int ) val2 ;
Sistem. keluar . println ( 'Nilai integer ialah: ' + kemas kiniVal1 ) ;
Sistem. keluar . println ( 'Nilai integer ialah: ' + updVal2 ) ;
}
}

Dalam baris kod di atas:

  • Begitu juga, mulakan dua ' panjang ” nilai.
  • Dalam langkah seterusnya, gunakan ' penuangan taip sempit ” pendekatan dengan meletakkan nilai yang perlu ditukar diikuti dengan jenis yang diingini, iaitu, “ int ”.
  • Akhir sekali, paparkan ' yang ditukar int ” nilai pada konsol.

Pengeluaran

Dalam output ini, dapat dilihat bahawa ' panjang nilai ' ditukar kepada ' int ” nilai, sewajarnya.

Pendekatan 3: Tukar Objek panjang kepada int dalam Java Menggunakan Kaedah 'intValue()'.

' intValue() ' kaedah dalam Java mengembalikan nilai nombor yang berkaitan dalam bentuk ' int ”. Kaedah ini boleh dilaksanakan untuk mengubah 'panjang' yang berkaitan objek ” menjadi integer.

Contoh
Pergi melalui contoh yang disediakan di bawah untuk melakukan penukaran:

awam kelas longtoint3 {
awam statik batal utama ( Tali [ ] args ) {
Val panjang1 = baru Panjang ( 8624675L ) ;
Val2 panjang = baru Panjang ( 3482398L ) ;
int kemas kiniVal1 = pilihan1. intValue ( ) ;
int updVal2 = val2. intValue ( ) ;;
Sistem. keluar . println ( 'Nilai integer ialah: ' + kemas kiniVal1 ) ;
Sistem. keluar . println ( 'Nilai integer ialah: ' + updVal2 ) ;
}
}

Dalam blok kod di atas:

  • Pertama sekali, buat dua ' panjang ' objek melalui ' baru ' kata kunci dan ' panjang() ” pembina, masing-masing.
  • Dalam parameter pembina, nyatakan nilai panjang yang perlu diubah menjadi ' int ”.
  • Sekarang, kaitkan ' intValue() ' kaedah dengan kedua-dua objek yang dicipta dan menukar ' terkumpul ' panjang ” nilai ke dalam “ integer ” dan paparkannya.

Pengeluaran

Hasil di atas menunjukkan bahawa nilai objek ditukar kepada ' integer ” dengan sewajarnya.

Kesimpulan

Untuk menukar panjang kepada int dalam Java, gunakan “ Math.toIntExact() kaedah ', ' Pencetakan Sempit 'pendekatan, atau ' intValue() ” kaedah. Pendekatan ini mengubah nilai panjang yang dimulakan dan objek menjadi integer dengan syarat ' panjang nilai ” yang perlu ditukar tidak melebihi nilai maksimum “ int ”. Blog ini dibimbing untuk menukar panjang kepada int menggunakan Java.