If it's something that was just explained, and you want to know if your classmate understood what was just explained, then yes, you say, "Did you understand (that [explanation / point / concept / principle])?"
If you want to know in a more general way if someone understands, you say "Do you understand (this material)?"
In AmE I don't think we'd use Have you understood? if any significant amount of time had passed since the moment when potential understanding might have taken place.
Immediately after explaining something to a student one might say in AmE Have you understood? (or Do you understand? or Did you understand?) But a few minutes later, after a short interru
I'd say I have understood is quite rare in BrE too. An example could be I have always understood that A means the same as B, but now it seems they're quite different. Or: How much have you understood so far?