Variables check with If problem

Hi guys, i have a problem with my HP script.

my if statement doesn’t work properly.
When i start the game, in the debug screen, my code prints all the conditions that i declared, and my question is " why my all the if statements are true even if the condition of one of them isn’t true?

the two functions below the update needs in other scripts to add or remove HP to my player.

Thank u, here’s the code!

using UnityEngine.SceneManagement;

public class HPSystem : MonoBehaviour
{

    //Variabli per HP massimi del giocatori e quelli correnti
    public int maxHP = 3;
    public int check = 3;
    public int curHP;
    public bool destroy;

    // Use this for initialization
    void Start()
    {

        curHP = check;

    }

    // Update is called once per frame
    void Update()
    {

        if (curHP >= check)
        {
           // curHP = check;
            print("hpfull");
        }

        if (curHP <= check)
        {
            print("hpnotfull");
        }

        if (curHP == 0)
        {

           //    Death();
        }
    }

    //Se gli Hp sono uguali a 0, ricarica la scena
    void Death()
    {
        SceneManager.LoadScene("Main menu", LoadSceneMode.Single);


    }

    //Funzione che viene richiamata nello script dei nemici, che cambiano il valore di dmg, variabile che stabilisce quanti danni riceve il giocatore
    public void Damage(int dmg)
    {

        curHP -= dmg;
        print("1 dmg taken");

    }

    public void Restored(int rel)
    {

        if (curHP <= check)
        {
            curHP += rel;
            print("1 HP restored");
            destroy = true;
        }

        else if (curHP >= check)
        {
            print("HP already full");
            destroy = false;
        }
    }
}

Your second if statement probably shouldn’t have an equal on it. Here is a mockup of the code I just tried and everthing seemed to work ok on my end.

public class HPSystem : MonoBehaviour
{
    public int maxHP = 3;
    public int curHP;
    public bool destroy;

    // Use this for initialization
    void Start()
    {
        curHP = maxHP;
    }

    // Update is called once per frame
    void Update()
    {

        if (curHP >= maxHP)
        {
            Debug.Log("Health full!");
        }
        else if (curHP < maxHP && curHP > 0)
        {
            Debug.Log("Health not full.");
        }
        else // means 0 or below. That's all that's left.
        {
            Death();
        }
    }

    void Death()
    {
        Debug.Log("Dead!");
        this.enabled = false;
    }

}

thank u so much! it works