[step:Normalize the string and conclude uniqueness]
We have shown that the weights are exactly
\begin{align*}
j,j-1,\dots,-j.
\end{align*}
There are $2j+1$ of them, so
\begin{align*}
\dim_{\mathbb{C}}V=2j+1.
\end{align*}
Since distinct eigenspaces of the self-adjoint operator $J_z$ are orthogonal, choose $|j,j\rangle$ with $\||j,j\rangle\|=1$ and then choose phases recursively so that, for $m=j,j-1,\dots,-j+1$,
\begin{align*}
J_-|j,m\rangle=\hbar\sqrt{(j+m)(j-m+1)}\,|j,m-1\rangle.
\end{align*}
The norm identity from the previous step gives exactly these positive coefficients. Taking adjoints gives, for $m=-j,-j+1,\dots,j-1$,
\begin{align*}
J_+|j,m\rangle=\hbar\sqrt{(j-m)(j+m+1)}\,|j,m+1\rangle.
\end{align*}
Thus we obtain an [orthonormal basis](/page/Orthonormal%20Basis)
\begin{align*}
\{|j,m\rangle:m=-j,-j+1,\dots,j\}.
\end{align*}
By construction,
\begin{align*}
J_z|j,m\rangle=\hbar m|j,m\rangle.
\end{align*}
The computation above gives
\begin{align*}
J^2|j,m\rangle=\hbar^2j(j+1)|j,m\rangle.
\end{align*}
Conversely, fix
\begin{align*}
j\in \left\{0,\frac{1}{2},1,\frac{3}{2},\dots\right\}.
\end{align*}
Let $V_j$ be the complex vector space with basis $e_m$ indexed by $m=-j,-j+1,\dots,j$. Define linear operators
\begin{align*}
J_z:V_j\to V_j
\end{align*}
by
\begin{align*}
J_ze_m=\hbar m e_m,
\end{align*}
define
\begin{align*}
J_+:V_j\to V_j
\end{align*}
by
\begin{align*}
J_+e_m=\hbar\sqrt{(j-m)(j+m+1)}\,e_{m+1}
\end{align*}
for $m<j$ and $J_+e_j=0$, and define
\begin{align*}
J_-:V_j\to V_j
\end{align*}
by
\begin{align*}
J_-e_m=\hbar\sqrt{(j+m)(j-m+1)}\,e_{m-1}
\end{align*}
for $m>-j$ and $J_-e_{-j}=0$. Finally define
\begin{align*}
J_x:=\frac{1}{2}(J_++J_-)
\end{align*}
and
\begin{align*}
J_y:=\frac{1}{2i}(J_+-J_-).
\end{align*}
We verify that these formulas define a representation. For each basis vector $e_m$, direct substitution gives
\begin{align*}
[J_z,J_+]e_m=\hbar J_+e_m
\end{align*}
and
\begin{align*}
[J_z,J_-]e_m=-\hbar J_-e_m,
\end{align*}
including the endpoint cases because the corresponding ladder term is zero. For the remaining commutator, when $-j<m<j$,
\begin{align*}
J_+J_-e_m=\hbar^2(j+m)(j-m+1)e_m
\end{align*}
and
\begin{align*}
J_-J_+e_m=\hbar^2(j-m)(j+m+1)e_m.
\end{align*}
Subtracting gives
\begin{align*}
[J_+,J_-]e_m=2\hbar^2m e_m=2\hbar J_ze_m.
\end{align*}
The same formula holds at $m=j$ and $m=-j$ by the endpoint definitions. Hence $[J_+,J_-]=2\hbar J_z$. Rewriting $J_x$ and $J_y$ in terms of $J_+$ and $J_-$ gives exactly
\begin{align*}
[J_x,J_y]=i\hbar J_z,
\end{align*}
\begin{align*}
[J_y,J_z]=i\hbar J_x,
\end{align*}
and
\begin{align*}
[J_z,J_x]=i\hbar J_y.
\end{align*}
Thus $V_j$ is a representation of $\mathfrak{su}(2)$ in the angular momentum normalization.
This model is irreducible. Let $0\neq U\subseteq V_j$ be an invariant subspace. Since $J_z$ is diagonal in the basis $(e_m)$, the restriction of $J_z$ to the finite-dimensional space $U$ has an eigenvector $u\in U$ with eigenvalue $\hbar m$ for some $m\in\{-j,-j+1,\dots,j\}$. The $\hbar m$-eigenspace of $J_z$ in $V_j$ is one-dimensional, so $e_m\in U$. Repeatedly applying $J_+$ and $J_-$ to $e_m$ reaches every basis vector $e_{m'}$, because every intermediate ladder coefficient is positive before the endpoint. Therefore $U=V_j$, proving irreducibility.
Define a [linear map](/page/Linear%20Map)
\begin{align*}
T:V_j\to V
\end{align*}
by $T(e_m)=|j,m\rangle$. The displayed formulas for $V$ and for the model $V_j$ show that $T$ intertwines the actions of $J_z,J_+$ and $J_-$. Since $J_x=\frac{1}{2}(J_++J_-)$ and $J_y=\frac{1}{2i}(J_+-J_-)$, it intertwines the actions of $J_x,J_y,J_z$ and is therefore an isomorphism of $\mathfrak{su}(2)$-representations.
Finally, $j$ is uniquely determined by the representation because it is the maximal number $m$ such that the $\hbar m$-eigenspace of $J_z$ is nonzero. Thus every finite-dimensional irreducible complex representation is isomorphic to exactly one $V_j$, with
\begin{align*}
j\in \left\{0,\frac{1}{2},1,\frac{3}{2},\dots\right\}.
\end{align*}
This proves the classification.
[/step]