Java – один из наиболее часто используемых языков программирования в мире для разработки настольных приложений и веб-приложений. Он проработал 22 года в мире программирования.
В этом посте мы увидим, как глубоко и наиболее эффективно изучать программирование на Java.
Java имеет огромную кривую обучения, это полноценный язык программирования с множеством классов, API и т.д. Не пытайтесь выучить все сразу, идите шаг за шагом и осваивайте мир программирования Java.
Способы изучения программирования на Java:
Читать книги:
Есть много хороших книг, из которых вы можете научиться программированию на Java. Некоторые из них являются:
- Головой вперед.
- Эффективная Java
- Мышление на Java
Head first Java – мой любимый из всех. Мне очень понравилась head first Java, и я с удовольствием ее читал. Головой вперед Java объясняет концепции Java очень уникальным и интересным способом. Вы сможете изучить класс, Объект, Поток, Коллекции и Дженерики, а также различные другие концепции.
Следите за хорошими блогами Java:
Есть много хороших онлайн-блогов/веб-сайтов, с помощью которых вы можете легко изучать Java.
Некоторые из них являются:
Я также создал полный базовый учебник по java для начинающих и опытных программистов , который поможет вам освоить программирование на Java.
Советы по изучению внутренностей Java:
Понимание основ Java:
Всегда важно понимать основы любого языка, когда вы начинаете. Вам необходимо понимать основные понятия Java, такие как классы, объекты , пакеты, переменные , ключевые слова, типы данных и т.д.
Думайте объектно-ориентированным способом:
Как вы знаете, Java – это объектно-ориентированный язык программирования, вам необходимо понимать объектно-ориентированные концепции, такие как абстракция , инкапсуляция , полиморфизм , и наследование
Вам нужно мыслить в терминах объекта и класса. Например, у сотрудника есть такие атрибуты, как имя, возраст и поведение, такие как полное назначение и т.д.
Основные коллекции:
Collections framework – наиболее часто используемый фреймворк в Java. Не просто разбирайтесь в использовании коллекций, таких как HashMap, HashSet, TreeMap, Treeset, но и разбирайтесь во внутренней работе коллекций.
Например: Если вы знаете |/внутреннюю работу HashMap а затем легко отладить программу и просмотреть содержимое HashMap. Это также поможет вам понять, как создаются коллекции Java.
Давайте возьмем очень простой пример. У меня есть класс Country, мы собираемся использовать объект класса Country в качестве ключа и его заглавное имя (строка) в качестве значения. Приведенный ниже пример поможет вам понять, как эти пары ключ-значение будут храниться в hashmap.
1. Country.java
package org.arpit.java2blog; public class Country { String name; long population; public Country(String name, long population) { super(); this.name = name; this.population = population; } public String getName() { return name; } public void setName(String name) { this.name = name; } public long getPopulation() { return population; } public void setPopulation(long population) { this.population = population; } // If length of name in country object is even then return 31(any random number) and if odd then return 95(any random number). // This is not a good practice to generate hashcode as below method but I am doing so to give better and easy understanding of hashmap. @Override public int hashCode() { if(this.name.length()%2==0) return 31; else return 95; } @Override public boolean equals(Object obj) { Country other = (Country) obj; if (name.equalsIgnoreCase((other.name))) return true; return false; } }
Если вы хотите больше узнать о методе hashcode и equals объекта, вы можете обратиться к hashcode() и equals() методу в Ява
2. HashMapStructure.java (основной класс)
import java.util.HashMap; import java.util.Iterator; public class HashMapStructure { /** * @author Arpit Mandliya */ public static void main(String[] args) { Country india=new Country("India",1000); Country japan=new Country("Japan",10000); Country france=new Country("France",2000); Country russia=new Country("Russia",20000); HashMapcountryCapitalMap=new HashMap (); countryCapitalMap.put(india,"Delhi"); countryCapitalMap.put(japan,"Tokyo"); countryCapitalMap.put(france,"Paris"); countryCapitalMap.put(russia,"Moscow"); Iterator countryCapitalIter=countryCapitalMap.keySet().iterator();//put debug point at this line while(countryCapitalIter.hasNext()) { Country countryObj=countryCapitalIter.next(); String capital=countryCapitalMap.get(countryObj); System.out.println(countryObj.getName()+"----"+capital); } } }
Теперь поставьте точку отладки в строке 24 и щелкните правой кнопкой мыши проект-> отладка as-> java-приложение. Программа остановит выполнение в строке 24, затем щелкните правой кнопкой мыши на countryCapitalMap и выберите “Смотреть”. Вы сможете увидеть структуру, как показано ниже.
Теперь из приведенной выше диаграммы вы можете наблюдать следующие моменты
Вы поместили 4 записи в HashMap, но вы видите только две записи в массиве Entry[]. Если вы хотите понять, почему в массиве Entry[] есть только две записи, вам нужно понять Как работает HashMap в java и методе Hashcode и equals.
Это очень простой пример HashMap, но в реальной жизни вы можете использовать гораздо более сложный пример, поэтому для отладки программы и просмотра значений в HashMap важно изучить внутреннюю работу HashMap.
Выберите любую среду IDE:
Вы можете выбрать IDE, такую как Eclipse, intellij или Netbeans. Это поможет вам быстрее программировать и, в свою очередь, повысит вашу эффективность. Вы также должны изучить некоторые важные сочетания клавиш для этой IDE.
Например:
Когда вы копируете любой код и помещаете любой код в eclipse, вам нужно импортировать все инструкции импорта для этой программы, вы можете просто использовать control + shift + O в eclipse и это позаботится об импорте. Следовательно, это поможет вам повысить свою эффективность при программировании.
Написание Базовых Программ:
Практика базовые программы java со строками, числами, массивами и т.д. Это поможет вам написать простую логику.
Практика в HackerRank:
Как только вы познакомитесь с коллекциями и объектно-ориентированными концепциями, вы можете попрактиковаться в программировании на Java по адресу HackerRank . это поможет освоить синтаксис и логику построения.
Изучите Многопоточность:
Освоить многопоточность довольно сложно. Для изучения многопоточности требуется много практики, поскольку выходные данные потоков в большинстве случаев непредсказуемы. Вы можете изучить основы потоков, такие как как создать поток , жизненный цикл потока и различные методы класса потоков, такие как join, sleep, yield и синхронизация потоков.
Как только вы освоитесь с основами thread, изучите executor framework. Java 5 представила платформу executor framework, которая заботится о создании потоков и управлении ими, вы можете просто сосредоточиться на бизнес-логике.
Создавайте небольшие проекты:
Вы можете создавать простые проекты по вашему выбору, такие как Управление библиотекой, Транспортная система. Создайте простой дизайн, определите основные объекты, варианты использования и напишите Java-приложение для решения программы.
Просмотрите несколько хороших проектов на github:
На GitHub есть много хороших проектов с открытым исходным кодом. Вы можете просмотреть несколько хороших проектов, это поможет вам понять некоторые хорошие практики в области дизайна и кодирования.
Изучите шаблон проектирования:
Всегда полезно изучить некоторые шаблоны проектирования. Изучите несколько шаблонов проектирования и применяйте их в приложениях Java.
Для примера: Шаблон проектирования наблюдателя изображает отношения между издателем и подписчиком. Вы можете определить вариант использования и легко реализовать его в программе Java.
Практика, Практика и практика:
Нет никаких коротких путей для изучения Java. Если вы хотите стать хорошим Java-разработчиком, вам нужно практиковаться все больше и больше.
Это все о том, как научиться программированию на Java. Если у вас есть еще предложения, пожалуйста, прокомментируйте.
Оригинал: “https://dev.to/arpitmandliya/how-to-learn-java-programming-1jp7”