Absolute beginner, else if

Hey Guys I am an absolute beginner just started unity,
and I learned about if and else if, check this code

// Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            Debug.Log("UpArrow is Pressed");
        }
        else if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            Debug.Log("DownArrow is Pressed.");
        }
        else if (Input.GetKeyDown(KeyCode.Return))
        {
            Debug.Log("Enter is Pressed.");
        }

    }
}

So if I understand correctly, when I press the UpArrow and DownArrow at the same time, then just one of the messages should appear, but thats not the case when I tested it, if I press both of them (or even all of them, doesn’t matter) then both messages appears in the console, what am i doing wrong?
is it about Update()? idk
Thanks.

Input.GetKeyDown is only true for one frame in which is the key is pressed, and Update is called every frame. Your code is logging both keys because you’re pressing them a split second apart, in different frames. Use Input.GetKey instead to see something more like what you expect (but will print output repeatedly while key is pressed).