The formal term for a British person is a "Briton".
England is a "country" of the United Kingdom (alongside Scotland, Wales, and Northern Ireland), so it's an error to refer to the entire U.K. as "England" or to a non-English British citizen as "English". Referring to a Scotsman as "English" would be kind of like referring to someone from Nevada as "Californian". It is a mistake a lot of people outside of the U.K. make, unfortunately.