ขีด จำกัด ของint
คือจาก -2147483648 ถึง 2147483647
ถ้าฉันใส่
int i = 2147483648;
จากนั้น Eclipse จะแจ้งให้ขีดเส้นใต้สีแดงภายใต้ "2147483648"
แต่ถ้าฉันทำสิ่งนี้:
int i = 1024 * 1024 * 1024 * 1024;
มันจะรวบรวมดี
public class Test {
public static void main(String[] args) {
int i = 2147483648; // error
int j = 1024 * 1024 * 1024 * 1024; // no error
}
}
อาจเป็นคำถามพื้นฐานใน Java แต่ฉันไม่รู้ว่าทำไมชุดที่สองจึงไม่มีข้อผิดพลาด
2147483648
: ตัวอักษรนี้ไม่สมเหตุสมผล