Rumah >Java >javaTutorial >Mengapakah kod Java saya membuang ralat \'integer literal di luar julat\' walaupun saya menggunakan pembolehubah panjang?

Mengapakah kod Java saya membuang ralat \'integer literal di luar julat\' walaupun saya menggunakan pembolehubah panjang?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-29 14:06:02491semak imbas

Why does my Java code throw an

Memahami Jenis Data dan Pengendalian Ralat

Dalam kod anda, anda telah mengisytiharkan pembolehubah panjang bernama testLong dan cuba memberikannya nilai 9223372036854775807 . Walau bagaimanapun, anda menghadapi ralat yang menyatakan bahawa literal berada di luar julat untuk jenis int.

Peranan Jenis Data

Setiap jenis data dalam Java mewakili julat nilai yang berbeza. Jenis data panjang boleh memegang nilai integer antara -9,223,372,036,854,775,808 dan 9,223,372,036,854,775,807. Nilai percubaan anda berada dalam julat ini.

Mengenal pasti Ralat

Mesej ralat yang anda terima menunjukkan bahawa pengkompil mentafsir 9223372036854775807 literal sebagai jenis int, yang mempunyai julat nilai yang lebih kecil. Tafsiran ini disebabkan oleh ketiadaan huruf 'L' di hujung literal.

Membetulkan Kod

Untuk menyelesaikan isu ini, anda perlu secara eksplisit nyatakan bahawa literal adalah jenis panjang. Ini boleh dilakukan dengan menambah huruf 'L' pada penghujung literal, seperti yang ditunjukkan di bawah:

<code class="java">long testLong = 9223372036854775807L;</code>

Dengan pengubahsuaian ini, pengkompil akan mentafsir literal sebagai nilai panjang dengan betul dan menetapkannya kepada pembolehubah testLong.

Atas ialah kandungan terperinci Mengapakah kod Java saya membuang ralat \'integer literal di luar julat\' walaupun saya menggunakan pembolehubah panjang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn