这背后的逻辑是什么?

What is the logic behind this how it is working?

我已经阅读了一些棘手的面试问题,我看到了这个我不明白这背后的逻辑是什么。有人可以解释一下吗?

public class Test
{
    public static void main(String[] args) {
for(char c‮h = 0; c‮h < Character.MAX_VALUE; c‮h++)
    if (Character.isJavaIdentifierPart(c‮h) && !Character.isJavaIdentifierStart(c‮h))
            System.out.printf("%04x <%s>%n", (int) c‮h, "" + c‮h);
    }
}

输出

0000 < >
0001 <>
0002 <>
0003 <>
0004 <>
0005 <>
0006 <>
0007 <>
0008 <>
000e <>
000f <>
0010 <>
0011 <>
0012 <>
0013 <>
0014 <>
0015 <>
0016 <>
0017 <>
....more rows

这个:

for(char c‮h = 0; c‮h < Character.MAX_VALUE; c‮h++)

相同
for(char ch=0; ch< Character.MAX_VALUE; ch++) 

但是写反了....所以是一个正常的for循环