While Ring counter, we have connected Q of last to D of 1st FF, but in Johnson Counter we connect Q bar of last to D of 1st FF as shown below and we also don’t need to connect preset of 1st FF. This is also called Twisted Ring counter:

And JK implementation is as follow:

And we have outputshas follow:
Clock Q4 Q3 Q2 Q1
Initially 0000
1st tick 0001
2nd 0011
3rd 0111
4th 1111
5th 1110
6th 1100
7th 1000
8th 0000
We can also note that we use only 8 out of 16 possible states and in general we have used 2n states and hence we have 2n-2n unused states