Galera estou com esses dois códigos e não compreendi o que acontece para que as saidas sejam diferentes do esperado!!
Ajuda aí?
public class OlaMundo {
public static void main(String[] args) {
String valor1;
String valor2;
String valor3;
String valor4;
valor1 = new String("1234");
valor2 = new String("1234");
System.out.println(valor1);
System.out.println(valor2.charAt(2));
if(valor1 == valor2)
System.out.print(valor1 + " = " + valor2 + " : ");
else
System.out.print(valor1 + " != " + valor2 + " : ");
valor3 = valor1;
valor4 = valor2;
if(valor3 == valor4)
System.out.print(valor3 + " = " + valor4 + " : ");
else
System.out.print(valor3 + " != " + valor4 + " : ");
}
}
Pq a saida é : 1234 != 1234 : 1234 != 1234 :?
Se a condição é verdadeira!
public class Diferenca {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String sexo;
sexo = input.nextLine();
if(sexo == "homem"){
System.out.println("Seja bem vindo!");
}else{
System.out.println("Seja bem vinda!");
}
}
}
pq pula diretamente para o else se a condição é verdadeira?
ex: sexo = “homem” <- usuário digita
mas o resultado esta saindo: Seja bem vinda!
e não -> Seja bem vindo!