Erro:"operator && cannot be applied to boolean,

E ai turma !!!
Belezera.

Eu estava usando um exemplo de uma apostila, quando terminei de escrever o cod. e fui compilar o programa deu este erro.

Por isso segue o cod. para analise:

public class Carro{
	String cor,modelo;
	double velocidadeAtual,velocidadeMaxima;
	
	public void liga(){
		System.out.println("O carro esta ligado");
	}
	
	public void acelera(double quantidade){
		double velocidadeNova = this.velocidadeAtual + quantidade;
		this.velocidadeAtual = velocidadeNova;
	}
	
	public int pegaMarcha(){
		if (this.velocidadeAtual < 0){
			return -1;
		}
		if (this.velocidadeAtual >= 0 && this.velocidadeAtual = 40){
			return 1;
		}
		if (this.velocidadeAtual >= 40 && this.velocidadeAtual <80){
			return 3;
		}
	}
	
}

Se possivel alguém me socorra !

Valeu galera!

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Matheus [/color][/size] :joia:

Este trecho:

if (this.velocidadeAtual >= 0 && this.velocidadeAtual = 40){
    return 1;
}

Deve ser assim:

if (this.velocidadeAtual >= 0 && this.velocidadeAtual == 40){
    return 1;
}

Quando você compara valores não se usa “=” mas sim “==”, pois “=” serve apenas para atribuição e não para comparação.

Fala ae cara beleza ,

esse erro é bem simples você esta usando um operador de atribuição
( = ) em vez de um de compração ( == ) numa instrução de condição boolean!!!

if (this.velocidadeAtual >= 0 && this.velocidadeAtual = 40){
return 1;

e so mudar para isso

if (this.velocidadeAtual >= 0 && this.velocidadeAtual == 40){
return 1;

Há este codigo contem mais um erro o metodo int pegaMarcha() tem que ter um return no final dele !!!