For AA with ionisable side chains (-COOH or -NH2, NOT amides -CONH2), the easiest way is imagine if you were doing a titration. Let's for now completely ignore the amino acid part, and only look at the Z group.
e.g. Aspartic acid.
We start at pH=1, highly acidic environment, a lot of H+ in solution, so we cannot keep the anion form. Just like the acidic form of the backbone, we have -COOH.
We now increase the pH by adding base. This means -COOH reacts with the base as pH increases. At ~neutral pH, we will have -COO(-)
We add more base, and pH keep increasing, but we don't have any acidic groups to react with anymore, so we remain at -COO(-)
:. at highly acidic environments, -COOH
:. at neutral environments, -COO(-)
:. at basic environments, -COO(-)
Similar argument for basic Z-group.
at highly basic environments, a lot of proton acceptors, so we cannot be a cation -NH3+ as something else will take the proton away
:. at basic environments, -NH2
:. at neutral environments, -NH3+
:. at acidic environments, -NH3+
The behaviour of the Z-group doesn't affect the behaviour of the backbone amino-acid much, so use the same method as always to determine whether you have acid/zwitterion/basic form for the amino-acid group.