O operador && existe, mas teu código tem vários outros erros. Começando:
Public deve ser public
Qual o tipo de retorno do método aumentaSalario? Você deve especificar algum.
Pessoa é uma instância mesmo? Se for, lembre-se que você deve nomear os objetos com letra minúscula. Se não for, você não pode utilizar uma classe desse modo. Você criou um atributo salario em pessoa? Colocou um método para acessá-lo?
No return, o que você quer fazer afinal de contas? Retornar um salário? Atribuir um salário a um objeto do tipo Pessoa?
Teu código tem muito erro, sugiro dar uma lida em um livro introdutório sobre Java.
Felagund
cara esse metodo não tem retorno não? o && não esta errado, seu código ta meio estranho utilize a tag [ code] aqui do forum pra ficar mais organizado.
D
danipaz
sim sim, digo sei dos erros, fiz na corrida mesmo , minha duvida é só uma
se tem outro operador para fazer essa operacao
D
danipaz
porque quando fui fazer o grauA na faculdade fiz tudo certo mas o compilador dava erro por causa do operador &&
D
danipaz
mais uma duvida se colocar só um &
da erro?
Loiane
Ei, segue um exemplo funcionando.
Agora falta modificar para fazer o que você realmente quer fazer!
publicclassPessoa{privateintatributo;privatedoublesalario;publicdoubleaumentaSalario(doublesal){if(atributo>25&&atributo<40){returnsalario=salario+sal;}//precisa retornar alguma coisa caso não caia no if acima!returnsalario;}publicstaticvoidmain(String[]args){Pessoapessoa=newPessoa();pessoa.setSalario(1000);pessoa.setAtributo(30);doublenovoSalario=pessoa.aumentaSalario(200);System.out.println("Novo salário: "+novoSalario);}publicintgetAtributo(){returnatributo;}publicvoidsetAtributo(intatributo){this.atributo=atributo;}publicdoublegetSalario(){returnsalario;}publicvoidsetSalario(doublesalario){this.salario=salario;}}
Loiane
danipaz:
mais uma duvida se colocar só um &
da erro?
A diferença entre & e && é que o operador && atua como curto circuito, ou seja, dependendo do resultado, não avalia a outra parte da operação. Por exemplo: if((variavel > 10) && (variavel / 2 == 0)). Se variavel for menor que 10, nem vai avaliar a segunda parte do if.
O operador & é bit-wse, e opera com a lógica binária no nível de bits. Onde 0 equivale a falso e 1 a verdadeiro, ou seja, comprar bit a bit.
D
danipaz
certo e teria como fazer mais de 2 testes por exemplo
if(portas = 2 && Pessoa > 18 && preco > 20.000)
no caso calculando o seguro de um carro
daria certo assim?
Loiane
danipaz:
certo e teria como fazer mais de 2 testes por exemplo
if(portas = 2 && Pessoa > 18 && preco > 20.000)
no caso calculando o seguro de um carro
daria certo assim?
O correto seria:
if(portas==2&&pessoa>18&&preco>20.000)
Sim, você pode utilizar quantas comparações que você quiser em um if. Se quiser, também pode utilizar parênteses para colocar precedência e agrupamentos nas comparações.
D
danipaz
Obrigado
encerra por aqui as minhas duvidas
muito obrigado mesmo