apresentação e duvida

Bom pessoal, meu nome é Renato e acabei de me cadastrar aqui no GUJ.
bem, estou começando a estudar Java e vou precisar muito da ajuda de todos vocês.
Já estudei programação estruturada (Pascal e depois C) mais só o básico msm. Agora pretendo estudar
não so o básico de java.
bom to usando a apostila da CAELUM FJ11 e tbm baixando em pdf Java como programar Deitel
quem quiser me dar dicas de estudo ficarei feliz! :lol:
sequinte surgiu a seguinte duvida…
no código que segue “Um exemplo seria verificar se ele tem menos de 18 anos e se ele não é amigo do dono:”
aho que o certo seria no final aparecer “Não pode entrar” so q aki aparece “Pode entrar”!
[color=green]~Detalhe o código ta assim igualzinho na apostila da CAELUM.[/color]

[code]package If;

// Renatosantos
public class main {

public static void main(String[] args) {

    int idade = 15;
    boolean amigoDoDono = true;
    
    if (idade < 18 && !amigoDoDono) {
    System.out.println("Não pode entrar.");
    }
    else {
    System.out.println("Pode entrar.");
    }
}

}
[/code]
Sequinte se eu tirar o “!” negando amigoDoDono ai aparece “Não pode entrar”.
Sei q essa duvida pode ser muiiito simples pra vcs que ja estão acostumados com a linguagem mais pra mim é uma duvida! :?

Se você tem 15 anos, mas se você for amigo do dono (que é o que você escreveu no programa), então pode entrar, ou seja, seu programa está certo.

Se você tiver 15 anos mas não for amigo do dono, não pode entrar. (Acho que era isso que você estava esperando). Mas nesse caso você teria de ter escrito no programa:

        boolean amigoDoDono = false;  

Preste atenção na lógica.

Po cara não tinha entendido a logica agora entendi!
:oops:

a instrução ! (not) serve para negar o valor de uma expressão
você define a variável amigoDoDono como true
então a negação de true é false que é o que você está fazendo na expressão
dentro do if e como essa expressão retorna false ele cai no else do if

Po tenho que estudar mais logica!
eu entendi o boolean test = true; boolean falseTest = !test; //falseTest == false boolean trueTest = !falseTest; //trueTest == true
Brigadão pelas dicas, pelo visto o Grupo de Usuários Java é bom msm!

[quote=Renatosantos]…e tbm baixando em pdf Java como programar Deitel
quem quiser me dar dicas de estudo ficarei feliz!
[/quote]
Compre o livro :wink:

Quanto ao operador ‘!’, ele é um operador de negação, ou seja, ele inverte o valor de um booleano.
Exemplo:

boolean test = true; boolean falseTest = !test; //falseTest == false boolean trueTest = !falseTest; //trueTest == true