public class Main
{
public static void main(String[] args) {
System.out.println("Start\n");
byte i;
for(i=0; i<10; i--) {
System.out.print(i+", ");
}
System.out.print("\b\b");
System.out.println("\n\n\"i\" value is "+i+"\n\nEnd");
}
}
Start
0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50, -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62, -63, -64, -65, -66, -67, -68, -69, -70, -71, -72, -73, -74, -75, -76, -77, -78, -79, -80, -81, -82, -83, -84, -85, -86, -87, -88, -89, -90, -91, -92, -93, -94, -95, -96, -97, -98, -99, -100, -101, -102, -103, -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -114, -115, -116, -117, -118, -119, -120, -121, -122, -123, -124, -125, -126, -127, -128,
"i" value is 127
End
This loop may look like an infinite loop because the value of i keeps decreasing and will always seem to be less than 10. However, the variable i is declared as a byte, and in Java a byte can only store values from -128 to 127. The loop starts from 0 and keeps decrementing until it reaches -128. After that, Java cannot store -129 in a byte, so the value automatically wraps around to 127 due to overflow. Once i becomes 127, the condition i < 10 becomes false, and the loop terminates. Thatโs why this loop is not infinite.
United States
NORTH AMERICA
Related News
What Does "Building in Public" Actually Mean in 2026?
19h ago
The Agentic Headless Backend: What Vibe Coders Still Need After the UI Is Done
19h ago
Why Iโm Still Learning to Code Even With AI
21h ago
I gave Claude a persistent memory for $0/month using Cloudflare
1d ago
NYT: 'Meta's Embrace of AI Is Making Its Employees Miserable'
1d ago