I want to learn Java

  • My tip is to be not be afraid of learning from others' code and googling errors (or even tasks you can't figure out to do) you get. Applies to all programming languages, not just Java. Sure, if you're doing that 5 years after learning Java, you've got an issue, but for learners and hobbyists that's the best way to learn. I've never taken those "Learn Java in 3 hours" or "Learn Java in 5 minutes" courses because I find them horrible resources to learn from. But, maybe those courses can help you. I personally can't recommend them.

  • Don't get stuck in tutorial hell where you have no idea how to do anything outside of a tutorial. I'll admit that I've never followed a Java tutorial in my life and was self taught from the sorts of TFM back in the day. Realistically the best way to learn is however you learn best while trying to make something. Sure you don't have to make a particle accelerator simulator as your first project, but you could start with something basic like a USD currency converter or a to do list application or just contribute to Plex ezzz

  • There are a million resources to learn any programming language you want, my advice is to just pick one that works for you and see it all the way through.

    Also, if you have any knowledge with another language, then apply the logic to Java. Most programming languages use the same logic, just different syntax. Once you learn one, it becomes a lot easier to pick up others.

  • There are multiple ways to learn Java, but if the goal is to pass a test I would highly recommend learning from a textbook. While in practice, programming is a lot about actual hands-on experience, the actual programming portions on tests are usually trivial applications of specific topics they want to test (I would assume this is because planning out and writing a complex program takes much longer than the time normally allotted for a test). They mainly only try to test specific principles and syntactical structures on the coding portions.

    If you can find a thick, well-written book specifically designed for the test you're trying to pass, that will be your best bet. Take your time, be patient, and make sure to do practice tests so you know what the actual exam will be like. If you can find good practice tests, that will be the best thing possible, because it will allow you to know specifically what you have to prepare for. You can walk yourself through practice tests even if you're just getting started and don't have a clue, because it will give you an idea of what you need to learn.

    It's fun to skip to the fun part of following tutorials to do all sorts of cool things with programming, but that is not great for building your foundations. When you get tested, it will be all things like principles of OOP, internal representations of data, common low-level algorithms tree and graph algorithms, etc. I'm not telling you not to have fun, but sitting down with a textbook is the best way to learn the things you will actually need to pass the exam, because it's easy to get by without ever learning foundational stuff like this if you mainly learn from tutorials and hands-on experience.

    In summary: Learning theoretical programming concepts will be more important than actual programming ability, so learn from a textbook and take practice tests.

    Anyway, that's the advice I can give based on my experience. I don't live in the UK so I don't actually know what A-levels are like. Maybe they're bigger on actual programming than America's standardized tests at that level, so make sure you know what to study for.