Well. It depends.
Both Java and any language within the .NET framework can be used both for Windows and Web development.
But PHP is considered a strictly Web development language.
And in my opinion it's a matter of taste.
Java development doesn't have all that much to offer with regards to easy-to-use visual development tools where you can just drag 'n drop controls onto a form.
The .NET framework, provides multiple development languages: VB.NET, C#, J#.... and you can use Visual Studio for all those languages.
However, Java is a good introduction into Object Oriented Programming, but the drawback is that the differences in syntax can be confusing when switching to .NET.
If you have any experience with developing in, say C/C++, you can do both C# and PHP.
If you have any experience with developing in Java, you can do both Java and J#.
If you can do VB, then you can do both VB and VB.NET.
The basic syntaxes in these "newer" languages are practically the same as the "older" ones.