So I noticed that both for and while loops have a infinite loop option, is there any difference between them?
for and while inifite loops
Assuming you mean while (true) vs for (;;) vs do { } while (true), no, there's no technical difference.
However, I've seem some compilers generate a warning* for while (true) and do { } while (true) but not generate a warning for for (;;), in which case for (;;) may be preferred to avoid a warning.
*For example, see this question.
Edit: I just realized this question was tagged Java and was assuming C or C++ when I was talking about the warning stuff. It's the same in Java as it is in C and C++ in that there's no real technical difference between these infinite looping methods, but the compiler warning issue I talked about isn't relevant in Java.
I don't believe there's any performance difference between any flavors of the infinite loops but my personal preference is always to use a while(someValue == true). This allows for the loop to be cancelled from within itself or from outside of the loop in say another thread.