Diferencia entre java HH: mm y hh: mm en SimpleDateFormat

¿Cuál es la diferencia entre los formatos kk: mm, HH: mm y hh: mm?

    SimpleDateFormat broken = new SimpleDateFormat("kk:mm:ss");
    broken.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
    SimpleDateFormat working = new SimpleDateFormat("HH:mm:ss");
    working.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
    SimpleDateFormat working2 = new SimpleDateFormat("hh:mm:ss");
    working.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));

    System.out.println(broken.format(epoch));
    System.out.println(working.format(epoch));
    System.out.println(working2.format(epoch));

huellas dactilares:

24:00:00
00:00:00
05:30:00

Respuestas a la pregunta(5)

Su respuesta a la pregunta