Input, if, else problems

The following program assembles successfully, but fails completely when downloaded to an Arduino Mega board. It runs one loop upon D-L, then halts. Reset will not revive it. The INPUT data is ignored. Anyone? Thanks. RLienau.

void setup() {
pinMode (3, INPUT);
pinMode (11, OUTPUT);
pinMode (4, OUTPUT);
}

void loop() {

if (digitalRead (3 == HIGH))
{digitalWrite(4, HIGH);}

else if (digitalRead (3 == LOW))

{
digitalWrite (11, HIGH);
digitalWrite (4, LOW);
}}

void setup()
{
  pinMode (3, INPUT);
  pinMode (11, OUTPUT);
  pinMode (4, OUTPUT);
}

void loop()
{
  if (digitalRead(3) == HIGH)
  {
    digitalWrite(4, HIGH);
  }

  else 
  {
    digitalWrite (11, HIGH);
    digitalWrite (4, LOW);
  }
}

“ if (digitalRead (3 == HIGH))”
This is wrongly formatted.

This is correct:
if (digitalRead (3) == HIGH)

“ else if (digitalRead (3 == LOW))”
This is not needed.

All you need is:
else