Best way to learn more Java for FRC?

I have just been decided as my team’s programming leader, and I know enough Java to be leader because I was a member last year. However, although I know a lot of FRC code, I don’t know how to do some of the more complicated stuff, like gyros and PID’s. Is there an online or book resource that would help me learn more Java for FRC?

I’m also learning more Java (LabVIEW is my team’s main language, but I’ve recently decided to pick up more Java for FRC just to have it) and I find WPI’s resources the easiest to follow http://wpilib.screenstepslive.com/s/3120

Check out these threads:

http://www.chiefdelphi.com/forums/showthread.php?t=129490&highlight=learn+java
http://www.chiefdelphi.com/forums/showthread.php?t=116569&highlight=learn+java
http://www.chiefdelphi.com/forums/showthread.php?t=104555&highlight=learn+java

The WPILib ScreenSteps Live site linked above is a great resource. Many teams also publish their code on websites like GitHub, BitBucket, or Google Code, and you can learn a lot by reading through it.

The best way to pick up FRC Specific Java Code is now harder to say since a lot of the stuff discussed previously will be outdated as of the 2015 Season. Thats a good thing, since it will become a lot easier to implement complex algorithms next season.

I would work mostly on your general Java knowledge. Get to know your Enum’s, Autoboxing, awesome Java utilities like Arrays and Collections, NIO classes, Interfaces and so on. Read source code other teams have released which USUALLY tends to follow good practice. There are plenty of awesome java tutorials out there as well if you feel you need to get some instruction in. Thenewboston offers some great beginner tutorials though I cant speak for his Intermediate tutorials.

All the WPILib documents linked to in a previous post are EXTREMELY useful in getting the general gist of how WPILib works and what to expect. To get to know the more low-level classes and functions you will need to experiment because unfortunately REAL FRC Tutorials are scarce and generally only describe how to implement the features to get you started like Solenoids, PWM’s and so on.

I may make a quick series of FRC Tutorials but I think it will be massively beneficial to get used to the Java SE 7 API and maybe some additional Java 8 features, though you can thoroughly complete your robot on Java 7 alone.