Разница между методами substring() и charAt() при работе со строками заключается в их функциях и возвращаемых значениях. 1
Метод charAt() возвращает один символ с указанным индексом в строке. 1 Индексация начинается с 0: индекс первого символа равен 0, затем 1 и так далее. 1 Если индекс не указан, возвращается первый символ в строке (по умолчанию 0). 4
Метод substring() возвращает новую строку, которая является подстрокой используемой строки. 3 В параметрах метода нужно указать индекс строки, с которого начинается подстрока, и индекс, которым заканчивается. 3 Также возможно указывать только начальный индекс: в этом случае будет возвращена подстрока от начального индекса и до конца строки. 3
Таким образом, charAt() возвращает только один символ, а substring() — последовательность символов (подстроку). 1