While we don't use it when we're learning to code, this text is a great introduction to Java programming concepts—and it's written to include the basics of programming FTC robots.
The FTC also provides this guide, which also covers the very basics of setting up a robot. For this guide, programming examples presume you will be using the Android studio IDE.
Coach Pratt has led several teams to FTC national championships. His YouTube channel contains a lot of excellent videos explaining basic (and advanced) concepts in robotics programming.