Iniciante em programação

Olá galerinha, estou começando o curso de CC na faculdade e to precisando de uma ajudinha aqui no meu código se alguém puder ajudar. Estou querendo criar uma calculadora usando while e switch, a unica coisa que ainda não consegui foi colocar para que o usuário quando apertar o 0 na primeira opção saia diretamente para a mensagem que coloquei depois do while, vou colocar meu código, desculpe se tiver muito erro to no primeiro período e ainda tenho muito a aprender.

import java.util.Scanner;
public class Ex1_Calculadora3{

public static void main(String[]args){
  
  Scanner leia = new Scanner(System.in);
  double A,
         B,
         Result;
  int    Opcao;
  char    Opcao2 = 'S';
  System.out.println("------------------------------------------------");
  System.out.println("CALCULADORA 3.0");
  System.out.println("------------------------------------------------\n");
  
  while (Opcao2 == 'S'){
  System.out.print(" ESCOLHA UMA OPCAO:\n\n"
                  +"\t 0 - Sair do programa\n"
                  +"\t 1 - Adicao\n"
                  +"\t 2 - Subtracao\n"
                  +"\t 3 - Multiplicacao\n"
                  +"\t 4 - Divisao Inteira\n"
                  +"\t 5 - Divisao Real\n"
                  +"\t 6 - Resto da Divisao\n");
                  
   System.out.println("\nOpcao:\n");      
   Opcao = leia.nextInt();
   System.out.println("------------------------------------------------");
          
            System.out.print("Valor de A: \n");
            A = leia.nextInt();
            System.out.print("------------------------------------------------\n");
            
            System.out.print("Valor de B: \n");
            B = leia.nextInt();
            System.out.print("------------------------------------------------\n");
                       
      switch(Opcao){
      
        case 0 : break; // Aqui eu coloquei para dar um break mas na hora que copilo ainda pede pra pessoa colocar valor A e valor B
        case 1 : Result = A + B;
        System.out.println("Resultado da adicao= "+Result);
        break;
        case 2 : Result = A - B;
        System.out.println("Resultado da subtracao= "+Result);
        break; 
        case 3 : Result = A * B;
        System.out.println("Resultado da multiplicacao= "+Result);
        break;
        case 4 : Result = A / B;
        System.out.println("Resultado da divisao inteira= "+Result);
        break;
        case 5 : Result = (double)A / (double)B;
        System.out.println("Resultado da divisao real= "+Result);
        break;
        case 6 : Result = A % B;
        System.out.println("Resto da divisao= "+Result);
        break; 
       }//FIM SWITCH
        System.out.println("------------------------------------------------");
        System.out.println("Deseja tentar outra conta? [ S / N ]");
        Opcao2 = leia.nextLine(); // Nao to conseguindo fazer com que o usuario insira somente S ou N
        System.out.println("------------------------------------------------");
      }//FIM WHILE
      System.out.print("Obrigado por usar este programa"); // Gostaria de ir para essa mensagem caso selecione 0 no primeiro menu.
     }//fim main
   } //Fim class

meu professor ensinou algo sobre
leia.next().charAt(0);
Character.toUpperCase( - );

ai caso a resposta for diferente do que tem que ser S ou N vai chegar uma mensagem escrevendo para tentar novamente… alguem me ensina porfavor

eu ainda deixei comentado o que eu gostaria de aprender olha ai no codigo direitinho quem puder me ajudar…

Você poderia fazer uma validação aqui, enquanto o usuário não inserir “S” ou “N”, fica apresentando essa mensagem. Só faz alguma coisa quando informado um dos dois caracteres que você considera.
Outro caminho seria, qualquer coisa inserida que seja diferente de “S” faz sair do programa.

O nome das variáveis normalmente seguem um padrão chamado camel case a partir da segunda palavra.
Exemplo:
char opcaoDois = 'S';

Outra sugestão seria atribuir nome sugestivos nas variáveis, elas precisam passar a ideia do que são e pra que servem.
Exemplo:
double numeroEntradaA;
double numeroEntradaB;

Você pode fazer assim:

import java.util.Scanner;

public class Ex1_Calculadora3 {

    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        boolean tentarNovamente = true;
        System.out.println("------------------------------------------------");
        System.out.println("CALCULADORA 3.0");
        System.out.println("------------------------------------------------\n");

        LOOP_EXTERNO: while (tentarNovamente) {
            System.out.print(" ESCOLHA UMA OPCAO:\n\n"
                    + "\t 0 - Sair do programa\n"
                    + "\t 1 - Adicao\n"
                    + "\t 2 - Subtracao\n"
                    + "\t 3 - Multiplicacao\n"
                    + "\t 4 - Divisao Inteira\n"
                    + "\t 5 - Divisao Real\n"
                    + "\t 6 - Resto da Divisao\n");

            System.out.println("\nOpcao:\n");
            int opcao = entrada.nextInt();
            System.out.println("------------------------------------------------");

            System.out.print("Valor de A: \n");
            int a = entrada.nextInt();
            System.out.print("------------------------------------------------\n");

            System.out.print("Valor de B: \n");
            int b = entrada.nextInt();
            System.out.print("------------------------------------------------\n");
            double result = 0;
            switch (opcao) {
                case 0:
                    break LOOP_EXTERNO;
                case 1:
                    result = a + b;
                    System.out.println("Resultado da adicao= " + result);
                    break;
                case 2:
                    result = a - b;
                    System.out.println("Resultado da subtracao= " + result);
                    break;
                case 3:
                    result = a * b;
                    System.out.println("Resultado da multiplicacao= " + result);
                    break;
                case 4:
                    result = a / b;
                    System.out.println("Resultado da divisao inteira= " + result);
                    break;
                case 5:
                    result = (double) a / (double) b;
                    System.out.println("Resultado da divisao real= " + result);
                    break;
                case 6:
                    result = a % b;
                    System.out.println("Resto da divisao= " + result);
                    break;
            }
            System.out.println("------------------------------------------------");
            System.out.println("Deseja tentar outra conta? [ S / N ]");
            tentarNovamente = entrada.next().toUpperCase().charAt(0) == 'S';
            System.out.println("------------------------------------------------");
        }
        System.out.print("Obrigado por usar este programa");
    }
}