[proofplan]
We first replace the representation by a unitary one by integrating to $SU(2)$ and averaging an arbitrary Hermitian [inner product](/page/Inner%20Product). Then $J_z$ is self-adjoint, so we decompose $V$ into $J_z$-eigenspaces and use the raising and lowering operators $J_+$ and $J_-$ to move between adjacent eigenspaces. Finite-dimensionality produces a highest weight vector, and irreducibility forces the whole representation to be the string generated from it by repeated applications of $J_-$. Positivity of the invariant Hermitian inner product gives the endpoint condition, which forces $2j$ to be a nonnegative integer and yields the dimension and $J^2$ eigenvalue.
[/proofplan]
[step:Average over $SU(2)$ to obtain Hermitian angular momentum operators]
Let $V$ be the underlying finite-dimensional complex [vector space](/page/Vector%20Space) of the representation. Let
\begin{align*}
\rho:\mathfrak{su}(2)\to \operatorname{End}_{\mathbb{C}}(V)
\end{align*}
be the given finite-dimensional representation, written in angular momentum form by the operators $J_x,J_y,J_z$. Let $X_x,X_y,X_z\in\mathfrak{su}(2)$ be the real compact basis corresponding to the given angular momentum operators by
\begin{align*}
\rho(X_x)=-\frac{i}{\hbar}J_x,
\end{align*}
\begin{align*}
\rho(X_y)=-\frac{i}{\hbar}J_y,
\end{align*}
\begin{align*}
\rho(X_z)=-\frac{i}{\hbar}J_z.
\end{align*}
Equivalently, $J_i=i\hbar\rho(X_i)$ for $i\in\{x,y,z\}$. This fixes the sign convention relating the compact skew-Hermitian Lie algebra generators to the Hermitian angular momentum operators. The [Lie algebra integration theorem for simply connected Lie groups](/theorems/1017) applies because $SU(2)$ is simply connected and $V$ is finite-dimensional. Hence $\rho$ integrates to a group representation
\begin{align*}
\Pi:SU(2)\to GL(V).
\end{align*}
Choose any Hermitian inner product $(\cdot,\cdot)_0$ on $V$. Since $SU(2)$ is compact, the [existence and uniqueness of Haar measure on compact groups](/theorems/1018) gives a normalized left-invariant Haar probability measure $\mu$ on $SU(2)$. Define
\begin{align*}
(v,w):=\int_{SU(2)}(\Pi(g)v,\Pi(g)w)_0\,d\mu(g)
\end{align*}
for $v,w\in V$. The left invariance of $\mu$ gives
\begin{align*}
(\Pi(h)v,\Pi(h)w)=(v,w)
\end{align*}
for every $h\in SU(2)$ and $v,w\in V$. Thus $\Pi$ is unitary for $(\cdot,\cdot)$.
For the same basis elements $X_x,X_y,X_z$, the differentiated representation satisfies $d\Pi(X_i)=\rho(X_i)$ for $i\in\{x,y,z\}$. Thus the differentiated compact generators $d\Pi(X_i)$ are the operators $-iJ_i/\hbar$, while the physical angular momentum operators are $J_i=i\hbar d\Pi(X_i)$. Differentiating the unitarity identity
\begin{align*}
(\Pi(\exp(tX_i))v,\Pi(\exp(tX_i))w)=(v,w)
\end{align*}
at $t=0$ gives
\begin{align*}
(d\Pi(X_i)v,w)+(v,d\Pi(X_i)w)=0.
\end{align*}
Thus $d\Pi(X_i)^*=-d\Pi(X_i)$, and multiplying by $i\hbar$ gives
\begin{align*}
J_x^*=J_x,
\end{align*}
\begin{align*}
J_y^*=J_y,
\end{align*}
\begin{align*}
J_z^*=J_z.
\end{align*}
In particular, $J_z$ is self-adjoint. By the [Spectral Theorem for Self-Adjoint Maps](/theorems/440), applied to the finite-dimensional Hermitian vector space $V$, the operator $J_z$ is diagonalizable over $\mathbb{C}$ with real eigenvalues.
[/step]
[step:Use raising and lowering operators to move between $J_z$ eigenspaces]
Define the raising and lowering operators
\begin{align*}
J_+ := J_x+iJ_y,\qquad J_-:=J_x-iJ_y.
\end{align*}
Since $J_x$ and $J_y$ are Hermitian, $J_+^*=J_-$. From the commutation relations,
\begin{align*}
[J_z,J_+]=\hbar J_+
\end{align*}
and
\begin{align*}
[J_z,J_-]=-\hbar J_-.
\end{align*}
Hence, if $v\in V$ satisfies $J_zv=\hbar m v$ for some $m\in\mathbb{R}$, then
\begin{align*}
J_z(J_+v)=\hbar(m+1)J_+v
\end{align*}
and
\begin{align*}
J_z(J_-v)=\hbar(m-1)J_-v.
\end{align*}
Thus $J_+$ raises the $J_z$-weight by $1$, and $J_-$ lowers the $J_z$-weight by $1$.
[guided]
The point of introducing $J_+$ and $J_-$ is that they convert the three commutation relations among $J_x,J_y,J_z$ into operators that shift eigenvalues of a single self-adjoint operator. We define
\begin{align*}
J_+ := J_x+iJ_y,\qquad J_-:=J_x-iJ_y.
\end{align*}
Because $J_x^*=J_x$ and $J_y^*=J_y$, taking adjoints gives
\begin{align*}
J_+^*=(J_x+iJ_y)^*=J_x-iJ_y=J_-.
\end{align*}
We compute the commutator with $J_z$. Using bilinearity of the commutator and the angular momentum relations,
\begin{align*}
[J_z,J_x]=i\hbar J_y
\end{align*}
and
\begin{align*}
[J_z,J_y]=-i\hbar J_x.
\end{align*}
Therefore
\begin{align*}
[J_z,J_+]=[J_z,J_x]+i[J_z,J_y]=i\hbar J_y+i(-i\hbar J_x)=\hbar(J_x+iJ_y)=\hbar J_+.
\end{align*}
Similarly,
\begin{align*}
[J_z,J_-]=[J_z,J_x]-i[J_z,J_y]=i\hbar J_y-i(-i\hbar J_x)=-\hbar(J_x-iJ_y)=-\hbar J_-.
\end{align*}
Now let $v\in V$ be a $J_z$-eigenvector with eigenvalue $\hbar m$, where $m\in\mathbb{R}$. Then
\begin{align*}
J_z(J_+v)=J_+J_zv+[J_z,J_+]v.
\end{align*}
Substituting $J_zv=\hbar m v$ and $[J_z,J_+]=\hbar J_+$ gives
\begin{align*}
J_z(J_+v)=\hbar mJ_+v+\hbar J_+v=\hbar(m+1)J_+v.
\end{align*}
Thus either $J_+v=0$, or $J_+v$ is an eigenvector with weight $m+1$. The same calculation with $J_-$ gives
\begin{align*}
J_z(J_-v)=\hbar(m-1)J_-v.
\end{align*}
This is the ladder structure: $J_+$ moves one step upward in weight, and $J_-$ moves one step downward.
[/guided]
[/step]
[step:Choose a highest weight vector and generate its weight string]
Since $J_z$ is diagonalizable and $V$ is finite-dimensional, the set of [real numbers](/page/Real%20Numbers) $m$ for which the $\hbar m$-eigenspace of $J_z$ is nonzero is finite. Choose a maximal such $m$ and call it $j$. Let $v_j\in V$ be a nonzero vector satisfying
\begin{align*}
J_zv_j=\hbar jv_j.
\end{align*}
By maximality of $j$, the vector $J_+v_j$ must vanish:
\begin{align*}
J_+v_j=0.
\end{align*}
For each integer $r\geq 0$, define
\begin{align*}
v_{j-r}:=J_-^rv_j.
\end{align*}
Whenever $v_{j-r}\neq 0$, it satisfies
\begin{align*}
J_zv_{j-r}=\hbar(j-r)v_{j-r}.
\end{align*}
Since $V$ is finite-dimensional, this string must terminate. Let $N\geq 0$ be the largest integer such that $v_{j-N}\neq 0$. Then
\begin{align*}
J_-v_{j-N}=0.
\end{align*}
Let $W$ be the complex span of the nonzero vectors
\begin{align*}
v_j,v_{j-1},\dots,v_{j-N}.
\end{align*}
The operator $J_z$ preserves $W$ because each $v_{j-r}$ is a $J_z$-eigenvector. The operator $J_-$ preserves $W$ because $J_-v_{j-r}=v_{j-r-1}$ when $0\leq r<N$ and $J_-v_{j-N}=0$.
It remains to verify that $J_+$ preserves $W$. For $r=0$, we have $J_+v_j=0$. For $1\leq r\leq N$, we prove the sharper formula by induction:
\begin{align*}
J_+v_{j-r}=\hbar^2 r(2j-r+1)v_{j-r+1}.
\end{align*}
For $r=1$, using $v_{j-1}=J_-v_j$, $J_+v_j=0$, and the commutator $[J_+,J_-]=2\hbar J_z$ gives
\begin{align*}
J_+v_{j-1}=J_+J_-v_j=J_-J_+v_j+2\hbar J_zv_j=2\hbar^2jv_j.
\end{align*}
If the formula holds for $r$, then using $v_{j-r-1}=J_-v_{j-r}$ and the commutator $[J_+,J_-]=2\hbar J_z$ gives
\begin{align*}
J_+v_{j-r-1}=J_-J_+v_{j-r}+2\hbar J_zv_{j-r}.
\end{align*}
Substituting the induction hypothesis and $J_zv_{j-r}=\hbar(j-r)v_{j-r}$ gives
\begin{align*}
J_+v_{j-r-1}=\hbar^2 r(2j-r+1)v_{j-r}+2\hbar^2(j-r)v_{j-r}.
\end{align*}
Therefore
\begin{align*}
J_+v_{j-r-1}=\hbar^2(r+1)(2j-r)v_{j-r},
\end{align*}
which is the formula with $r$ replaced by $r+1$. Hence $J_+W\subseteq W$.
Since
\begin{align*}
J_x=\frac{1}{2}(J_++J_-)
\end{align*}
and
\begin{align*}
J_y=\frac{1}{2i}(J_+-J_-),
\end{align*}
the subspace $W$ is invariant under $J_x,J_y,J_z$. Irreducibility of $V$ and $W\neq \{0\}$ imply $W=V$.
[/step]
[step:Use positivity of norms to identify the lowest weight]
Define the quadratic Casimir operator $J^2\in\operatorname{End}_{\mathbb{C}}(V)$ by
\begin{align*}
J^2:=J_x^2+J_y^2+J_z^2.
\end{align*}
We first compute the operator identity
\begin{align*}
J_+J_-=J^2-J_z^2+\hbar J_z.
\end{align*}
Indeed,
\begin{align*}
J_+J_-=(J_x+iJ_y)(J_x-iJ_y)=J_x^2+J_y^2+i[J_y,J_x].
\end{align*}
Since $[J_y,J_x]=-i\hbar J_z$, this becomes
\begin{align*}
J_+J_-=J_x^2+J_y^2+\hbar J_z=J^2-J_z^2+\hbar J_z.
\end{align*}
We next verify that $J^2$ commutes with the ladder operators and with $J_z$. First, using $[AB,C]=A[B,C]+[A,C]B$ and the commutation relations,
\begin{align*}
[J_x^2,J_z]=J_x[J_x,J_z]+[J_x,J_z]J_x=-i\hbar(J_xJ_y+J_yJ_x).
\end{align*}
Similarly,
\begin{align*}
[J_y^2,J_z]=J_y[J_y,J_z]+[J_y,J_z]J_y=i\hbar(J_yJ_x+J_xJ_y).
\end{align*}
Also $[J_z^2,J_z]=0$, so adding the three displayed identities gives
\begin{align*}
[J^2,J_z]=0.
\end{align*}
For $J_+$, we use $[J_z,J_+]=\hbar J_+$, $[J_-,J_+]=-2\hbar J_z$, and the identity $J^2=J_+J_-+J_z^2-\hbar J_z$, which is equivalent to the already proved formula for $J_+J_-$. Then
\begin{align*}
[J_+J_-,J_+]=J_+[J_-,J_+]=-2\hbar J_+J_z.
\end{align*}
Also
\begin{align*}
[J_z^2,J_+]=J_z[J_z,J_+]+[J_z,J_+]J_z=\hbar(J_zJ_++J_+J_z)
\end{align*}
and
\begin{align*}
[-\hbar J_z,J_+]=-\hbar^2J_+.
\end{align*}
Since $J_zJ_+=J_+J_z+\hbar J_+$, the sum is
\begin{align*}
[J^2,J_+]=-2\hbar J_+J_z+\hbar(J_+J_z+\hbar J_++J_+J_z)-\hbar^2J_+=0.
\end{align*}
Taking adjoints, using $(J^2)^*=J^2$ and $J_+^*=J_-$, gives $[J^2,J_-]=0$. Therefore
\begin{align*}
J^2J_+=J_+J^2,
\end{align*}
\begin{align*}
J^2J_-=J_-J^2,
\end{align*}
and
\begin{align*}
J^2J_z=J_zJ^2.
\end{align*}
Since $J_+v_j=0$ and $J_zv_j=\hbar jv_j$,
\begin{align*}
J^2v_j=(J_-J_++J_z^2+\hbar J_z)v_j=\hbar^2j(j+1)v_j.
\end{align*}
Because $J^2$ commutes with $J_-$, every nonzero $v_m$ in the string satisfies
\begin{align*}
J^2v_m=\hbar^2j(j+1)v_m.
\end{align*}
Let $m=j-r$ with $0\leq r\leq N$. Using $J_+^*=J_-$ and the identity for $J_+J_-$,
\begin{align*}
\|J_-v_m\|^2=(J_-v_m,J_-v_m)=(J_+J_-v_m,v_m).
\end{align*}
Substituting the eigenvalue equations for $J^2$ and $J_z$ gives
\begin{align*}
\|J_-v_m\|^2=\hbar^2\bigl(j(j+1)-m(m-1)\bigr)\|v_m\|^2.
\end{align*}
At the lowest weight $m=j-N$, we have $J_-v_m=0$ and $v_m\neq 0$, so
\begin{align*}
j(j+1)-m(m-1)=0.
\end{align*}
Thus
\begin{align*}
(j+m)(j-m+1)=0.
\end{align*}
Since $m=j-N$, the second factor is $N+1$, which cannot vanish because $N\geq 0$. Hence the first factor must vanish:
\begin{align*}
m=-j.
\end{align*}
Therefore $j-N=-j$, so $N=2j$. Hence $2j\in\mathbb{Z}_{\geq 0}$.
[/step]
[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]