Bom dia,
Tente fazer da seguinte forma, utilizar o .next() ao invés de .nextLine(), exemplo:
System.out.print("Entre com o primeiro número: ");
num1 = entrada.nextFloat();
System.out.print("Entre com a operação [+,-,*,/]: ");
//opcao = entrada.nextLine().charAt(0);
opcao = entrada.next().charAt(0);
System.out.print("Entre com o segundo número: ");
num2 = entrada.nextFloat();
Não fiz a depuração do código, mas acredito que ele esteja se perdendo nessa parte.
Nos avise se deu certo.