TJ Johnson
VMI · Southern · 2026-27 roster

Season averages
| Season | GP | MPG | PPG | RPG | APG | SPG | BPG | TO | FG% | 3P% | FT% |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-26 | 31 | 35.6 | 18.3 | 7.2 | 1.4 | 1.5 | 0.2 | 1.6 | .398 | .355 | .819 |
| 2024-25 | 33 | 32.6 | 12.3 | 4.7 | 0.8 | 1.4 | 0.2 | 0.9 | .405 | .365 | .733 |
Last 20 games
| Date | MIN | PTS | REB | AST | STL | BLK | TO | FG | 3P | FT |
|---|---|---|---|---|---|---|---|---|---|---|
| Monday, November 4 | 24 | 17 | 2 | 1 | 2 | 1 | 0 | 7-12 | 3-7 | 0-0 |
| Saturday, November 9 | 33 | 14 | 4 | 2 | 2 | 0 | 0 | 5-8 | 4-6 | 0-0 |
| Tuesday, November 12 | 25 | 23 | 9 | 1 | 5 | 1 | 1 | 9-15 | 5-10 | 0-0 |
| Friday, November 15 | 31 | 10 | 2 | 1 | 2 | 0 | 1 | 3-11 | 2-8 | 2-2 |
| Saturday, November 16 | 33 | 11 | 3 | 1 | 2 | 0 | 0 | 4-8 | 3-7 | 0-0 |
| Monday, November 18 | 32 | 12 | 3 | 0 | 0 | 1 | 0 | 3-11 | 3-8 | 3-4 |
| Friday, November 22 | 32 | 21 | 3 | 1 | 1 | 0 | 2 | 7-11 | 3-6 | 4-4 |
| Tuesday, November 26 | 35 | 18 | 2 | 0 | 1 | 0 | 2 | 5-11 | 3-8 | 5-5 |
| Friday, November 29 | 36 | 11 | 4 | 1 | 0 | 0 | 1 | 4-11 | 2-8 | 1-2 |
| Tuesday, December 3 | 23 | 19 | 6 | 2 | 2 | 0 | 0 | 7-18 | 5-13 | 0-0 |
| Saturday, December 7 | 36 | 17 | 6 | 0 | 3 | 0 | 1 | 6-10 | 4-8 | 1-2 |
| Saturday, December 21 | 35 | 5 | 8 | 1 | 1 | 0 | 1 | 2-8 | 1-5 | 0-1 |
| Wednesday, January 1 | 36 | 13 | 7 | 2 | 1 | 0 | 1 | 3-7 | 1-5 | 6-9 |
| Saturday, January 4 | 37 | 6 | 3 | 2 | 2 | 0 | 3 | 2-7 | 2-5 | 0-0 |
| Thursday, January 9 | 31 | 2 | 3 | 2 | 0 | 0 | 1 | 1-8 | 0-6 | 0-0 |
| Sunday, January 12 | 25 | 5 | 4 | 0 | 0 | 0 | 0 | 2-5 | 1-2 | 0-0 |
| Wednesday, January 15 | 31 | 12 | 7 | 1 | 1 | 0 | 0 | 4-11 | 4-10 | 0-0 |
| Saturday, January 18 | 35 | 11 | 7 | 1 | 1 | 0 | 1 | 4-10 | 2-7 | 1-2 |
| Wednesday, January 22 | 30 | 12 | 3 | 1 | 0 | 0 | 2 | 4-12 | 4-12 | 0-0 |
| Saturday, January 25 | 34 | 12 | 3 | 1 | 2 | 0 | 0 | 4-12 | 2-8 | 2-3 |
Everything above the table comes from the roster ESPN publishes, re-read on a schedule, so a transfer or a late signing shows up without anyone editing a list. About one player in five has no photo there.
Averages are derived from the box scores, never stored — so no number here can disagree with the games behind it. A night he didn't play isn't counted as a zero, which is why the games total can be lower than his team's.
Everyone else on the roster is on the VMI page, and all 365 programs are listed by conference.