Q:

Pergunta e resposta com if e else em Java

Não importa o que respondo, tanto "Sim" como "sim" só mostra o ELSE. Onde estou errando? 
package saudacao;
import java.util.*;
public class Saudacao {
    public static void main(String[] args) {
        System.out.println("Ola, bom dia, voce esta bem hoje?");
        Scanner sdc_recebe = new Scanner(System.in);
        String sdc_armazena = sdc_recebe.nextLine();
        if (sdc_armazena == "Sim") {
            System.out.println("Que bom!!!");
        } else {
            System.out.println("Que pena!!!");
        }
    }
}

A:

Use a função String.html#equals, o operador == é usado para comparar referências.
Veja a diferença:
String a = new String("foo");
String b = new String("foo");

System.out.println(a == b);      // False
System.out.println(a.equals(b)); // True 

O teu código pode ficar assim:
import java.util.*;

class Saudacao 
{
    public static void main(String[] args) 
    {
        System.out.println("Ola, bom dia, voce esta bem hoje?");

        Scanner sdc_recebe = new Scanner(System.in);
        String sdc_armazena = sdc_recebe.nextLine();

        if (sdc_armazena.equals("Sim")) 
        {
           System.out.println("Que bom!!!");
        } 
        else 
        {
           System.out.println("Que pena!!!");
        }
    }
}

Ver DEMO
Para comparar sem diferenciar letras minúsculas e maiúsculas, use a função String.html#equalsIgnoreCase:
if (sdc_armazena.equalsIgnoreCase("Sim")) // Sim, sIM, SIM, sim...
{
   System.out.println("Que bom!!!");
} 
else 
{
   System.out.println("Que pena!!!");
} 

Para comparar inteiros, String.html#equals também pode ser usado:
Integer I = 10;

if (I.equals(10))
{
   System.out.println("Igual!");
}
else
{
   System.out.println("Valores diferentes!");
}

A:

Poderia ser assim:
System.out.println("Ola, bom dia, voce esta bem hoje?");
Scanner sdc_recebe = new Scanner(System.in);
String sdc_armazena = sdc_recebe.nextLine();
if ("sim".equals(sdc_armazena.toLowerCase()) ||
    "aham".equals(sdc_armazena.toLowerCase())) {
     System.out.println("Que bom!!!");
} else {
     System.out.println("Que pena!!!");
}

Se não escrever nada, também não dá erro só vai direto pro else.

