Why does this java code
long a4 = 1L; long a3 = 1; long a2 = 100L * 1024 * 1024 * 1024; long a1 = 100 * 1024 * 1024 * 1024; System.out.println(a4); System.out.pr
Here's what you did : You assigned 100 * 1024 * 1024 * 1024 to a long data type but you didn' said that 100 * 1024 * 1024 * 1024 is a long value
100 * 1024 * 1024 * 1024
By default java compiler thinks that its an integer. Since integer cannot hold that much value, it will show wrong result. Hope it helps !