Primeiramente, seu script pode ser simplificado para uma linha única:
find "$1" -type f -name '*.java' -print -exec sed -i -e '...' '{}' \;
Segundo, este é um problema que dificilmente pode ser resolvido usando expressões regulares, uma vez que sua gramática não suporta a sensibilidade ao contexto. Isso significa que você não pode saber se um //
está dentro de uma string literal ou não.
Ignorando esse fato, você pode tentar com:
s|//[^*"][^"]*$||
Isso pressupõe que você não use aspas duplas como parte de seus comentários.