If you want a book to take you through learning Java, I can really recommend "Objects first with Java" by Michael Kolling and David Barnes - it teaches you everything from the ground up very nicely. It scraps the hello world tutorial and takes a really different, good approach.
I'd personally recommend Java over VB
.NET or similar - it's far easier to learn OO principles and then learn languages like VB
.NET later rather than the other way around. I've seen lots of "OO" code (Java, C#, C++) written by people that migrated from VB
.NET and similar and the result generally isn't a very pretty sight... in fact, it's not generally OO either! Also, while you can do some powerful stuff with VB
.NET, it has got a bit of a bad reputation for a number of reasons - some of them aren't unfounded either
On the flip side, VB
.NET is probably easier to pick up than Java because you don't have to learn all the object oriented concepts first, so if you're looking for hassle free results in the quickest time possible then VB
.NET is probably the better option.
Though personally, I'd still say Java was a far better route to take if you're looking at programming at all seriously.