What is wrong with this code?

I just started using Arduino, and was wondering what is wrong with this code. I am sure it has to do something with the boolean and const byte buttons line, but I can't figure it out. BTW I am a total newb at this so dont make fun of me XD

#include <Esplora.h>

boolean buttonStates[1];

const byte buttons[] = {
SWITCH_DOWN,
};

void setup()
{
Serial.begin(9600);
}

void loop()
{
int fahrenheit = Esplora.readTemperature(DEGREES_F);
if (SWITCH_DOWN == PRESSED) {
Serial.print("It is ");
Serial.print(fahrenheit);
Serial.println(" degrees.");
delay(1000);
}
}

boolean buttonStates[1];

What benefit is there to a one element array? How is that more useful than a scalar variable?

const byte buttons[] = {
  SWITCH_DOWN,
};

What is this supposed to be doing? The name of the variable does NOT suggest what it is supposed to contain.

  if (SWITCH_DOWN == PRESSED) {

It is VERY unlikely that these two constants have the same value. Reading a pin somewhere is generally a good idea.

So how do I fix it then? What can I do instead of the array? Also, how do I fix the if command? Thanks!

What can I do instead of the array?

Why do you need anything? You never refer to the array in the code.

Also, how do I fix the if command?

That all depends on what you think you are doing? What have you done about assigning buttons a meaningful name?

Try this:

#include <Esplora.h>


boolean buttonState;

const byte button = 2;

void setup()
{
  Serial.begin(9600);
  pinMode(button, INPUT);
}

void loop()
{
  int fahrenheit = Esplora.readTemperature(DEGREES_F);
  buttonState =  digitalRead(button);
  if (buttonState == PRESSED) {
    Serial.print("It is ");
    Serial.print(fahrenheit);
    Serial.println(" degrees.");
    delay(1000);
  }
}