В Java строки не обрабатываются «справа налево» в каком-то общем смысле. В вашем коде поведение, которое вы наблюдаете, связано с тем, как вы конструируете строку `t` в первом цикле. Давайте рассмотрим оба примера подробнее:
### Первый пример
```java
String hhh = new String("qwe");
String t = "";
for (int i = 0; i < hhh.length(); i++) {
t = hhh.charAt(i) + t;
}
System.out.println(t);
```
В этом коде мы создаём новую строку `t`, добавляя каждый символ из строки `hhh` в начало. Выражение `hhh.charAt(i) + t` выполняется так, что к текущему символу из `hhh` (в позиции `i`) добавляется уже существующее значение `t`. Это означает, что символы добавляются «слева», начиная с конца строки `hhh`, что ведёт к тому, что последовательность символов формируется в обратном порядке.
Если посмотреть на процесс:
- Если `i = 0`, то `t = 'q'`
- Если `i = 1`, то `t = 'w' + 'q' = 'wq'`
- Если `i = 2`, то `t = 'e' + 'wq' = 'ewq'`
Таким образом, после завершения цикла `t` становится равной "ewq", и интерпретатор выводит её на экран.
### Второй пример
```java
String st = "qwe";
for (int i = 0; i < st.length(); i++) {
// Классический способ итерации символов строки.
System.out.print(st.charAt(i));
}
```
Здесь контрольный цикл просто проходит по всем символам строки `st` с индексами от 0 до `st.length() - 1`. Каждый символ выводится в порядке, в котором они располагаются в исходной строке. Порядок соответствует тому, как строки в Java хранятся.
### Вывод
На практике, строки в Java хранятся в виде массива символов, и вы можете получать доступ к каждому символу с помощью метода `charAt()`, и это взаимодействие не предполагает обработки «справа налево». Ваше первое проявление этого поведения — следствие логики, используемой при построении новой строки на каждой итерации, и не описывает глобальное поведение объекта `String`.
В случае, если вы хотите построить строку в обратном порядке, вам следует использовать другой подход, например, `StringBuilder`, который позволяет более эффективно добавлять строки без необходимости конструировать новую последовательность на каждой итерации.