Ajuda urgente

um exemplo preciso fazer 2 testes com a pessoa

Public aumentaSalario(double sal)
{
if( Pessoa > 25 && Pessoa < 40)
return salario = salario+sal;
}

da erro e diz que o operador && nao existe oq posso usar no lugar dele?

o teste é a pessoa tem que ter mais de 25 anos e menos que 40 anos

Isso é urgente?

O operador && existe, mas teu código tem vários outros erros. Começando:

  1. Public deve ser public
  2. Qual o tipo de retorno do método aumentaSalario? Você deve especificar algum.
  3. 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?
  4. 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.

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.

sim sim, digo sei dos erros, fiz na corrida mesmo , minha duvida é só uma

se tem outro operador para fazer essa operacao

porque quando fui fazer o grauA na faculdade fiz tudo certo mas o compilador dava erro por causa do operador &&

mais uma duvida se colocar só um &
da erro?

Ei, segue um exemplo funcionando.
Agora falta modificar para fazer o que você realmente quer fazer!

[code]public class Pessoa {

private int atributo;
private double salario;

public double aumentaSalario(double sal)
{
	if( atributo > 25 && atributo < 40){
		return salario = salario+sal;
	}	
	//precisa retornar alguma coisa caso não caia no if acima!
	return salario;
} 

public static void main(String[] args){
	Pessoa pessoa = new Pessoa();
	pessoa.setSalario(1000);
	pessoa.setAtributo(30);
	
	double novoSalario = pessoa.aumentaSalario(200);
	System.out.println("Novo salário: " + novoSalario);
}

public int getAtributo() {
	return atributo;
}

public void setAtributo(int atributo) {
	this.atributo = atributo;
}

public double getSalario() {
	return salario;
}

public void setSalario(double salario) {
	this.salario = salario;
}

}[/code]

[quote=danipaz]mais uma duvida se colocar só um &
da erro?[/quote]

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.

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?

[quote=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?[/quote]

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.

Obrigado
encerra por aqui as minhas duvidas
muito obrigado mesmo